RetroArch
Classes | Namespaces | Macros | Typedefs
schema.h File Reference
#include "document.h"
#include "pointer.h"
#include <cmath>
#include "internal/regex.h"
Include dependency graph for schema.h:
This graph shows which files directly or indirectly include this file:

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::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_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_.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

◆ RAPIDJSON_INVALID_KEYWORD_RETURN

#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

◆ RAPIDJSON_INVALID_KEYWORD_VERBOSE

#define RAPIDJSON_INVALID_KEYWORD_VERBOSE (   keyword)

◆ RAPIDJSON_SCHEMA_HANDLE_BEGIN_

#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;\
}
GLuint GLuint GLuint GLuint arg1
Definition: glext.h:10420

◆ RAPIDJSON_SCHEMA_HANDLE_BEGIN_VERBOSE_

#define RAPIDJSON_SCHEMA_HANDLE_BEGIN_VERBOSE_ ( )

◆ RAPIDJSON_SCHEMA_HANDLE_END_

#define RAPIDJSON_SCHEMA_HANDLE_END_ (   method,
  arg2 
)    return valid_ = EndValue() && outputHandler_.method arg2

◆ RAPIDJSON_SCHEMA_HANDLE_PARALLEL_

#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;\
}
GLuint GLuint GLuint GLuint GLuint GLuint GLuint arg2
Definition: glext.h:10421
Context contains the render state used by various components.
Definition: Context.h:26
RAPIDJSON_NAMESPACE_BEGIN typedef unsigned SizeType
Size type (for string lengths, array sizes, etc.)
Definition: rapidjson.h:380

◆ RAPIDJSON_SCHEMA_HANDLE_VALUE_

#define RAPIDJSON_SCHEMA_HANDLE_VALUE_ (   method,
  arg1,
  arg2 
)
Value:
RAPIDJSON_SCHEMA_HANDLE_PARALLEL_(method, arg2);\
RAPIDJSON_SCHEMA_HANDLE_END_ (method, arg2)
GLuint GLuint GLuint GLuint GLuint GLuint GLuint arg2
Definition: glext.h:10421
GLuint GLuint GLuint GLuint arg1
Definition: glext.h:10420
#define RAPIDJSON_SCHEMA_HANDLE_BEGIN_(method, arg1)
Definition: schema.h:1662

◆ RAPIDJSON_SCHEMA_HAS_REGEX

#define RAPIDJSON_SCHEMA_HAS_REGEX   1

◆ RAPIDJSON_SCHEMA_USE_INTERNALREGEX

#define RAPIDJSON_SCHEMA_USE_INTERNALREGEX   1

◆ RAPIDJSON_SCHEMA_USE_STDREGEX

#define RAPIDJSON_SCHEMA_USE_STDREGEX   0

◆ RAPIDJSON_SCHEMA_VERBOSE

#define RAPIDJSON_SCHEMA_VERBOSE   0

◆ RAPIDJSON_STRING_

#define RAPIDJSON_STRING_ (   name,
  ... 
)
Value:
static const ValueType& Get##name##String() {\
static const Ch s[] = { __VA_ARGS__, '\0' };\
static const ValueType v(s, sizeof(s) / sizeof(Ch) - 1);\
return v;\
}
GLuint const GLchar * name
Definition: glext.h:6671
GLdouble s
Definition: glext.h:6390
const GLdouble * v
Definition: glext.h:6391
const TString String(const int i, const int=10)
Definition: Common.h:220

Typedef Documentation

◆ IRemoteSchemaDocumentProvider

IGenericRemoteSchemaDocumentProvider using SchemaDocument.

◆ SchemaDocument

◆ SchemaValidator