summaryrefslogtreecommitdiff
path: root/cli/header.cxx
AgeCommit message (Collapse)AuthorFilesLines
2020-02-13Drop copyright notice from source codeKaren Arutyunov1-1/+0
2019-07-27Add support for option merging (--generate-merge)Boris Kolpackov1-10/+24
2019-01-16Update copyright yearKaren Arutyunov1-1/+1
2018-05-21Update copyright yearKaren Arutyunov1-1/+1
2018-03-24Return bool from parse() indicating whether anything has been parsedBoris Kolpackov1-4/+11
2017-01-03Update copyright yearBoris Kolpackov1-1/+1
2016-11-22Add support for build2 for tests and examplesKaren Arutyunov1-5/+5
2016-11-15Start switch to build2Boris Kolpackov1-1/+1
2016-01-11Add support for --output-{prefix,suffix} optionsBoris Kolpackov1-1/+4
2015-12-09Add --std option with c++{98,11,14} values; use function-static in C++11Boris Kolpackov1-1/+1
This way we can use option descriptions during static initialization (e.g., of an Apache module).
2015-11-24Implement support for documentation inside classesBoris Kolpackov1-8/+16
2015-11-23Change print_short_usage() to print_usage()Boris Kolpackov1-16/+10
2015-11-19Implement entire page usage generationBoris Kolpackov1-0/+31
2015-09-02Add --generate-parse optionBoris Kolpackov1-8/+14
When specified, CLI will generate parse() functions instead of parsing constructors. This is primarily useful for being able to parse into an already initialized options class instance, for example, to implement merging/overriding.
2015-09-02Add --short-usage optionBoris Kolpackov1-5/+14
When combined with --long-usage, it makes CLI generate both short and long usage printing code.
2012-06-21Generate "direct access" modifier in addition to "setter"Boris Kolpackov1-0/+6
2012-06-21Make default constructor public for non-abstract classesBoris Kolpackov1-3/+7
2012-06-15Add support for specifying output stream type (--stream-type)Boris Kolpackov1-1/+1
2012-05-10Implement option class inheritanceBoris Kolpackov1-46/+104
For now multiple, non-virtual inheritance is supported. An option class can now also be declared abstract using the class c = 0 {...}; syntax. New option, --exclude-base, controls whether base class information is present in usage and documentation.
2012-05-10Add support for options file inclusionBoris Kolpackov1-2/+26
New include-path prefixes, c++: and cli:, are now recognized (e.g., include <cli:foo>;). Without a prefix, the include declarations is considered to be c++-include unless the path ends with the .cli extension. The cli-included files are loaded and parsed. Currently, only inclusion relative to the current file is supported. Duplicate inclusions are detected and ignored based on the absolute filesystem path. If a file cli-includes another file, then the runtime code is assumed to come from the included file and is not generated.
2011-01-04Copyright updateBoris Kolpackov1-1/+1
2010-11-19Add option description that can be examined at runtime.Boris Kolpackov1-1/+12
New option: --generate-description.
2010-09-14Implement the --cli-namespace optionBoris Kolpackov1-3/+3
2010-06-02Implement generation of specifier functions (--generate-specifier)Boris Kolpackov1-0/+17
These functions determine whether the option was specified on the command line. New test: specifier.
2010-01-01Update copyrightBoris Kolpackov1-1/+1
2009-12-10Scanner-based parsing with support for element erasingBoris Kolpackov1-4/+13
Also implement argv_file_scanner which provides support for reading command line arguments from the argv array as well as files specified with command line options. New examples: file. New tests: ctor, erase, file.
2009-11-28Use a scanner interface instead of argc/argvBoris Kolpackov1-4/+2
This will allow supporting other sources of options, for example, an option file.
2009-11-22Implement option value modifiers generationBoris Kolpackov1-1/+6
2009-11-08Implement usage generationBoris Kolpackov1-1/+11
Also migrate the CLI compiler usage handling to the auto-generated version.
2009-10-18Use consistent const placementBoris Kolpackov1-1/+1
2009-09-27Generate parsing constructors and parsing codeBoris Kolpackov1-3/+61
Also generate some runtime support code such exceptions, value parsers, etc.
2009-09-20Generate classes, accessors and data membersBoris Kolpackov1-0/+76
2009-09-20Add header, inline, and source generatorsBoris Kolpackov1-0/+36
All they currently do is output the namespace structure plus the included C++ files for header.