Monero
Loading...
Searching...
No Matches
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).
template<typename Ch>
SizeType StrLen (const Ch *s)
 Custom strlen() which works on different character types.
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.
double FastPath (double significand, int exp)
double StrtodNormalPrecision (double d, int p)
template<typename T>
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) RAPIDJSON_NOEXCEPT
 Custom swap() to avoid dependency on C++ <algorithm> header.

Variables

static const SizeType kRegexInvalidState = ~SizeType(0)
 Represents an invalid index in GenericRegex::State::out, out1.
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 ( T a,
T b,
T 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.