Library Configuration module
Preprocessor macros for configuring library functionality.
Define these before including toml++ to alter the way it functions.
Defines
- #define TOML_ASSERT(expr)
- Sets the assert function used by the library.
- #define TOML_CALLCONV
- Calling convention to apply to exported free/static functions.
- #define TOML_CONFIG_HEADER
- An additional header to include before any other toml++ header files.
- #define TOML_ENABLE_FORMATTERS
- Sets whether the various formatter classes are enabled.
- #define TOML_ENABLE_PARSER
- Sets whether the parser-related parts of the library are included.
- #define TOML_ENABLE_UNRELEASED_FEATURES
- Enables support for unreleased TOML language features not yet part of a numbered version.
- #define TOML_ENABLE_WINDOWS_COMPAT
- Enables the use of wide strings (wchar_t, std::
wstring) in various places throughout the library when building for Windows. - #define TOML_EXCEPTIONS
- Sets whether the library uses exceptions to report parsing failures.
- #define TOML_EXPORTED_CLASS
- An 'export' annotation to add to classes.
- #define TOML_EXPORTED_FREE_FUNCTION
- An 'export' annotation to add to free functions.
- #define TOML_EXPORTED_MEMBER_FUNCTION
- An 'export' annotation to add to non-static class member functions.
- #define TOML_EXPORTED_STATIC_FUNCTION
- An 'export' annotation to add to
static
class member functions. - #define TOML_HEADER_ONLY
- Sets whether the library is entirely inline.
- #define TOML_IMPLEMENTATION
- Enables the library's implementation when TOML_
HEADER_ ONLY is disabled. - #define TOML_OPTIONAL_TYPE
- Overrides the
optional<T>
type used by the library. - #define TOML_SMALL_FLOAT_TYPE
- If your codebase has an additional 'small' float type (e.g. half-precision), this tells toml++ about it.
- #define TOML_SMALL_INT_TYPE
- If your codebase has an additional 'small' integer type (e.g. 24-bits), this tells toml++ about it.
Define documentation
#define TOML_ASSERT(expr)
Sets the assert function used by the library.
Defaults to the standard C assert()
.
#define TOML_CALLCONV
Calling convention to apply to exported free/static functions.
Not defined by default (let the compiler decide).
#define TOML_CONFIG_HEADER
An additional header to include before any other toml++ header files.
Not defined by default.
#define TOML_ENABLE_FORMATTERS
Sets whether the various formatter classes are enabled.
Defaults to 1
.
#define TOML_ENABLE_PARSER
Sets whether the parser-related parts of the library are included.
Defaults to 1
.
#define TOML_ENABLE_UNRELEASED_FEATURES
Enables support for unreleased TOML language features not yet part of a numbered version.
Defaults to 0
.
#define TOML_ENABLE_WINDOWS_COMPAT
Enables the use of wide strings (wchar_t, std::
Defaults to 1
when building for Windows, 0
otherwise. Has no effect when building for anything other than Windows.
#define TOML_EXCEPTIONS
Sets whether the library uses exceptions to report parsing failures.
Defaults to 1
or 0
according to your compiler's exception mode.
#define TOML_EXPORTED_FREE_FUNCTION
An 'export' annotation to add to free functions.
Not defined by default.
#define TOML_EXPORTED_MEMBER_FUNCTION
An 'export' annotation to add to non-static class member functions.
Not defined by default.
#define TOML_EXPORTED_STATIC_FUNCTION
An 'export' annotation to add to static
class member functions.
Not defined by default.
#define TOML_IMPLEMENTATION
Enables the library's implementation when TOML_
Not defined by default. Meaningless when TOML_
#define TOML_OPTIONAL_TYPE
Overrides the optional<T>
type used by the library.
Not defined by default (use std::
#define TOML_SMALL_FLOAT_TYPE
If your codebase has an additional 'small' float type (e.g. half-precision), this tells toml++ about it.
Not defined by default.
#define TOML_SMALL_INT_TYPE
If your codebase has an additional 'small' integer type (e.g. 24-bits), this tells toml++ about it.
Not defined by default.