rapidjson::GenericSchemaDocument< ValueT, Allocator > Class Template Reference

JSON schema document. More...

`#include <schema.h>`

## Public Types

typedef ValueT | ValueType
typedef IGenericRemoteSchemaDocumentProvider< GenericSchemaDocument > | IRemoteSchemaDocumentProviderType
typedef Allocator | AllocatorType
typedef ValueType::EncodingType | EncodingType
typedef EncodingType::Ch | Ch
typedef internal::Schema< GenericSchemaDocument > | SchemaType
typedef GenericPointer< ValueType, Allocator > | PointerType

## Public Member Functions

| GenericSchemaDocument (const ValueType &document, IRemoteSchemaDocumentProviderType *remoteProvider=0, Allocator *allocator=0)
| Constructor. More...
| ~GenericSchemaDocument ()
| Destructor.
const SchemaType & | GetRoot () const
| Get the root schema.

## Friends

template<typename , typename , typename >
class | GenericSchemaValidator

## Detailed Description

### template<typename ValueT, typename Allocator = CrtAllocator>
class rapidjson::GenericSchemaDocument< ValueT, Allocator >

JSON schema document.

A JSON schema document is a compiled version of a JSON schema. It is basically a tree of internal::Schema.

Note
  This is an immutable class (i.e. its instance cannot be modified after construction).

Template Parameters

  ValueT | Type of JSON value (e.g. `Value` ), which also determine the encoding.
  Allocator | Allocator type for allocating memory of this document.

## Constructor & Destructor Documentation

## GenericSchemaDocument()

template<typename ValueT , typename Allocator = CrtAllocator>

rapidjson::GenericSchemaDocument< ValueT, Allocator >::GenericSchemaDocument | ( | const ValueType & | document,
|  | IRemoteSchemaDocumentProviderType * | remoteProvider = `0`,
|  | Allocator * | allocator = `0`
| ) |  |

inline explicit

Constructor.

Compile a JSON document into schema document.

Parameters

  document | A JSON document as source.
  remoteProvider | An optional remote schema document provider for resolving remote reference. Can be null.
  allocator | An optional allocator instance for allocating memory. Can be null.

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

- include/rapidjson/fwd.h
- include/rapidjson/schema.h