|
cxxomfort
rel.20210622
Simple backports for C++ - http://ryan.gulix.cl/fossil.cgi/cxxomfort/
|
Macros used to control cxxomfort's behaviour. More...
Macros | |
| #define | CXXOFLAG_MAKE_TYPEDEF_charn_t 0 |
Makes the reserved names char16_t , char32_t available via typedefs or named types. More... | |
| #define | CXXOFLAG_NO_STD_USING 0 |
Disables adding names to namespace stdIf this macro is defined and has a value other than 0 , cxxomfort headers will not add their backports to namespace std (eg.: "<code>std::as_const</code>). This option
does not affect utilities defined as "base" (eg.: nullptr_t ). More... | |
| #define | CXXOFLAG_WITHOUT_LONGLONG 0 |
Declare this macro to tell the library that the compiler does not support long long. More... | |
| #define | CXXOFLAG_USE_INTERNAL_TR1 0 |
| Declare this macro to tell the library to use its own implementation of TR1 assets.This macro is intended to be used with pre-C++03 compilers that don't implement C++03 TR1, and is ignored when the compiler supports C++11 or above. More... | |
| #define | CXXOFLAG_MAKE_TYPEDEF_byte 0 |
Makes the reserved name byte a typedef. More... | |
Macros used to control cxxomfort's behaviour.
Listing of a number of macros that can be used to change the behaviour of cxxomfort .
CXXOFLAG_NO_STD_USING - tells the compiler to avoid adding names to namespace std where possible. CXXOFLAG_USE_INTERNAL_TR1 - tells the compiler to use its own TR1 implementation.ref CXXOFLAG_NONOMINMAX - tells the compiler to not define NOMINMAX in Visual C++ where possible. CXXOMFORT_NOTICES - controls log level. Defined as a numeric value, larger values increase the level of verbosity.When CXXOMFORT_NOTICES is defined:
1 will output basic notifications about library status and detected compiler, as well as detected C++ version.2 will also output notifications about what headers are being backported, and what fixes is the library adding for known issues (see cxxomfort-fix ).3 or above will also output notifications about specific features being added or adjusted depending on each header. CXXOFLAG_USE_INTERNAL_TR1 - can be used in pre-C++03 to make cxxomfort also include backports for some stuff in TR1 like array . | #define CXXOFLAG_MAKE_TYPEDEF_charn_t 0 |
Makes the reserved names char16_t , char32_t available via typedefs or named types.
When in C++03 mode, if this macro is enabled, <cxxomfort/cuchar.hpp> will set up the names char16_t and char32_t as typedefs to uint16_t and uint32_t respectively, thus making them integral integer types, instead of declaring our own char16_t and char32_t types.
The former also follows how the names are set up in eg.: GCC in C++0x (not C++11) mode.
| #define CXXOFLAG_NO_STD_USING 0 |
Disables adding names to namespace stdIf this macro is defined and has a value other than 0 , cxxomfort headers will not add their backports to namespace std (eg.: "<code>std::as_const</code>). This option
does not affect utilities defined as "base" (eg.: nullptr_t ).
entire point of the cxxomfort library is that it adds stuff to namespace std since there is stuff that depends on it (eg.: anything that used std::enable_if). | #define CXXOFLAG_WITHOUT_LONGLONG 0 |
Declare this macro to tell the library that the compiler does not support long long.
long long are not supported. | #define CXXOFLAG_USE_INTERNAL_TR1 0 |
Declare this macro to tell the library to use its own implementation of TR1 assets.This macro is intended to be used with pre-C++03 compilers that don't implement C++03 TR1, and is ignored when the compiler supports C++11 or above.
See also: <array> , <functional> , <random> , <tuple> , <utility> .
| #define CXXOFLAG_MAKE_TYPEDEF_byte 0 |
Makes the reserved name byte a typedef.
When pre- C++17 mode, if this macro is enabled, <cxxomfort/cstddef.hpp> will set up the name byte (std::byte) as a typedef to the type unsigned char, instead of using one of the backport / emulation mechanisms made available to cxxomfort.
The resulting code is not necessarily supported (eg.: abiguous overloads).
1.8.13