arg_router  1.4.0
C++ command line argument parsing and routing
compile_time_string.hpp File Reference
#include "arg_router/config.hpp"
#include "arg_router/math.hpp"
#include <array>
#include "arg_router/traits.hpp"
#include <boost/mp11/algorithm.hpp>
#include <boost/preprocessor/repetition/enum.hpp>
Include dependency graph for compile_time_string.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  arg_router::utility::compile_time_string< Cs >
 
class  arg_router::utility::create_sequence_cts< N, C >
 
struct  arg_router::utility::convert_integral_to_cts< Value >
 
struct  arg_router::traits::is_compile_time_string_like< T >
 

Namespaces

 arg_router
 
 arg_router::utility
 
 arg_router::traits
 

Macros

#define S_(tok)   AR_STR_N(AR_MAX_CTS_SIZE, tok)
 

Typedefs

template<std::size_t N, char C>
using arg_router::utility::create_sequence_cts_t = typename create_sequence_cts< N, C >::type
 
template<typename T >
using arg_router::utility::convert_to_cts_t = typename convert_to_cts< T >::type
 
template<auto Value>
using arg_router::utility::convert_integral_to_cts_t = typename convert_integral_to_cts< Value >::type
 

Variables

template<typename T >
constexpr bool arg_router::traits::is_compile_time_string_like_v = is_compile_time_string_like<T>::value
 

Macro Definition Documentation

◆ S_

#define S_ (   tok)    AR_STR_N(AR_MAX_CTS_SIZE, tok)

Macro that represents the type of a compile-time string, useful for policies that require a compile string.

There is no requirement to use this, it just makes definitions easier to read.

Note
The size limit is set by using the AR_MAX_CTS_SIZE define (defaults to 128). Increasing this will not increase the size of your program, but will increase build time as the preprocessor and compiler have to do more work
Parameters
tokCan be a string literal, a std::string_view, or a single char
Examples
c++17/basic_cat/main.cpp, c++17/custom_policy_and_node/main.cpp, c++17/just_cats/main.cpp, c++17/launcher/main.cpp, c++17/runtime_node_enable/main.cpp, c++17/simple/main.cpp, c++17/simple_ml/main.cpp, and c++17/simple_ml_gen/main.cpp.

Definition at line 572 of file compile_time_string.hpp.