Electroneum
Loading...
Searching...
No Matches
SchemaValidatingReader< parseFlags, InputStream, SourceEncoding, SchemaDocumentType, StackAllocator > Class Template Reference

A helper class for parsing with validation. More...

#include <schema.h>

Public Types

typedef SchemaDocumentType::PointerType PointerType
typedef InputStream::Ch Ch
typedef GenericValue< SourceEncoding, StackAllocator > ValueType

Public Member Functions

 SchemaValidatingReader (InputStream &is, const SchemaDocumentType &sd)
 Constructor.
template<typename Handler>
bool operator() (Handler &handler)
const ParseResultGetParseResult () const
bool IsValid () const
const PointerTypeGetInvalidSchemaPointer () const
const ChGetInvalidSchemaKeyword () const
const PointerTypeGetInvalidDocumentPointer () const
const ValueTypeGetError () const

Detailed Description

template<unsigned parseFlags, typename InputStream, typename SourceEncoding, typename SchemaDocumentType = SchemaDocument, typename StackAllocator = CrtAllocator>
class SchemaValidatingReader< parseFlags, InputStream, SourceEncoding, SchemaDocumentType, StackAllocator >

A helper class for parsing with validation.

This helper class is a functor, designed as a parameter of GenericDocument::Populate().

Template Parameters
parseFlagsCombination of ParseFlag.
InputStreamType of input stream, implementing Stream concept.
SourceEncodingEncoding of the input stream.
SchemaDocumentTypeType of schema document.
StackAllocatorAllocator type for stack.

Definition at line 2435 of file schema.h.

Member Typedef Documentation

◆ Ch

template<unsigned parseFlags, typename InputStream, typename SourceEncoding, typename SchemaDocumentType = SchemaDocument, typename StackAllocator = CrtAllocator>
typedef InputStream::Ch SchemaValidatingReader< parseFlags, InputStream, SourceEncoding, SchemaDocumentType, StackAllocator >::Ch

Definition at line 2438 of file schema.h.

◆ PointerType

template<unsigned parseFlags, typename InputStream, typename SourceEncoding, typename SchemaDocumentType = SchemaDocument, typename StackAllocator = CrtAllocator>
typedef SchemaDocumentType::PointerType SchemaValidatingReader< parseFlags, InputStream, SourceEncoding, SchemaDocumentType, StackAllocator >::PointerType

Definition at line 2437 of file schema.h.

◆ ValueType

template<unsigned parseFlags, typename InputStream, typename SourceEncoding, typename SchemaDocumentType = SchemaDocument, typename StackAllocator = CrtAllocator>
typedef GenericValue<SourceEncoding, StackAllocator> SchemaValidatingReader< parseFlags, InputStream, SourceEncoding, SchemaDocumentType, StackAllocator >::ValueType

Definition at line 2439 of file schema.h.

Constructor & Destructor Documentation

◆ SchemaValidatingReader()

template<unsigned parseFlags, typename InputStream, typename SourceEncoding, typename SchemaDocumentType = SchemaDocument, typename StackAllocator = CrtAllocator>
SchemaValidatingReader< parseFlags, InputStream, SourceEncoding, SchemaDocumentType, StackAllocator >::SchemaValidatingReader ( InputStream & is,
const SchemaDocumentType & sd )
inline

Constructor.

Parameters
isInput stream.
sdSchema document.

Definition at line 2446 of file schema.h.

2446: is_(is), sd_(sd), invalidSchemaKeyword_(), error_(kObjectType), isValid_(true) {}
A helper class for parsing with validation.
Definition schema.h:2435

Member Function Documentation

◆ GetError()

template<unsigned parseFlags, typename InputStream, typename SourceEncoding, typename SchemaDocumentType = SchemaDocument, typename StackAllocator = CrtAllocator>
const ValueType & SchemaValidatingReader< parseFlags, InputStream, SourceEncoding, SchemaDocumentType, StackAllocator >::GetError ( ) const
inline

Definition at line 2476 of file schema.h.

2476{ return error_; }
Here is the caller graph for this function:

◆ GetInvalidDocumentPointer()

template<unsigned parseFlags, typename InputStream, typename SourceEncoding, typename SchemaDocumentType = SchemaDocument, typename StackAllocator = CrtAllocator>
const PointerType & SchemaValidatingReader< parseFlags, InputStream, SourceEncoding, SchemaDocumentType, StackAllocator >::GetInvalidDocumentPointer ( ) const
inline

Definition at line 2475 of file schema.h.

2475{ return invalidDocumentPointer_; }
Here is the caller graph for this function:

◆ GetInvalidSchemaKeyword()

template<unsigned parseFlags, typename InputStream, typename SourceEncoding, typename SchemaDocumentType = SchemaDocument, typename StackAllocator = CrtAllocator>
const Ch * SchemaValidatingReader< parseFlags, InputStream, SourceEncoding, SchemaDocumentType, StackAllocator >::GetInvalidSchemaKeyword ( ) const
inline

Definition at line 2474 of file schema.h.

2474{ return invalidSchemaKeyword_; }
Here is the caller graph for this function:

◆ GetInvalidSchemaPointer()

template<unsigned parseFlags, typename InputStream, typename SourceEncoding, typename SchemaDocumentType = SchemaDocument, typename StackAllocator = CrtAllocator>
const PointerType & SchemaValidatingReader< parseFlags, InputStream, SourceEncoding, SchemaDocumentType, StackAllocator >::GetInvalidSchemaPointer ( ) const
inline

Definition at line 2473 of file schema.h.

2473{ return invalidSchemaPointer_; }
Here is the caller graph for this function:

◆ GetParseResult()

template<unsigned parseFlags, typename InputStream, typename SourceEncoding, typename SchemaDocumentType = SchemaDocument, typename StackAllocator = CrtAllocator>
const ParseResult & SchemaValidatingReader< parseFlags, InputStream, SourceEncoding, SchemaDocumentType, StackAllocator >::GetParseResult ( ) const
inline

Definition at line 2471 of file schema.h.

2471{ return parseResult_; }
Here is the caller graph for this function:

◆ IsValid()

template<unsigned parseFlags, typename InputStream, typename SourceEncoding, typename SchemaDocumentType = SchemaDocument, typename StackAllocator = CrtAllocator>
bool SchemaValidatingReader< parseFlags, InputStream, SourceEncoding, SchemaDocumentType, StackAllocator >::IsValid ( ) const
inline

Definition at line 2472 of file schema.h.

2472{ return isValid_; }
Here is the caller graph for this function:

◆ operator()()

template<unsigned parseFlags, typename InputStream, typename SourceEncoding, typename SchemaDocumentType = SchemaDocument, typename StackAllocator = CrtAllocator>
template<typename Handler>
bool SchemaValidatingReader< parseFlags, InputStream, SourceEncoding, SchemaDocumentType, StackAllocator >::operator() ( Handler & handler)
inline

Definition at line 2449 of file schema.h.

2449 {
2452 parseResult_ = reader.template Parse<parseFlags>(is_, validator);
2453
2454 isValid_ = validator.IsValid();
2455 if (isValid_) {
2456 invalidSchemaPointer_ = PointerType();
2457 invalidSchemaKeyword_ = 0;
2458 invalidDocumentPointer_ = PointerType();
2459 error_.SetObject();
2460 }
2461 else {
2462 invalidSchemaPointer_ = validator.GetInvalidSchemaPointer();
2463 invalidSchemaKeyword_ = validator.GetInvalidSchemaKeyword();
2464 invalidDocumentPointer_ = validator.GetInvalidDocumentPointer();
2465 error_.CopyFrom(validator.GetError(), allocator_);
2466 }
2467
2468 return parseResult_;
2469 }
const PointerType & GetInvalidDocumentPointer() const
Definition schema.h:2475
SchemaDocumentType::PointerType PointerType
Definition schema.h:2437
bool IsValid() const
Definition schema.h:2472
const PointerType & GetInvalidSchemaPointer() const
Definition schema.h:2473
const Ch * GetInvalidSchemaKeyword() const
Definition schema.h:2474
const ValueType & GetError() const
Definition schema.h:2476
Here is the call graph for this function:

The documentation for this class was generated from the following file:
  • /home/abuild/rpmbuild/BUILD/electroneum-5.1.3.1-build/electroneum-5.1.3.1/external/rapidjson/include/rapidjson/schema.h