arg_router  1.4.0
C++ command line argument parsing and routing
Configuration

There are a few core parts of arg_router that are configurable as compile defines, most are accessible globally (in a more C++ friendly way) in the config namespace. All are available as CMake cache variables, minus the "AR_" prefix.

AR_MAX_CTS_SIZE when using C++17 or if AR_DISABLE_CPP20_STRINGS=true is the maximum size an argument to S_ can be, it defaults to 128. Increasing the size won't increase your program size, but will increase the build time.

AR_LONG_PREFIX is the character string that defines the prefix of long-form token labels e.g. "--help". It defaults to two hyphens. If redefining, this must have the same or more characters than AR_SHORT_PREFIX.

AR_SHORT_PREFIX is the character string that defines the prefix of short-form token labels e.g. "-h". It defaults to one hyphen. It must have one character in it.

AR_ALLOCATOR sets the allocator for all allocating types in arg_router (e.g. std::vector, std::string, etc.). It defaults to std::allocator, i.e. heap allocation.

AR_UTF8_TRAILING_WINDOW_SIZE sets the Trailing window size for the grapheme cluster and line break algorithms, defaults to 16. Each entry in the trailing window is a break property of a grapheme cluster ("user-perceived character"), not a byte.

AR_DISABLE_CPP20_STRINGS is a boolean value that forcibly disables C++20 compile-time string support when set to true.