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

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

#include <schema.h>

Collaboration diagram for SchemaValidatingReader< parseFlags, InputStream, SourceEncoding, SchemaDocumentType, StackAllocator >:

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

Private Attributes

InputStream & is_
const SchemaDocumentType & sd_
ParseResult parseResult_
PointerType invalidSchemaPointer_
const ChinvalidSchemaKeyword_
PointerType invalidDocumentPointer_
StackAllocator allocator_
ValueType error_
bool isValid_

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.

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

◆ PointerType

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

◆ 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

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.

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

◆ 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

◆ 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

◆ 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

◆ 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

◆ IsValid()

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

◆ 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

Member Data Documentation

◆ allocator_

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

◆ error_

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

◆ invalidDocumentPointer_

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

◆ invalidSchemaKeyword_

template<unsigned parseFlags, typename InputStream, typename SourceEncoding, typename SchemaDocumentType = SchemaDocument, typename StackAllocator = CrtAllocator>
const Ch* SchemaValidatingReader< parseFlags, InputStream, SourceEncoding, SchemaDocumentType, StackAllocator >::invalidSchemaKeyword_
private

◆ invalidSchemaPointer_

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

◆ is_

template<unsigned parseFlags, typename InputStream, typename SourceEncoding, typename SchemaDocumentType = SchemaDocument, typename StackAllocator = CrtAllocator>
InputStream& SchemaValidatingReader< parseFlags, InputStream, SourceEncoding, SchemaDocumentType, StackAllocator >::is_
private

◆ isValid_

template<unsigned parseFlags, typename InputStream, typename SourceEncoding, typename SchemaDocumentType = SchemaDocument, typename StackAllocator = CrtAllocator>
bool SchemaValidatingReader< parseFlags, InputStream, SourceEncoding, SchemaDocumentType, StackAllocator >::isValid_
private

◆ parseResult_

template<unsigned parseFlags, typename InputStream, typename SourceEncoding, typename SchemaDocumentType = SchemaDocument, typename StackAllocator = CrtAllocator>
ParseResult SchemaValidatingReader< parseFlags, InputStream, SourceEncoding, SchemaDocumentType, StackAllocator >::parseResult_
private

◆ sd_

template<unsigned parseFlags, typename InputStream, typename SourceEncoding, typename SchemaDocumentType = SchemaDocument, typename StackAllocator = CrtAllocator>
const SchemaDocumentType& SchemaValidatingReader< parseFlags, InputStream, SourceEncoding, SchemaDocumentType, StackAllocator >::sd_
private

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