Classes | Namespaces | Macros | Typedefs
schema.h File Reference
#include "document.h"
#include "pointer.h"
#include "stringbuffer.h"
#include <cmath>
#include "internal/regex.h"

Go to the source code of this file.

Classes

class  GenericSchemaDocument< ValueT, Allocator >
 JSON schema document. More...
 
class  internal::Schema< SchemaDocumentType >
 
class  internal::ISchemaValidator
 
class  internal::ISchemaStateFactory< SchemaType >
 
class  internal::IValidationErrorHandler< SchemaType >
 
class  internal::Hasher< Encoding, Allocator >
 
struct  internal::Hasher< Encoding, Allocator >::Number
 
union  internal::Hasher< Encoding, Allocator >::Number::U
 
struct  internal::SchemaValidationContext< SchemaDocumentType >
 
class  internal::Schema< SchemaDocumentType >
 
struct  internal::Schema< SchemaDocumentType >::SchemaArray
 
struct  internal::Schema< SchemaDocumentType >::Property
 
struct  internal::Schema< SchemaDocumentType >::PatternProperty
 
struct  internal::TokenHelper< Stack, Ch >
 
struct  internal::TokenHelper< Stack, char >
 
class  IGenericRemoteSchemaDocumentProvider< SchemaDocumentType >
 
class  GenericSchemaDocument< ValueT, Allocator >
 JSON schema document. More...
 
struct  GenericSchemaDocument< ValueT, Allocator >::SchemaRefEntry
 
struct  GenericSchemaDocument< ValueT, Allocator >::SchemaEntry
 
class  GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >
 JSON Schema Validator. More...
 
class  SchemaValidatingReader< parseFlags, InputStream, SourceEncoding, SchemaDocumentType, StackAllocator >
 A helper class for parsing with validation. More...
 

Namespaces

 internal
 

Macros

#define RAPIDJSON_SCHEMA_USE_INTERNALREGEX   1
 
#define RAPIDJSON_SCHEMA_USE_STDREGEX   0
 
#define RAPIDJSON_SCHEMA_HAS_REGEX   1
 
#define RAPIDJSON_SCHEMA_VERBOSE   0
 
#define RAPIDJSON_INVALID_KEYWORD_VERBOSE(keyword)
 
#define RAPIDJSON_INVALID_KEYWORD_RETURN(keyword)
 
#define RAPIDJSON_STRING_(name, ...)
 
#define RAPIDJSON_STRING_(name, ...)
 
#define RAPIDJSON_SCHEMA_HANDLE_BEGIN_VERBOSE_()
 
#define RAPIDJSON_SCHEMA_HANDLE_BEGIN_(method, arg1)
 
#define RAPIDJSON_SCHEMA_HANDLE_PARALLEL_(method, arg2)
 
#define RAPIDJSON_SCHEMA_HANDLE_END_(method, arg2)   return valid_ = EndValue() && (!outputHandler_ || outputHandler_->method arg2)
 
#define RAPIDJSON_SCHEMA_HANDLE_VALUE_(method, arg1, arg2)
 

Typedefs

typedef GenericSchemaDocument< ValueSchemaDocument
 GenericSchemaDocument using Value type. More...
 
typedef IGenericRemoteSchemaDocumentProvider< SchemaDocumentIRemoteSchemaDocumentProvider
 IGenericRemoteSchemaDocumentProvider using SchemaDocument. More...
 
typedef GenericSchemaValidator< SchemaDocumentSchemaValidator
 

Macro Definition Documentation

#define RAPIDJSON_INVALID_KEYWORD_RETURN (   keyword)
Value:
RAPIDJSON_MULTILINEMACRO_BEGIN\
context.invalidKeyword = keyword.GetString();\
RAPIDJSON_INVALID_KEYWORD_VERBOSE(keyword.GetString());\
return false;\
RAPIDJSON_MULTILINEMACRO_END

Definition at line 116 of file schema.h.

#define RAPIDJSON_INVALID_KEYWORD_VERBOSE (   keyword)

Definition at line 113 of file schema.h.

#define RAPIDJSON_SCHEMA_HANDLE_BEGIN_ (   method,
  arg1 
)
Value:
if (!valid_) return false; \
if (!BeginValue() || !CurrentSchema().method arg1) {\
RAPIDJSON_SCHEMA_HANDLE_BEGIN_VERBOSE_();\
return valid_ = false;\
}

Definition at line 2074 of file schema.h.

#define RAPIDJSON_SCHEMA_HANDLE_BEGIN_VERBOSE_ ( )

Definition at line 2071 of file schema.h.

#define RAPIDJSON_SCHEMA_HANDLE_END_ (   method,
  arg2 
)    return valid_ = EndValue() && (!outputHandler_ || outputHandler_->method arg2)

Definition at line 2093 of file schema.h.

#define RAPIDJSON_SCHEMA_HANDLE_PARALLEL_ (   method,
  arg2 
)
Value:
for (Context* context = schemaStack_.template Bottom<Context>(); context != schemaStack_.template End<Context>(); context++) {\
if (context->hasher)\
static_cast<HasherType*>(context->hasher)->method arg2;\
if (context->validators)\
for (SizeType i_ = 0; i_ < context->validatorCount; i_++)\
static_cast<GenericSchemaValidator*>(context->validators[i_])->method arg2;\
if (context->patternPropertiesValidators)\
for (SizeType i_ = 0; i_ < context->patternPropertiesValidatorCount; i_++)\
static_cast<GenericSchemaValidator*>(context->patternPropertiesValidators[i_])->method arg2;\
}
RAPIDJSON_NAMESPACE_BEGIN typedef unsigned SizeType
Size type (for string lengths, array sizes, etc.)
Definition: rapidjson.h:384

Definition at line 2081 of file schema.h.

#define RAPIDJSON_SCHEMA_HANDLE_VALUE_ (   method,
  arg1,
  arg2 
)
Value:
RAPIDJSON_SCHEMA_HANDLE_PARALLEL_(method, arg2);\
RAPIDJSON_SCHEMA_HANDLE_END_ (method, arg2)
#define RAPIDJSON_SCHEMA_HANDLE_BEGIN_(method, arg1)
Definition: schema.h:2074

Definition at line 2096 of file schema.h.

#define RAPIDJSON_SCHEMA_HAS_REGEX   1

Definition at line 42 of file schema.h.

#define RAPIDJSON_SCHEMA_USE_INTERNALREGEX   1

Definition at line 24 of file schema.h.

#define RAPIDJSON_SCHEMA_USE_STDREGEX   0

Definition at line 32 of file schema.h.

#define RAPIDJSON_SCHEMA_VERBOSE   0

Definition at line 48 of file schema.h.

#define RAPIDJSON_STRING_ (   name,
  ... 
)
Value:
static const ValueType& Get##name##String() {\
static const Ch s[] = { __VA_ARGS__, '\0' };\
static const ValueType v(s, static_cast<SizeType>(sizeof(s) / sizeof(Ch) - 1));\
return v;\
}
static QCString name
Definition: declinfo.cpp:673
JAVACC_STRING_TYPE String
Definition: JavaCC.h:22
static QCString * s
Definition: config.cpp:1042

Definition at line 2045 of file schema.h.

#define RAPIDJSON_STRING_ (   name,
  ... 
)
Value:
static const StringRefType& Get##name##String() {\
static const Ch s[] = { __VA_ARGS__, '\0' };\
static const StringRefType v(s, static_cast<SizeType>(sizeof(s) / sizeof(Ch) - 1)); \
return v;\
}
static QCString name
Definition: declinfo.cpp:673
JAVACC_STRING_TYPE String
Definition: JavaCC.h:22
static QCString * s
Definition: config.cpp:1042

Definition at line 2045 of file schema.h.

Typedef Documentation

IGenericRemoteSchemaDocumentProvider using SchemaDocument.

Definition at line 1740 of file schema.h.

GenericSchemaDocument using Value type.

Definition at line 1738 of file schema.h.

Definition at line 2414 of file schema.h.