Reference to a constant string (not taking a copy) 更多...
#include <document.h>
Public 类型 | |
typedef CharType | Ch |
character type of the string | |
Public 成员函数 | |
template<SizeType N> | |
GenericStringRef (const CharType(&str)[N]) RAPIDJSON_NOEXCEPT | |
Create string reference from const character array 更多... | |
GenericStringRef (const CharType *str) | |
Explicitly create string reference from const character pointer 更多... | |
GenericStringRef (const CharType *str, SizeType len) | |
Create constant string reference from pointer and length 更多... | |
GenericStringRef (const GenericStringRef &rhs) | |
operator const Ch * () const | |
implicit conversion to plain CharType pointer | |
Public 属性 | |
const Ch *const | s |
plain CharType pointer | |
const SizeType | length |
length of the string (excluding the trailing NULL terminator) | |
相关函数 | |
(请注意: 这些不是成员函数.) | |
template<typename CharType > | |
GenericStringRef< CharType > | StringRef (const CharType *str) |
Mark a character pointer as constant string 更多... | |
template<typename CharType > | |
GenericStringRef< CharType > | StringRef (const CharType *str, size_t length) |
Mark a character pointer as constant string 更多... | |
template<typename CharType > | |
GenericStringRef< CharType > | StringRef (const std::basic_string< CharType > &str) |
Mark a string object as constant string 更多... | |
Reference to a constant string (not taking a copy)
CharType | character type of the string |
This helper class is used to automatically infer constant string references for string literals, especially from const
(!) character arrays.
The main use is for creating JSON string values without copying the source string via an 分配器. This requires that the referenced string pointers have a sufficient lifetime, which exceeds the lifetime of the associated GenericValue.
Example
|
inline |
Create string reference from const
character array
This constructor implicitly creates a constant string reference from a const
character array. It has better performance than StringRef(const CharType*) by inferring the string length from the array length, and also supports strings containing null characters.
N | length of the string, automatically inferred |
str | Constant character array, lifetime assumed to be longer than the use of the string in e.g. a GenericValue |
snprintf
are excluded from consideration. In such cases, the referenced string should be copied to the GenericValue instead.
|
inlineexplicit |
Explicitly create string reference from const
character pointer
This constructor can be used to explicitly create a reference to a constant string pointer.
str | Constant character pointer, lifetime assumed to be longer than the use of the string in e.g. a GenericValue |
snprintf
are excluded from consideration. In such cases, the referenced string should be copied to the GenericValue instead.
|
inline |
Create constant string reference from pointer and length
str | constant string, lifetime assumed to be longer than the use of the string in e.g. a GenericValue |
len | length of the string, excluding the trailing NULL terminator |
|
related |
Mark a character pointer as constant string
Mark a plain character pointer as a "string literal". This function can be used to avoid copying a character string to be referenced as a value in a JSON GenericValue object, if the string's lifetime is known to be valid long enough.
CharType | Character type of the string |
str | Constant string, lifetime assumed to be longer than the use of the string in e.g. a GenericValue |
|
related |
Mark a character pointer as constant string
Mark a plain character pointer as a "string literal". This function can be used to avoid copying a character string to be referenced as a value in a JSON GenericValue object, if the string's lifetime is known to be valid long enough.
This version has better performance with supplied length, and also supports string containing null characters.
CharType | character type of the string |
str | Constant string, lifetime assumed to be longer than the use of the string in e.g. a GenericValue |
length | The length of source string. |
|
related |
Mark a string object as constant string
Mark a string object (e.g. std::string
) as a "string literal". This function can be used to avoid copying a string to be referenced as a value in a JSON GenericValue object, if the string's lifetime is known to be valid long enough.
CharType | character type of the string |
str | Constant string, lifetime assumed to be longer than the use of the string in e.g. a GenericValue |