/home/docs/checkouts/readthedocs.org/user_builds/advanced-micro-devices-composable-kernel/checkouts/develop/include/rapidjson/schema.h File Reference

/home/docs/checkouts/readthedocs.org/user_builds/advanced-micro-devices-composable-kernel/checkouts/develop/include/rapidjson/schema.h File Reference#

Composable Kernel: /home/docs/checkouts/readthedocs.org/user_builds/advanced-micro-devices-composable-kernel/checkouts/develop/include/rapidjson/schema.h File Reference
schema.h File Reference
#include "document.h"
#include "pointer.h"
#include "stringbuffer.h"
#include "error/en.h"
#include "uri.h"
#include <cmath>
#include "internal/regex.h"

Go to the source code of this file.

Classes

struct  Specification
 
class  internal::ISchemaValidator
 
class  internal::ISchemaStateFactory< SchemaType >
 
class  internal::IValidationErrorHandler< SchemaType >
 
class  internal::Hasher< Encoding, Allocator >
 
union  internal::Hasher< Encoding, Allocator >::Number::U
 
struct  internal::SchemaValidationContext< SchemaDocumentType >
 
class  internal::Schema< SchemaDocumentType >
 
struct  internal::TokenHelper< Stack, Ch >
 
struct  internal::TokenHelper< Stack, char >
 
class  IGenericRemoteSchemaDocumentProvider< SchemaDocumentType >
 
class  GenericSchemaDocument< ValueT, Allocator >
 JSON schema document. More...
 
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_SCHEMA_PRINT(name, ...)
 
#define RAPIDJSON_INVALID_KEYWORD_RETURN(code)
 
#define RAPIDJSON_VALIDATE_DEFAULT_FLAGS   kValidateNoFlags
 User-defined kValidateDefaultFlags definition. More...
 
#define RAPIDJSON_STRING_(name, ...)
 
#define RAPIDJSON_STRING_(name, ...)
 
#define RAPIDJSON_STRING_(name, ...)
 
#define RAPIDJSON_SCHEMA_HANDLE_BEGIN_(method, arg1)
 
#define RAPIDJSON_SCHEMA_HANDLE_PARALLEL_(method, arg2)
 
#define RAPIDJSON_SCHEMA_HANDLE_END_(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
 

Enumerations

enum  ValidateFlag {
  kValidateNoFlags = 0 ,
  kValidateContinueOnErrorFlag = 1 ,
  kValidateReadFlag = 2 ,
  kValidateWriteFlag = 4 ,
  kValidateDefaultFlags = RAPIDJSON_VALIDATE_DEFAULT_FLAGS
}
 Combination of validate flags. More...
 
enum  SchemaDraft {
  kDraftUnknown = -1 ,
  kDraftNone = 0 ,
  kDraft03 = 3 ,
  kDraftMin = 4 ,
  kDraft04 = 4 ,
  kDraft05 = 5 ,
  kDraftMax = 5 ,
  kDraft06 = 6 ,
  kDraft07 = 7 ,
  kDraft2019_09 = 8 ,
  kDraft2020_12 = 9
}
 
enum  OpenApiVersion {
  kVersionUnknown = -1 ,
  kVersionNone = 0 ,
  kVersionMin = 2 ,
  kVersion20 = 2 ,
  kVersion30 = 3 ,
  kVersionMax = 3 ,
  kVersion31 = 4
}
 

Macro Definition Documentation

◆ RAPIDJSON_INVALID_KEYWORD_RETURN

#define RAPIDJSON_INVALID_KEYWORD_RETURN (   code)
Value:
RAPIDJSON_MULTILINEMACRO_BEGIN\
context.invalidCode = code;\
context.invalidKeyword = SchemaType::GetValidateErrorKeyword(code).GetString();\
RAPIDJSON_SCHEMA_PRINT(InvalidKeyword, context.invalidKeyword);\
return false;\
RAPIDJSON_MULTILINEMACRO_END

◆ RAPIDJSON_SCHEMA_HANDLE_BEGIN_

#define RAPIDJSON_SCHEMA_HANDLE_BEGIN_ (   method,
  arg1 
)
Value:
if (!valid_) return false; \
if ((!BeginValue() && !GetContinueOnErrors()) || (!CurrentSchema().method arg1 && !GetContinueOnErrors())) {\
*documentStack_.template Push<Ch>() = '\0';\
documentStack_.template Pop<Ch>(1);\
RAPIDJSON_SCHEMA_PRINT(InvalidDocument, documentStack_.template Bottom<Ch>());\
valid_ = false;\
return valid_;\
}

◆ RAPIDJSON_SCHEMA_HANDLE_END_

#define RAPIDJSON_SCHEMA_HANDLE_END_ (   method,
  arg2 
)
Value:
valid_ = (EndValue() || GetContinueOnErrors()) && (!outputHandler_ || outputHandler_->method arg2);\
return valid_;

◆ 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;\
}
JSON Schema Validator.
Definition: schema.h:2440
RAPIDJSON_NAMESPACE_BEGIN typedef unsigned SizeType
Size type (for string lengths, array sizes, etc.)
Definition: rapidjson.h:415

◆ 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)
#define RAPIDJSON_SCHEMA_HANDLE_BEGIN_(method, arg1)
Definition: schema.h:2799

◆ RAPIDJSON_SCHEMA_HAS_REGEX

#define RAPIDJSON_SCHEMA_HAS_REGEX   1

◆ RAPIDJSON_SCHEMA_PRINT

#define RAPIDJSON_SCHEMA_PRINT (   name,
  ... 
)

◆ 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_ [1/3]

#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;\
}

◆ RAPIDJSON_STRING_ [2/3]

#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;\
}

◆ RAPIDJSON_STRING_ [3/3]

#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;\
}

Typedef Documentation

◆ IRemoteSchemaDocumentProvider

◆ SchemaDocument

◆ SchemaValidator

Enumeration Type Documentation

◆ OpenApiVersion

Enumerator
kVersionUnknown 
kVersionNone 
kVersionMin 

Current minimum supported version.

kVersion20 
kVersion30 
kVersionMax 

Current maximum supported version.

kVersion31 

◆ SchemaDraft

Enumerator
kDraftUnknown 
kDraftNone 
kDraft03 
kDraftMin 

Current minimum supported draft.

kDraft04 
kDraft05 
kDraftMax 

Current maximum supported draft.

kDraft06 
kDraft07 
kDraft2019_09 
kDraft2020_12 

◆ ValidateFlag

Combination of validate flags.

Enumerator
kValidateNoFlags 

No flags are set.

kValidateContinueOnErrorFlag 

Don't stop after first validation error.

kValidateReadFlag 

Validation is for a read semantic.

kValidateWriteFlag 

Validation is for a write semantic.

kValidateDefaultFlags 

Default validate flags. Can be customized by defining RAPIDJSON_VALIDATE_DEFAULT_FLAGS.