NDDEM
Classes | Typedefs | Functions | Variables
internal Namespace Reference

Classes

struct  IsGenericValueImpl
 
struct  IsGenericValueImpl< T, typename Void< typename T::EncodingType >::Type, typename Void< typename T::AllocatorType >::Type >
 
struct  IsGenericValue
 
struct  TypeHelper
 
struct  TypeHelper< ValueType, bool >
 
struct  TypeHelper< ValueType, int >
 
struct  TypeHelper< ValueType, unsigned >
 
struct  TypeHelper< ValueType, int64_t >
 
struct  TypeHelper< ValueType, uint64_t >
 
struct  TypeHelper< ValueType, double >
 
struct  TypeHelper< ValueType, float >
 
struct  TypeHelper< ValueType, const typename ValueType::Ch * >
 
struct  TypeHelper< ValueType, typename ValueType::Array >
 
struct  TypeHelper< ValueType, typename ValueType::ConstArray >
 
struct  TypeHelper< ValueType, typename ValueType::Object >
 
struct  TypeHelper< ValueType, typename ValueType::ConstObject >
 
class  BigInteger
 
struct  DiyFp
 
class  Double
 
class  DecodedStream
 
class  GenericRegexSearch
 
class  GenericRegex
 Regular expression engine with subset of ECMAscript grammar. More...
 
class  Stack
 A type-unsafe stack for storing different types of data. More...
 
class  StreamLocalCopy
 
class  StreamLocalCopy< Stream, 1 >
 Do copy optimization. More...
 
class  StreamLocalCopy< Stream, 0 >
 Keep reference. More...
 
class  Schema
 
class  ISchemaValidator
 
class  ISchemaStateFactory
 
class  IValidationErrorHandler
 
class  Hasher
 
struct  SchemaValidationContext
 
struct  TokenHelper
 
struct  TokenHelper< Stack, char >
 

Typedefs

typedef GenericRegex< UTF8<> > Regex
 
typedef GenericRegexSearch< RegexRegexSearch
 

Functions

DiyFp GetCachedPowerByIndex (size_t index)
 
DiyFp GetCachedPower (int e, int *K)
 
DiyFp GetCachedPower10 (int exp, int *outExp)
 
void GrisuRound (char *buffer, int len, uint64_t delta, uint64_t rest, uint64_t ten_kappa, uint64_t wp_w)
 
int CountDecimalDigit32 (uint32_t n)
 
void DigitGen (const DiyFp &W, const DiyFp &Mp, uint64_t delta, char *buffer, int *len, int *K)
 
void Grisu2 (double value, char *buffer, int *length, int *K)
 
char * WriteExponent (int K, char *buffer)
 
char * Prettify (char *buffer, int length, int k, int maxDecimalPlaces)
 
char * dtoa (double value, char *buffer, int maxDecimalPlaces=324)
 
const char * GetDigitsLut ()
 
char * u32toa (uint32_t value, char *buffer)
 
char * i32toa (int32_t value, char *buffer)
 
char * u64toa (uint64_t value, char *buffer)
 
char * i64toa (int64_t value, char *buffer)
 
double Pow10 (int n)
 Computes integer powers of 10 in double (10.0^n). More...
 
template<typename Ch >
SizeType StrLen (const Ch *s)
 Custom strlen() which works on different character types. More...
 
template<>
SizeType StrLen (const char *s)
 
template<>
SizeType StrLen (const wchar_t *s)
 
template<typename Encoding >
bool CountStringCodePoint (const typename Encoding::Ch *s, SizeType length, SizeType *outCount)
 Returns number of code points in a encoded string. More...
 
double FastPath (double significand, int exp)
 
double StrtodNormalPrecision (double d, int p)
 
template<typename T >
Min3 (T a, T b, T c)
 
int CheckWithinHalfULP (double b, const BigInteger &d, int dExp)
 
bool StrtodFast (double d, int p, double *result)
 
bool StrtodDiyFp (const char *decimals, int dLen, int dExp, double *result)
 
double StrtodBigInteger (double approx, const char *decimals, int dLen, int dExp)
 
double StrtodFullPrecision (double d, int p, const char *decimals, size_t length, size_t decimalPosition, int exp)
 
template<typename T >
void Swap (T &a, T &b) CEREAL_RAPIDJSON_NOEXCEPT
 Custom swap() to avoid dependency on C++ <algorithm> header. More...
 

Variables

static const SizeType kRegexInvalidState = ~SizeType(0)
 Represents an invalid index in GenericRegex::State::out, out1. More...
 
static const SizeType kRegexInvalidRange = ~SizeType(0)
 

Typedef Documentation

◆ Regex

◆ RegexSearch

Function Documentation

◆ CheckWithinHalfULP()

int internal::CheckWithinHalfULP ( double  b,
const BigInteger d,
int  dExp 
)
inline

◆ CountDecimalDigit32()

int internal::CountDecimalDigit32 ( uint32_t  n)
inline

◆ CountStringCodePoint()

template<typename Encoding >
bool internal::CountStringCodePoint ( const typename Encoding::Ch *  s,
SizeType  length,
SizeType outCount 
)

Returns number of code points in a encoded string.

◆ DigitGen()

void internal::DigitGen ( const DiyFp W,
const DiyFp Mp,
uint64_t  delta,
char *  buffer,
int *  len,
int *  K 
)
inline

◆ dtoa()

char* internal::dtoa ( double  value,
char *  buffer,
int  maxDecimalPlaces = 324 
)
inline

◆ FastPath()

double internal::FastPath ( double  significand,
int  exp 
)
inline

◆ GetCachedPower()

DiyFp internal::GetCachedPower ( int  e,
int *  K 
)
inline

◆ GetCachedPower10()

DiyFp internal::GetCachedPower10 ( int  exp,
int *  outExp 
)
inline

◆ GetCachedPowerByIndex()

DiyFp internal::GetCachedPowerByIndex ( size_t  index)
inline

◆ GetDigitsLut()

const char* internal::GetDigitsLut ( )
inline

◆ Grisu2()

void internal::Grisu2 ( double  value,
char *  buffer,
int *  length,
int *  K 
)
inline

◆ GrisuRound()

void internal::GrisuRound ( char *  buffer,
int  len,
uint64_t  delta,
uint64_t  rest,
uint64_t  ten_kappa,
uint64_t  wp_w 
)
inline

closer

◆ i32toa()

char* internal::i32toa ( int32_t  value,
char *  buffer 
)
inline

◆ i64toa()

char* internal::i64toa ( int64_t  value,
char *  buffer 
)
inline

◆ Min3()

template<typename T >
T internal::Min3 ( a,
b,
c 
)
inline

◆ Pow10()

double internal::Pow10 ( int  n)
inline

Computes integer powers of 10 in double (10.0^n).

This function uses lookup table for fast and accurate results.

Parameters
nnon-negative exponent. Must <= 308.
Returns
10.0^n

◆ Prettify()

char* internal::Prettify ( char *  buffer,
int  length,
int  k,
int  maxDecimalPlaces 
)
inline

◆ StrLen() [1/3]

template<typename Ch >
SizeType internal::StrLen ( const Ch *  s)
inline

Custom strlen() which works on different character types.

Template Parameters
ChCharacter type (e.g. char, wchar_t, short)
Parameters
sNull-terminated input string.
Returns
Number of characters in the string.
Note
This has the same semantics as strlen(), the return value is not number of Unicode codepoints.

◆ StrLen() [2/3]

template<>
SizeType internal::StrLen ( const char *  s)
inline

◆ StrLen() [3/3]

template<>
SizeType internal::StrLen ( const wchar_t *  s)
inline

◆ StrtodBigInteger()

double internal::StrtodBigInteger ( double  approx,
const char *  decimals,
int  dLen,
int  dExp 
)
inline

◆ StrtodDiyFp()

bool internal::StrtodDiyFp ( const char *  decimals,
int  dLen,
int  dExp,
double *  result 
)
inline

◆ StrtodFast()

bool internal::StrtodFast ( double  d,
int  p,
double *  result 
)
inline

◆ StrtodFullPrecision()

double internal::StrtodFullPrecision ( double  d,
int  p,
const char *  decimals,
size_t  length,
size_t  decimalPosition,
int  exp 
)
inline

◆ StrtodNormalPrecision()

double internal::StrtodNormalPrecision ( double  d,
int  p 
)
inline

◆ Swap()

template<typename T >
void internal::Swap ( T &  a,
T &  b 
)
inline

Custom swap() to avoid dependency on C++ <algorithm> header.

Template Parameters
TType of the arguments to swap, should be instantiated with primitive C++ types only.
Note
This has the same semantics as std::swap().

◆ u32toa()

char* internal::u32toa ( uint32_t  value,
char *  buffer 
)
inline

◆ u64toa()

char* internal::u64toa ( uint64_t  value,
char *  buffer 
)
inline

◆ WriteExponent()

char* internal::WriteExponent ( int  K,
char *  buffer 
)
inline

Variable Documentation

◆ kRegexInvalidRange

const SizeType internal::kRegexInvalidRange = ~SizeType(0)
static

◆ kRegexInvalidState

const SizeType internal::kRegexInvalidState = ~SizeType(0)
static

Represents an invalid index in GenericRegex::State::out, out1.