VR-Vantage 3.1 API Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Classes | Public Types | Public Member Functions | Private Types | Private Member Functions | Static Private Member Functions | Private Attributes | Friends
internal::Schema< SchemaDocumentType > Class Template Reference

Classes

struct  PatternProperty
struct  Property
struct  SchemaArray

Public Types

typedef
SchemaDocumentType::ValueType 
ValueType
typedef
SchemaDocumentType::AllocatorType 
AllocatorType
typedef
SchemaDocumentType::PointerType 
PointerType
typedef ValueType::EncodingType EncodingType
typedef EncodingType::Ch Ch
typedef
SchemaValidationContext
< SchemaDocumentType > 
Context
typedef Schema
< SchemaDocumentType > 
SchemaType
typedef GenericValue
< EncodingType, AllocatorType
SValue

Public Member Functions

 Schema (SchemaDocumentType *schemaDocument, const PointerType &p, const ValueType &value, const ValueType &document, AllocatorType *allocator)
 ~Schema ()
bool BeginValue (Context &context) const
RAPIDJSON_FORCEINLINE bool EndValue (Context &context) const
bool Null (Context &context) const
bool Bool (Context &context, bool) const
bool Int (Context &context, int i) const
bool Uint (Context &context, unsigned u) const
bool Int64 (Context &context, int64_t i) const
bool Uint64 (Context &context, uint64_t u) const
bool Double (Context &context, double d) const
bool String (Context &context, const Ch *str, SizeType length, bool) const
bool StartObject (Context &context) const
bool Key (Context &context, const Ch *str, SizeType len, bool) const
bool EndObject (Context &context, SizeType memberCount) const
bool StartArray (Context &context) const
bool EndArray (Context &context, SizeType elementCount) const

Private Types

enum  SchemaValueType {
  kNullSchemaType, kBooleanSchemaType, kObjectSchemaType, kArraySchemaType,
  kStringSchemaType, kNumberSchemaType, kIntegerSchemaType, kTotalSchemaType
}
typedef internal::GenericRegex
< EncodingType
RegexType

Private Member Functions

template<typename V1 , typename V2 >
void AddUniqueElement (V1 &a, const V2 &v)
void AssignIfExist (SchemaArray &out, SchemaDocumentType &schemaDocument, const PointerType &p, const ValueType &value, const ValueType &name, const ValueType &document)
template<typename ValueType >
RegexTypeCreatePattern (const ValueType &value)
void AddType (const ValueType &type)
bool CreateParallelValidator (Context &context) const
void CreateSchemaValidators (Context &context, const SchemaArray &schemas) const
bool FindPropertyIndex (const ValueType &name, SizeType *outIndex) const
bool CheckInt (Context &context, int64_t i) const
bool CheckUint (Context &context, uint64_t i) const
bool CheckDoubleMinimum (Context &context, double d) const
bool CheckDoubleMaximum (Context &context, double d) const
bool CheckDoubleMultipleOf (Context &context, double d) const

Static Private Member Functions

static const SchemaTypeGetTypeless ()
static const ValueTypeGetMember (const ValueType &value, const ValueType &name)
static void AssignIfExist (bool &out, const ValueType &value, const ValueType &name)
static void AssignIfExist (SizeType &out, const ValueType &value, const ValueType &name)
static bool IsPatternMatch (const RegexType *pattern, const Ch *str, SizeType)

Private Attributes

AllocatorTypeallocator_
uint64_tenum_
SizeType enumCount_
SchemaArray allOf_
SchemaArray anyOf_
SchemaArray oneOf_
const SchemaTypenot_
unsigned type_
SizeType validatorCount_
SizeType notValidatorIndex_
Propertyproperties_
const SchemaTypeadditionalPropertiesSchema_
PatternPropertypatternProperties_
SizeType patternPropertyCount_
SizeType propertyCount_
SizeType minProperties_
SizeType maxProperties_
bool additionalProperties_
bool hasDependencies_
bool hasRequired_
bool hasSchemaDependencies_
const SchemaTypeadditionalItemsSchema_
const SchemaTypeitemsList_
const SchemaType ** itemsTuple_
SizeType itemsTupleCount_
SizeType minItems_
SizeType maxItems_
bool additionalItems_
bool uniqueItems_
RegexTypepattern_
SizeType minLength_
SizeType maxLength_
SValue minimum_
SValue maximum_
SValue multipleOf_
bool exclusiveMinimum_
bool exclusiveMaximum_

Friends

class GenericSchemaDocument< ValueType, AllocatorType >

Member Typedef Documentation

template<typename SchemaDocumentType >
typedef SchemaDocumentType::ValueType internal::Schema< SchemaDocumentType >::ValueType
template<typename SchemaDocumentType >
typedef SchemaDocumentType::AllocatorType internal::Schema< SchemaDocumentType >::AllocatorType
template<typename SchemaDocumentType >
typedef SchemaDocumentType::PointerType internal::Schema< SchemaDocumentType >::PointerType
template<typename SchemaDocumentType >
typedef ValueType::EncodingType internal::Schema< SchemaDocumentType >::EncodingType
template<typename SchemaDocumentType >
typedef EncodingType::Ch internal::Schema< SchemaDocumentType >::Ch
template<typename SchemaDocumentType >
typedef SchemaValidationContext<SchemaDocumentType> internal::Schema< SchemaDocumentType >::Context
template<typename SchemaDocumentType >
typedef Schema<SchemaDocumentType> internal::Schema< SchemaDocumentType >::SchemaType
template<typename SchemaDocumentType >
typedef GenericValue<EncodingType, AllocatorType> internal::Schema< SchemaDocumentType >::SValue
template<typename SchemaDocumentType >
typedef internal::GenericRegex<EncodingType> internal::Schema< SchemaDocumentType >::RegexType
private

Member Enumeration Documentation

template<typename SchemaDocumentType >
enum internal::Schema::SchemaValueType
private
Enumerator:
kNullSchemaType 
kBooleanSchemaType 
kObjectSchemaType 
kArraySchemaType 
kStringSchemaType 
kNumberSchemaType 
kIntegerSchemaType 
kTotalSchemaType 

Constructor & Destructor Documentation

template<typename SchemaDocumentType >
internal::Schema< SchemaDocumentType >::Schema ( SchemaDocumentType *  schemaDocument,
const PointerType p,
const ValueType value,
const ValueType document,
AllocatorType allocator 
)
inline

References internal::Schema< SchemaDocumentType >::additionalItems_, internal::Schema< SchemaDocumentType >::additionalItemsSchema_, internal::Schema< SchemaDocumentType >::additionalProperties_, internal::Schema< SchemaDocumentType >::additionalPropertiesSchema_, internal::Schema< SchemaDocumentType >::AddType(), internal::Schema< SchemaDocumentType >::AddUniqueElement(), internal::Schema< SchemaDocumentType >::allocator_, internal::Schema< SchemaDocumentType >::allOf_, internal::Schema< SchemaDocumentType >::anyOf_, internal::Schema< SchemaDocumentType >::AssignIfExist(), internal::Schema< SchemaDocumentType >::CreatePattern(), internal::Schema< SchemaDocumentType >::Property::dependencies, internal::Schema< SchemaDocumentType >::Property::dependenciesValidatorIndex, internal::Schema< SchemaDocumentType >::enum_, internal::Schema< SchemaDocumentType >::enumCount_, internal::Schema< SchemaDocumentType >::exclusiveMaximum_, internal::Schema< SchemaDocumentType >::exclusiveMinimum_, internal::Schema< SchemaDocumentType >::FindPropertyIndex(), internal::Schema< SchemaDocumentType >::GetMember(), internal::Schema< SchemaDocumentType >::GetTypeless(), internal::Schema< SchemaDocumentType >::hasDependencies_, internal::Schema< SchemaDocumentType >::hasRequired_, internal::Schema< SchemaDocumentType >::hasSchemaDependencies_, internal::Schema< SchemaDocumentType >::itemsList_, internal::Schema< SchemaDocumentType >::itemsTuple_, internal::Schema< SchemaDocumentType >::itemsTupleCount_, kArrayType, internal::Schema< SchemaDocumentType >::maximum_, internal::Schema< SchemaDocumentType >::maxItems_, internal::Schema< SchemaDocumentType >::maxLength_, internal::Schema< SchemaDocumentType >::maxProperties_, internal::Schema< SchemaDocumentType >::minimum_, internal::Schema< SchemaDocumentType >::minItems_, internal::Schema< SchemaDocumentType >::minLength_, internal::Schema< SchemaDocumentType >::minProperties_, internal::Schema< SchemaDocumentType >::multipleOf_, internal::Schema< SchemaDocumentType >::Property::name, internal::Schema< SchemaDocumentType >::not_, internal::Schema< SchemaDocumentType >::notValidatorIndex_, internal::Schema< SchemaDocumentType >::oneOf_, internal::Schema< SchemaDocumentType >::PatternProperty::pattern, internal::Schema< SchemaDocumentType >::pattern_, internal::Schema< SchemaDocumentType >::patternProperties_, internal::Schema< SchemaDocumentType >::patternPropertyCount_, internal::Schema< SchemaDocumentType >::properties_, internal::Schema< SchemaDocumentType >::propertyCount_, internal::Schema< SchemaDocumentType >::Property::required, internal::Schema< SchemaDocumentType >::Property::schema, SizeType, internal::Schema< SchemaDocumentType >::type_, internal::Schema< SchemaDocumentType >::uniqueItems_, and internal::Schema< SchemaDocumentType >::validatorCount_.

template<typename SchemaDocumentType >
internal::Schema< SchemaDocumentType >::~Schema ( )
inline

Member Function Documentation

template<typename SchemaDocumentType >
bool internal::Schema< SchemaDocumentType >::BeginValue ( Context context) const
inline
template<typename SchemaDocumentType >
RAPIDJSON_FORCEINLINE bool internal::Schema< SchemaDocumentType >::EndValue ( Context context) const
inline
template<typename SchemaDocumentType >
bool internal::Schema< SchemaDocumentType >::Null ( Context context) const
inline
template<typename SchemaDocumentType >
bool internal::Schema< SchemaDocumentType >::Bool ( Context context,
bool   
) const
inline
template<typename SchemaDocumentType >
bool internal::Schema< SchemaDocumentType >::Int ( Context context,
int  i 
) const
inline
template<typename SchemaDocumentType >
bool internal::Schema< SchemaDocumentType >::Uint ( Context context,
unsigned  u 
) const
inline
template<typename SchemaDocumentType >
bool internal::Schema< SchemaDocumentType >::Int64 ( Context context,
int64_t  i 
) const
inline
template<typename SchemaDocumentType >
bool internal::Schema< SchemaDocumentType >::Uint64 ( Context context,
uint64_t  u 
) const
inline
template<typename SchemaDocumentType >
bool internal::Schema< SchemaDocumentType >::Double ( Context context,
double  d 
) const
inline
template<typename SchemaDocumentType >
bool internal::Schema< SchemaDocumentType >::String ( Context context,
const Ch str,
SizeType  length,
bool   
) const
inline
template<typename SchemaDocumentType >
bool internal::Schema< SchemaDocumentType >::StartObject ( Context context) const
inline
template<typename SchemaDocumentType >
bool internal::Schema< SchemaDocumentType >::Key ( Context context,
const Ch str,
SizeType  len,
bool   
) const
inline
template<typename SchemaDocumentType >
bool internal::Schema< SchemaDocumentType >::EndObject ( Context context,
SizeType  memberCount 
) const
inline
template<typename SchemaDocumentType >
bool internal::Schema< SchemaDocumentType >::StartArray ( Context context) const
inline
template<typename SchemaDocumentType >
bool internal::Schema< SchemaDocumentType >::EndArray ( Context context,
SizeType  elementCount 
) const
inline
template<typename SchemaDocumentType >
static const SchemaType* internal::Schema< SchemaDocumentType >::GetTypeless ( )
inlinestaticprivate
template<typename SchemaDocumentType >
template<typename V1 , typename V2 >
void internal::Schema< SchemaDocumentType >::AddUniqueElement ( V1 &  a,
const V2 &  v 
)
inlineprivate
template<typename SchemaDocumentType >
static const ValueType* internal::Schema< SchemaDocumentType >::GetMember ( const ValueType value,
const ValueType name 
)
inlinestaticprivate
template<typename SchemaDocumentType >
static void internal::Schema< SchemaDocumentType >::AssignIfExist ( bool out,
const ValueType value,
const ValueType name 
)
inlinestaticprivate
template<typename SchemaDocumentType >
static void internal::Schema< SchemaDocumentType >::AssignIfExist ( SizeType out,
const ValueType value,
const ValueType name 
)
inlinestaticprivate
template<typename SchemaDocumentType >
void internal::Schema< SchemaDocumentType >::AssignIfExist ( SchemaArray out,
SchemaDocumentType &  schemaDocument,
const PointerType p,
const ValueType value,
const ValueType name,
const ValueType document 
)
inlineprivate
template<typename SchemaDocumentType >
template<typename ValueType >
RegexType* internal::Schema< SchemaDocumentType >::CreatePattern ( const ValueType value)
inlineprivate
template<typename SchemaDocumentType >
static bool internal::Schema< SchemaDocumentType >::IsPatternMatch ( const RegexType pattern,
const Ch str,
SizeType   
)
inlinestaticprivate
template<typename SchemaDocumentType >
void internal::Schema< SchemaDocumentType >::AddType ( const ValueType type)
inlineprivate
template<typename SchemaDocumentType >
bool internal::Schema< SchemaDocumentType >::CreateParallelValidator ( Context context) const
inlineprivate

References internal::Schema< SchemaDocumentType >::allOf_, internal::Schema< SchemaDocumentType >::anyOf_, internal::SchemaValidationContext< SchemaDocumentType >::arrayUniqueness, internal::ISchemaStateFactory< SchemaType >::CreateHasher(), internal::ISchemaStateFactory< SchemaType >::CreateSchemaValidator(), internal::Schema< SchemaDocumentType >::CreateSchemaValidators(), internal::Schema< SchemaDocumentType >::Property::dependenciesValidatorIndex, internal::Schema< SchemaDocumentType >::enum_, internal::SchemaValidationContext< SchemaDocumentType >::factory, internal::SchemaValidationContext< SchemaDocumentType >::hasher, internal::Schema< SchemaDocumentType >::hasSchemaDependencies_, internal::ISchemaStateFactory< SchemaType >::MallocState(), internal::Schema< SchemaDocumentType >::not_, internal::Schema< SchemaDocumentType >::notValidatorIndex_, internal::Schema< SchemaDocumentType >::oneOf_, internal::Schema< SchemaDocumentType >::properties_, internal::Schema< SchemaDocumentType >::propertyCount_, RAPIDJSON_ASSERT, internal::Schema< SchemaDocumentType >::SchemaArray::schemas, SizeType, internal::SchemaValidationContext< SchemaDocumentType >::validatorCount, internal::Schema< SchemaDocumentType >::validatorCount_, and internal::SchemaValidationContext< SchemaDocumentType >::validators.

Referenced by internal::Schema< SchemaDocumentType >::Bool(), internal::Schema< SchemaDocumentType >::Double(), internal::Schema< SchemaDocumentType >::Int(), internal::Schema< SchemaDocumentType >::Int64(), internal::Schema< SchemaDocumentType >::Null(), internal::Schema< SchemaDocumentType >::StartArray(), internal::Schema< SchemaDocumentType >::StartObject(), internal::Schema< SchemaDocumentType >::String(), internal::Schema< SchemaDocumentType >::Uint(), and internal::Schema< SchemaDocumentType >::Uint64().

template<typename SchemaDocumentType >
void internal::Schema< SchemaDocumentType >::CreateSchemaValidators ( Context context,
const SchemaArray schemas 
) const
inlineprivate
template<typename SchemaDocumentType >
bool internal::Schema< SchemaDocumentType >::FindPropertyIndex ( const ValueType name,
SizeType outIndex 
) const
inlineprivate
template<typename SchemaDocumentType >
bool internal::Schema< SchemaDocumentType >::CheckInt ( Context context,
int64_t  i 
) const
inlineprivate
template<typename SchemaDocumentType >
bool internal::Schema< SchemaDocumentType >::CheckUint ( Context context,
uint64_t  i 
) const
inlineprivate
template<typename SchemaDocumentType >
bool internal::Schema< SchemaDocumentType >::CheckDoubleMinimum ( Context context,
double  d 
) const
inlineprivate
template<typename SchemaDocumentType >
bool internal::Schema< SchemaDocumentType >::CheckDoubleMaximum ( Context context,
double  d 
) const
inlineprivate
template<typename SchemaDocumentType >
bool internal::Schema< SchemaDocumentType >::CheckDoubleMultipleOf ( Context context,
double  d 
) const
inlineprivate

Friends And Related Function Documentation

template<typename SchemaDocumentType >
friend class GenericSchemaDocument< ValueType, AllocatorType >
friend

Member Data Documentation

template<typename SchemaDocumentType >
AllocatorType* internal::Schema< SchemaDocumentType >::allocator_
private
template<typename SchemaDocumentType >
uint64_t* internal::Schema< SchemaDocumentType >::enum_
private
template<typename SchemaDocumentType >
SizeType internal::Schema< SchemaDocumentType >::enumCount_
private
template<typename SchemaDocumentType >
SchemaArray internal::Schema< SchemaDocumentType >::allOf_
private
template<typename SchemaDocumentType >
SchemaArray internal::Schema< SchemaDocumentType >::anyOf_
private
template<typename SchemaDocumentType >
SchemaArray internal::Schema< SchemaDocumentType >::oneOf_
private
template<typename SchemaDocumentType >
const SchemaType* internal::Schema< SchemaDocumentType >::not_
private
template<typename SchemaDocumentType >
unsigned internal::Schema< SchemaDocumentType >::type_
private
template<typename SchemaDocumentType >
SizeType internal::Schema< SchemaDocumentType >::validatorCount_
private
template<typename SchemaDocumentType >
SizeType internal::Schema< SchemaDocumentType >::notValidatorIndex_
private
template<typename SchemaDocumentType >
Property* internal::Schema< SchemaDocumentType >::properties_
private
template<typename SchemaDocumentType >
const SchemaType* internal::Schema< SchemaDocumentType >::additionalPropertiesSchema_
private
template<typename SchemaDocumentType >
PatternProperty* internal::Schema< SchemaDocumentType >::patternProperties_
private
template<typename SchemaDocumentType >
SizeType internal::Schema< SchemaDocumentType >::patternPropertyCount_
private
template<typename SchemaDocumentType >
SizeType internal::Schema< SchemaDocumentType >::propertyCount_
private
template<typename SchemaDocumentType >
SizeType internal::Schema< SchemaDocumentType >::minProperties_
private
template<typename SchemaDocumentType >
SizeType internal::Schema< SchemaDocumentType >::maxProperties_
private
template<typename SchemaDocumentType >
bool internal::Schema< SchemaDocumentType >::additionalProperties_
private
template<typename SchemaDocumentType >
bool internal::Schema< SchemaDocumentType >::hasDependencies_
private
template<typename SchemaDocumentType >
bool internal::Schema< SchemaDocumentType >::hasRequired_
private
template<typename SchemaDocumentType >
bool internal::Schema< SchemaDocumentType >::hasSchemaDependencies_
private
template<typename SchemaDocumentType >
const SchemaType* internal::Schema< SchemaDocumentType >::additionalItemsSchema_
private
template<typename SchemaDocumentType >
const SchemaType* internal::Schema< SchemaDocumentType >::itemsList_
private
template<typename SchemaDocumentType >
const SchemaType** internal::Schema< SchemaDocumentType >::itemsTuple_
private
template<typename SchemaDocumentType >
SizeType internal::Schema< SchemaDocumentType >::itemsTupleCount_
private
template<typename SchemaDocumentType >
SizeType internal::Schema< SchemaDocumentType >::minItems_
private
template<typename SchemaDocumentType >
SizeType internal::Schema< SchemaDocumentType >::maxItems_
private
template<typename SchemaDocumentType >
bool internal::Schema< SchemaDocumentType >::additionalItems_
private
template<typename SchemaDocumentType >
bool internal::Schema< SchemaDocumentType >::uniqueItems_
private
template<typename SchemaDocumentType >
RegexType* internal::Schema< SchemaDocumentType >::pattern_
private
template<typename SchemaDocumentType >
SizeType internal::Schema< SchemaDocumentType >::minLength_
private
template<typename SchemaDocumentType >
SizeType internal::Schema< SchemaDocumentType >::maxLength_
private
template<typename SchemaDocumentType >
SValue internal::Schema< SchemaDocumentType >::minimum_
private
template<typename SchemaDocumentType >
SValue internal::Schema< SchemaDocumentType >::maximum_
private
template<typename SchemaDocumentType >
SValue internal::Schema< SchemaDocumentType >::multipleOf_
private
template<typename SchemaDocumentType >
bool internal::Schema< SchemaDocumentType >::exclusiveMinimum_
private
template<typename SchemaDocumentType >
bool internal::Schema< SchemaDocumentType >::exclusiveMaximum_
private

The documentation for this class was generated from the following file:


Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)