Configuration macros for library features. More...
Configuration macros for library features.
Some RapidJSON features are configurable to adapt the library to a wide variety of platforms, environments and usage scenarios. Most of the features can be configured in terms of overriden or predefined preprocessor macros at compile-time.
Some additional customization is available in the RapidJSON error handling APIs.
Use only lower 48-bit address for some pointers.
This optimization uses the fact that current X86-64 architecture only implement lower 48-bit virtual address. The higher 16-bit can be used for storing other data. GenericValue
uses this optimization to reduce its size form 24 bytes to 16 bytes in 64-bit architecture.
Definition at line 307 of file rapidjson.h.
◆ RAPIDJSON_ALIGN #define RAPIDJSON_ALIGN ( x ) (((x) + 3u) & ~3u)Data alignment of the machine.
Some machines require strict data alignment. Currently the default uses 4 bytes alignment on 32-bit platforms and 8 bytes alignment for 64-bit platforms. User can customize by defining the RAPIDJSON_ALIGN function macro.
Definition at line 275 of file rapidjson.h.
◆ RAPIDJSON_ASSERT #define RAPIDJSON_ASSERT ( x ) assert(x) ◆ RAPIDJSON_HAS_STDSTRING #define RAPIDJSON_HAS_STDSTRINGEnable RapidJSON support for std::string
.
By defining this preprocessor symbol to 1
, several convenience functions for using rapidjson::GenericValue with std::string
are enabled, especially for construction and comparison.
Compiler branching hint for expression with high probability to be true.
Definition at line 455 of file rapidjson.h.
◆ RAPIDJSON_MAJOR_VERSION #define RAPIDJSON_MAJOR_VERSION 1Major version of RapidJSON in integer.
Definition at line 70 of file rapidjson.h.
◆ RAPIDJSON_MINOR_VERSION #define RAPIDJSON_MINOR_VERSION 1Minor version of RapidJSON in integer.
Definition at line 71 of file rapidjson.h.
◆ RAPIDJSON_NAMESPACE #define RAPIDJSON_NAMESPACE rapidjsonprovide custom rapidjson namespace
In order to avoid symbol clashes and/or "One Definition Rule" errors between multiple inclusions of (different versions of) RapidJSON in a single binary, users can customize the name of the main RapidJSON namespace.
In case of a single nesting level, defining RAPIDJSON_NAMESPACE
to a custom name (e.g. MyRapidJSON
) is sufficient. If multiple levels are needed, both RAPIDJSON_NAMESPACE_BEGIN and RAPIDJSON_NAMESPACE_END need to be defined as well:
#define RAPIDJSON_NAMESPACE my::rapidjson
#define RAPIDJSON_NAMESPACE_BEGIN namespace my { namespace rapidjson {
#define RAPIDJSON_NAMESPACE_END } }
#include "rapidjson/..."
Definition at line 113 of file rapidjson.h.
◆ RAPIDJSON_NAMESPACE_BEGIN ◆ RAPIDJSON_NAMESPACE_END #define RAPIDJSON_NAMESPACE_END } ◆ RAPIDJSON_PARSE_DEFAULT_FLAGS #define RAPIDJSON_PARSE_DEFAULT_FLAGS kParseNoFlagsUser-defined kParseDefaultFlags definition.
User can define this as any ParseFlag
combinations.
Definition at line 139 of file reader.h.
◆ RAPIDJSON_PATCH_VERSION #define RAPIDJSON_PATCH_VERSION 0Patch version of RapidJSON in integer.
Definition at line 72 of file rapidjson.h.
◆ RAPIDJSON_UNLIKELY #define RAPIDJSON_UNLIKELY ( x ) (x)Compiler branching hint for expression with low probability to be true.
Definition at line 468 of file rapidjson.h.
◆ RAPIDJSON_VERSION_STRINGVersion of RapidJSON in "<major>.<minor>.<patch>" string format.
Definition at line 73 of file rapidjson.h.
◆ RAPIDJSON_WRITE_DEFAULT_FLAGS #define RAPIDJSON_WRITE_DEFAULT_FLAGS kWriteNoFlagsUser-defined kWriteDefaultFlags definition.
User can define this as any WriteFlag
combinations.
Definition at line 60 of file writer.h.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4