Skip to content

A library for command line parsing, based on template metaprogramming

License

Notifications You must be signed in to change notification settings

erythronelumbo/metaflags

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Metaflags

A header-only, C++14 library for parsing command-line arguments, which is based on template metaprogramming and magic statics.

Requirements

  • A C++14-compatible compiler
  • Mulinum

Building and installation

This library is header-only, so no building is necessary for installing it. However, the examples, unit tests and documentation need to be built, using CMake.

Run mkdir build && cd build && cmake [options] .. && make (or your equivalent) for building.

Building the examples

Use the -DCYNODELIC_METAFLAGS_BUILD_EXAMPLES=1 option for building the examples.

Building and running the tests

Use the -DCYNODELIC_METAFLAGS_BUILD_TEST=1 option for building the unit tests.

Run the tests using make test.

Building the documentation

The documentation is generated with Doxygen, if avaliable.

Use the -DCYNODELIC_METAFLAGS_BUILD_DOC=1 for allowing its generation.

Linking with Mulinum's documentation

To link with Mulinum's documentation, set the path to it using the -DCYNODELIC_METAFLAGS_MULINUM_DOC_DIR=/path/to/your/mulinum/doc option.

Installing the library

The installation path is set using the -DCMAKE_INSTALL_PREFIX=path/to/your/libraries option.

Run make install to install the library, as well as its documentation.

The documentation will be installed in path/to/your/libraries/doc/cynodelic/metaflags.

To-do

  • Generate a binary search tree (preferably a red-black tree) for the argument lookup
  • Facilities for defining mutually exclusive groups of arguments

License

This library is licensed under the Boost Software License.

About

A library for command line parsing, based on template metaprogramming

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published