15 #ifndef RAPIDJSON_SCHEMA_H_ 16 #define RAPIDJSON_SCHEMA_H_ 22 #if !defined(RAPIDJSON_SCHEMA_USE_INTERNALREGEX) 23 #define RAPIDJSON_SCHEMA_USE_INTERNALREGEX 1 25 #define RAPIDJSON_SCHEMA_USE_INTERNALREGEX 0 28 #if !RAPIDJSON_SCHEMA_USE_INTERNALREGEX && !defined(RAPIDJSON_SCHEMA_USE_STDREGEX) && (__cplusplus >=201103L || (defined(_MSC_VER) && _MSC_VER >= 1800)) 29 #define RAPIDJSON_SCHEMA_USE_STDREGEX 1 31 #define RAPIDJSON_SCHEMA_USE_STDREGEX 0 34 #if RAPIDJSON_SCHEMA_USE_INTERNALREGEX 36 #elif RAPIDJSON_SCHEMA_USE_STDREGEX 40 #if RAPIDJSON_SCHEMA_USE_INTERNALREGEX || RAPIDJSON_SCHEMA_USE_STDREGEX 41 #define RAPIDJSON_SCHEMA_HAS_REGEX 1 43 #define RAPIDJSON_SCHEMA_HAS_REGEX 0 46 #ifndef RAPIDJSON_SCHEMA_VERBOSE 47 #define RAPIDJSON_SCHEMA_VERBOSE 0 50 #if RAPIDJSON_SCHEMA_VERBOSE 57 RAPIDJSON_DIAG_OFF(effc++)
61 RAPIDJSON_DIAG_OFF(weak-vtables)
62 RAPIDJSON_DIAG_OFF(exit-
time-destructors)
63 RAPIDJSON_DIAG_OFF(
c++98-compat-pedantic)
64 RAPIDJSON_DIAG_OFF(variadic-
macros)
68 RAPIDJSON_DIAG_OFF(4512)
76 #if RAPIDJSON_SCHEMA_VERBOSE 80 inline void PrintInvalidKeyword(
const char* keyword) {
81 printf(
"Fail keyword: %s\n", keyword);
84 inline void PrintInvalidKeyword(
const wchar_t* keyword) {
85 wprintf(
L"Fail keyword: %ls\n", keyword);
88 inline void PrintInvalidDocument(
const char* document) {
89 printf(
"Fail document: %s\n\n", document);
92 inline void PrintInvalidDocument(
const wchar_t* document) {
93 wprintf(
L"Fail document: %ls\n\n", document);
96 inline void PrintValidatorPointers(
unsigned depth,
const char*
s,
const char* d) {
97 printf(
"S: %*s%s\nD: %*s%s\n\n",
depth * 4,
" ",
s,
depth * 4,
" ", d);
100 inline void PrintValidatorPointers(
unsigned depth,
const wchar_t*
s,
const wchar_t* d) {
101 wprintf(
L"S: %*ls%ls\nD: %*ls%ls\n\n",
depth * 4,
L" ",
s,
depth * 4,
L" ", d);
106 #endif // RAPIDJSON_SCHEMA_VERBOSE 111 #if RAPIDJSON_SCHEMA_VERBOSE 112 #define RAPIDJSON_INVALID_KEYWORD_VERBOSE(keyword) internal::PrintInvalidKeyword(keyword) 114 #define RAPIDJSON_INVALID_KEYWORD_VERBOSE(keyword) 117 #define RAPIDJSON_INVALID_KEYWORD_RETURN(keyword)\ 118 RAPIDJSON_MULTILINEMACRO_BEGIN\ 119 context.invalidKeyword = keyword.GetString();\ 120 RAPIDJSON_INVALID_KEYWORD_VERBOSE(keyword.GetString());\ 122 RAPIDJSON_MULTILINEMACRO_END 127 template <
typename ValueType,
typename Allocator>
132 template <
typename SchemaDocumentType>
141 virtual bool IsValid()
const = 0;
147 template <
typename SchemaType>
164 template<
typename Encoding,
typename Allocator>
167 typedef typename Encoding::Ch
Ch;
179 if (d < 0)
n.u.i =
static_cast<int64_t>(d);
200 for (
SizeType i = 0; i < memberCount; i++)
201 h ^=
Hash(kv[i * 2], kv[i * 2 + 1]);
202 *
stack_.template Push<uint64_t>() =
h;
210 for (
SizeType i = 0; i < elementCount; i++)
212 *
stack_.template Push<uint64_t>() =
h;
220 return *
stack_.template Top<uint64_t>();
240 const unsigned char* d =
static_cast<const unsigned char*
>(
data);
241 for (
size_t i = 0; i <
len; i++)
243 *
stack_.template Push<uint64_t>() =
h;
260 template <
typename SchemaDocumentType>
265 typedef typename ValueType::Ch
Ch;
337 template <
typename SchemaDocumentType>
340 typedef typename SchemaDocumentType::ValueType
ValueType;
344 typedef typename EncodingType::Ch
Ch;
382 typedef typename SchemaDocumentType::ValueType
ValueType;
383 typedef typename ValueType::ConstValueIterator ConstValueIterator;
384 typedef typename ValueType::ConstMemberIterator ConstMemberIterator;
386 if (!
value.IsObject())
393 else if (
v->IsArray())
394 for (ConstValueIterator itr =
v->Begin(); itr !=
v->End(); ++itr)
399 if (
v->IsArray() &&
v->Size() > 0) {
401 for (ConstValueIterator itr =
v->Begin(); itr !=
v->End(); ++itr) {
405 EnumHasherType
h(&hasherAllocator, 256);
411 if (schemaDocument) {
418 schemaDocument->CreateSchema(&
not_,
p.Append(GetNotString(),
allocator_), *
v, document);
432 if (properties && properties->IsObject())
433 for (ConstMemberIterator itr = properties->MemberBegin(); itr != properties->MemberEnd(); ++itr)
436 if (required && required->IsArray())
437 for (ConstValueIterator itr = required->Begin(); itr != required->End(); ++itr)
441 if (dependencies && dependencies->IsObject())
442 for (ConstMemberIterator itr = dependencies->MemberBegin(); itr != dependencies->MemberEnd(); ++itr) {
444 if (itr->value.IsArray())
445 for (ConstValueIterator i = itr->value.Begin(); i != itr->value.End(); ++i)
450 if (allProperties.Size() > 0) {
461 if (properties && properties->IsObject()) {
463 for (ConstMemberIterator itr = properties->MemberBegin(); itr != properties->MemberEnd(); ++itr) {
475 for (ConstMemberIterator itr =
v->MemberBegin(); itr !=
v->MemberEnd(); ++itr) {
483 if (required && required->IsArray())
484 for (ConstValueIterator itr = required->Begin(); itr != required->End(); ++itr)
485 if (itr->IsString()) {
493 if (dependencies && dependencies->IsObject()) {
496 for (ConstMemberIterator itr = dependencies->MemberBegin(); itr != dependencies->MemberEnd(); ++itr) {
499 if (itr->value.IsArray()) {
502 for (ConstValueIterator targetItr = itr->value.Begin(); targetItr != itr->value.End(); ++targetItr) {
505 properties_[sourceIndex].dependencies[targetIndex] =
true;
508 else if (itr->value.IsObject()) {
510 schemaDocument->CreateSchema(&
properties_[sourceIndex].dependenciesSchema,
q.Append(itr->name,
allocator_), itr->value, document);
521 else if (
v->IsObject())
532 schemaDocument->CreateSchema(&
itemsList_,
q, *
v, document);
533 else if (
v->IsArray()) {
536 for (ConstValueIterator itr =
v->Begin(); itr !=
v->End(); ++itr,
index++)
547 else if (
v->IsObject())
573 if (
v->IsNumber() &&
v->GetDouble() > 0.0)
592 #if RAPIDJSON_SCHEMA_HAS_REGEX 627 bool otherValid =
false;
632 bool patternValid =
true;
635 patternValid =
false;
644 if (!patternValid || !otherValid)
647 else if (!patternValid && !otherValid)
674 bool oneValid =
false;
750 if (internal::CountStringCodePoint<EncodingType>(
str,
length, &
count)) {
849 else if (
properties_[sourceIndex].dependenciesSchema)
881 #define RAPIDJSON_STRING_(name, ...) \ 882 static const ValueType& Get##name##String() {\ 883 static const Ch s[] = { __VA_ARGS__, '\0' };\ 884 static const ValueType v(s, sizeof(s) / sizeof(Ch) - 1);\ 901 RAPIDJSON_STRING_(Properties, '
p', '
r', 'o', '
p', 'e', '
r', '
t', 'i', 'e', '
s')
903 RAPIDJSON_STRING_(Dependencies, 'd', 'e', '
p', 'e', '
n', 'd', 'e', '
n', '
c', 'i', 'e', '
s')
904 RAPIDJSON_STRING_(PatternProperties, '
p', '
a', '
t', '
t', 'e', '
r', '
n', '
P', '
r', 'o', '
p', 'e', '
r', '
t', 'i', 'e', '
s')
905 RAPIDJSON_STRING_(AdditionalProperties, '
a', 'd', 'd', 'i', '
t', 'i', 'o', '
n', '
a', '
l', '
P', '
r', 'o', '
p', 'e', '
r', '
t', 'i', 'e', '
s')
906 RAPIDJSON_STRING_(MinProperties, '
m', 'i', '
n', '
P', '
r', 'o', '
p', 'e', '
r', '
t', 'i', 'e', '
s')
907 RAPIDJSON_STRING_(MaxProperties, '
m', '
a', '
x', '
P', '
r', 'o', '
p', 'e', '
r', '
t', 'i', 'e', '
s')
911 RAPIDJSON_STRING_(AdditionalItems, '
a', 'd', 'd', 'i', '
t', 'i', 'o', '
n', '
a', '
l', 'I', '
t', 'e', '
m', '
s')
912 RAPIDJSON_STRING_(UniqueItems, 'u', '
n', 'i', '
q', 'u', 'e', 'I', '
t', 'e', '
m', '
s')
918 RAPIDJSON_STRING_(ExclusiveMinimum, 'e', '
x', '
c', '
l', 'u', '
s', 'i', '
v', 'e', 'M', 'i', '
n', 'i', '
m', 'u', '
m')
919 RAPIDJSON_STRING_(ExclusiveMaximum, 'e', '
x', '
c', '
l', 'u', '
s', 'i', '
v', 'e', 'M', '
a', '
x', 'i', '
m', 'u', '
m')
920 RAPIDJSON_STRING_(MultipleOf, '
m', 'u', '
l', '
t', 'i', '
p', '
l', 'e', 'O', '
f')
922 #undef RAPIDJSON_STRING_ 936 #if RAPIDJSON_SCHEMA_USE_INTERNALREGEX 938 #elif RAPIDJSON_SCHEMA_USE_STDREGEX 957 template <
typename V1,
typename V2>
959 for (
typename V1::ConstValueIterator itr =
a.Begin(); itr !=
a.End(); ++itr)
967 typename ValueType::ConstMemberIterator itr =
value.FindMember(
name);
968 return itr !=
value.MemberEnd() ? &(itr->value) : 0;
979 if (
v->IsUint64() &&
v->GetUint64() <=
SizeType(~0))
980 out = static_cast<SizeType>(
v->GetUint64());
985 if (
v->IsArray() &&
v->Size() > 0) {
987 out.count =
v->Size();
991 schemaDocument.CreateSchema(&
out.schemas[i],
q.Append(i,
allocator_), (*v)[i], document);
998 #if RAPIDJSON_SCHEMA_USE_INTERNALREGEX 999 template <
typename ValueType>
1001 if (
value.IsString()) {
1003 if (!
r->IsValid()) {
1005 AllocatorType::Free(
r);
1016 #elif RAPIDJSON_SCHEMA_USE_STDREGEX 1017 template <
typename ValueType>
1019 if (
value.IsString())
1023 catch (
const std::regex_error&) {
1029 std::match_results<const Ch*>
r;
1033 template <
typename ValueType>
1037 #endif // RAPIDJSON_SCHEMA_USE_STDREGEX 1128 if (static_cast<uint64_t>(i >= 0 ? i : -i) %
multipleOf_.GetUint64() != 0)
1189 double a = std::abs(d),
b = std::abs(
multipleOf_.GetDouble());
1191 double r =
a -
q *
b;
1263 template<
typename Stack,
typename Ch>
1266 *documentStack.template Push<Ch>() =
'/';
1269 for (
size_t i = 0; i <
length; i++)
1270 *documentStack.template Push<Ch>() =
buffer[i];
1275 template <
typename Stack>
1279 char *
buffer = documentStack.template Push<char>(1 + 10);
1282 documentStack.template Pop<char>(
static_cast<size_t>(10 - (
end -
buffer)));
1285 char *
buffer = documentStack.template Push<char>(1 + 20);
1288 documentStack.template Pop<char>(
static_cast<size_t>(20 - (
end -
buffer)));
1298 template <
typename SchemaDocumentType>
1301 typedef typename SchemaDocumentType::Ch
Ch;
1319 template <
typename ValueT,
typename Allocator = CrtAllocator>
1326 typedef typename EncodingType::Ch
Ch;
1330 template <
typename,
typename,
typename>
1368 refEntry->~SchemaRefEntry();
1376 #if RAPIDJSON_HAS_CXX11_RVALUE_REFS 1386 rhs.remoteProvider_ = 0;
1388 rhs.ownAllocator_ = 0;
1395 schemaMap_.template Pop<SchemaEntry>(1)->~SchemaEntry();
1438 for (
typename ValueType::ConstMemberIterator itr =
v.MemberBegin(); itr !=
v.MemberEnd(); ++itr)
1459 static const Ch kRefString[] = {
'$',
'r',
'e',
'f',
'\0' };
1460 static const ValueType kRefValue(kRefString, 4);
1462 typename ValueType::ConstMemberIterator itr =
v.FindMember(kRefValue);
1463 if (itr ==
v.MemberEnd())
1466 if (itr->value.IsString()) {
1469 const Ch*
s = itr->value.GetString();
1471 while (i <
len &&
s[i] !=
'#')
1488 else if (
s[i] ==
'#') {
1513 if (schema ==
target->schema)
1550 typename SchemaDocumentType,
1561 typedef typename EncodingType::Ch
Ch;
1571 const SchemaDocumentType& schemaDocument,
1572 StateAllocator* allocator = 0,
1577 root_(schemaDocument.GetRoot()),
1598 const SchemaDocumentType& schemaDocument,
1599 OutputHandler& outputHandler,
1600 StateAllocator* allocator = 0,
1605 root_(schemaDocument.GetRoot()),
1651 #if RAPIDJSON_SCHEMA_VERBOSE 1652 #define RAPIDJSON_SCHEMA_HANDLE_BEGIN_VERBOSE_() \ 1653 RAPIDJSON_MULTILINEMACRO_BEGIN\ 1654 *documentStack_.template Push<Ch>() = '\0';\ 1655 documentStack_.template Pop<Ch>(1);\ 1656 internal::PrintInvalidDocument(documentStack_.template Bottom<Ch>());\ 1657 RAPIDJSON_MULTILINEMACRO_END 1659 #define RAPIDJSON_SCHEMA_HANDLE_BEGIN_VERBOSE_() 1662 #define RAPIDJSON_SCHEMA_HANDLE_BEGIN_(method, arg1)\ 1663 if (!valid_) return false; \ 1664 if (!BeginValue() || !CurrentSchema().method arg1) {\ 1665 RAPIDJSON_SCHEMA_HANDLE_BEGIN_VERBOSE_();\ 1666 return valid_ = false;\ 1669 #define RAPIDJSON_SCHEMA_HANDLE_PARALLEL_(method, arg2)\ 1670 for (Context* context = schemaStack_.template Bottom<Context>(); context != schemaStack_.template End<Context>(); context++) {\ 1671 if (context->hasher)\ 1672 static_cast<HasherType*>(context->hasher)->method arg2;\ 1673 if (context->validators)\ 1674 for (SizeType i_ = 0; i_ < context->validatorCount; i_++)\ 1675 static_cast<GenericSchemaValidator*>(context->validators[i_])->method arg2;\ 1676 if (context->patternPropertiesValidators)\ 1677 for (SizeType i_ = 0; i_ < context->patternPropertiesValidatorCount; i_++)\ 1678 static_cast<GenericSchemaValidator*>(context->patternPropertiesValidators[i_])->method arg2;\ 1681 #define RAPIDJSON_SCHEMA_HANDLE_END_(method, arg2)\ 1682 return valid_ = EndValue() && outputHandler_.method arg2 1684 #define RAPIDJSON_SCHEMA_HANDLE_VALUE_(method, arg1, arg2) \ 1685 RAPIDJSON_SCHEMA_HANDLE_BEGIN_ (method, arg1);\ 1686 RAPIDJSON_SCHEMA_HANDLE_PARALLEL_(method, arg2);\ 1687 RAPIDJSON_SCHEMA_HANDLE_END_ (method, arg2) 1708 if (!
valid_)
return false;
1716 if (!
valid_)
return false;
1729 if (!
valid_)
return false;
1735 #undef RAPIDJSON_SCHEMA_HANDLE_BEGIN_VERBOSE_ 1736 #undef RAPIDJSON_SCHEMA_HANDLE_BEGIN_ 1737 #undef RAPIDJSON_SCHEMA_HANDLE_PARALLEL_ 1738 #undef RAPIDJSON_SCHEMA_HANDLE_VALUE_ 1752 StateAllocator::Free(
v);
1766 StateAllocator::Free(
h);
1774 return StateAllocator::Free(
p);
1783 const SchemaDocumentType& schemaDocument,
1788 StateAllocator* allocator = 0,
1824 typename Context::PatternValidatorType patternValidatorType =
CurrentContext().valuePatternValidatorType;
1830 CurrentContext().objectPatternValidatorType = patternValidatorType;
1831 ISchemaValidator**& va =
CurrentContext().patternPropertiesValidators;
1833 va =
static_cast<ISchemaValidator**
>(
MallocState(
sizeof(ISchemaValidator*) *
count));
1847 #if RAPIDJSON_SCHEMA_VERBOSE 1862 if (context.valueUniqueness) {
1867 if (itr->GetUint64() ==
h)
1884 if (
str[i] ==
'~') {
1888 else if (
str[i] ==
'/') {
1901 if (
HashCodeArray*
a = static_cast<HashCodeArray*>(
c->arrayElementHashCodes)) {
1902 a->~HashCodeArray();
1903 StateAllocator::Free(
a);
1913 static OutputHandler nullHandler;
1927 #if RAPIDJSON_SCHEMA_VERBOSE 1948 unsigned parseFlags,
1949 typename InputStream,
1950 typename SourceEncoding,
1956 typedef typename InputStream::Ch
Ch;
1965 template <
typename Handler>
1994 const SchemaDocumentType&
sd_;
2006 #endif // RAPIDJSON_SCHEMA_H_
ValueT ValueType
Definition: schema.h:1322
ISchemaStateFactory< SchemaType > SchemaValidatorFactoryType
Definition: schema.h:263
static void AssignIfExist(SizeType &out, const ValueType &value, const ValueType &name)
Definition: schema.h:977
JSON schema document.
Definition: fwd.h:136
~Schema()
Definition: schema.h:577
bool CheckDoubleMultipleOf(Context &context, double d) const
Definition: schema.h:1188
PointerType pointer
Definition: schema.h:1424
StateAllocator * stateAllocator_
Definition: schema.h:1922
union internal::Hasher::Number::U u
bool RawNumber(const Ch *str, SizeType length, bool copy)
Definition: schema.h:1696
GenericSchemaDocument & operator=(const GenericSchemaDocument &)
Prohibit assignment.
GLuint const GLchar * name
Definition: glext.h:6671
Allocator * allocator_
Definition: schema.h:1522
bool String(const Ch *str, SizeType len, bool)
Definition: schema.h:190
bool Uint(unsigned u)
Definition: schema.h:174
true
Definition: rapidjson.h:606
A helper class for parsing with validation.
Definition: schema.h:1953
bool valueUniqueness
Definition: schema.h:330
GenericPointer< ValueType, Allocator > PointerType
Definition: schema.h:1328
A type-unsafe stack for storing different types of data.
Definition: stack.h:36
bool additionalItems_
Definition: schema.h:1249
~GenericSchemaDocument()
Destructor.
Definition: schema.h:1393
uint64_t * enum_
Definition: schema.h:1221
bool WriteNumber(const Number &n)
Definition: schema.h:235
PatternProperty * patternProperties_
Definition: schema.h:1233
Definition: schema.h:1197
bool Null(Context &context) const
Definition: schema.h:692
bool EndArray(Context &context, SizeType elementCount) const
Definition: schema.h:868
bool StartArray()
Definition: schema.h:206
StateAllocator * ownStateAllocator_
Definition: schema.h:1923
const SchemaType & GetRoot() const
Get the root schema.
Definition: schema.h:1401
SchemaDocumentType::SchemaType SchemaType
Definition: schema.h:1558
const Ch * GetInvalidSchemaKeyword() const
Gets the keyword of invalid schema.
Definition: schema.h:1642
GLuint buffer
Definition: glext.h:6555
bool StartArray()
Definition: schema.h:1722
const PointerType & GetInvalidDocumentPointer() const
Definition: schema.h:1990
array
Definition: rapidjson.h:608
virtual void DestroryHasher(void *hasher)
Definition: schema.h:1763
static const char * reader(lua_State *L, void *ud, size_t *size)
Definition: luac.c:122
bool Key(const Ch *str, SizeType len, bool copy)
Definition: schema.h:196
string
Definition: rapidjson.h:609
bool EndObject(SizeType memberCount)
Definition: schema.h:1715
bool Double(double d)
Definition: schema.h:1695
virtual void * MallocState(size_t size)=0
IGenericRemoteSchemaDocumentProvider< SchemaDocument > IRemoteSchemaDocumentProvider
IGenericRemoteSchemaDocumentProvider using SchemaDocument.
Definition: schema.h:1532
const PointerType & GetInvalidSchemaPointer() const
Definition: schema.h:1988
StateAllocator & GetStateAllocator()
Definition: schema.h:1806
def macros
Definition: glgen.py:97
virtual const SchemaDocumentType * GetRemoteDocument(const Ch *uri, SizeType length)=0
virtual ~ISchemaStateFactory()
Definition: schema.h:150
SchemaDocumentType::PointerType PointerType
Definition: schema.h:342
static const size_t kDefaultSchemaStackCapacity
Definition: schema.h:1917
virtual void FreeState(void *p)
Definition: schema.h:1773
bool Bool(bool b)
Definition: schema.h:1690
bool StartObject()
Definition: schema.h:1701
bool Key(Context &context, const Ch *str, SizeType len, bool) const
Definition: schema.h:783
bool Uint64(uint64_t u)
Definition: schema.h:176
OutputHandler & outputHandler_
Definition: schema.h:1921
#define RAPIDJSON_NEW(x)
! customization point for global new
Definition: rapidjson.h:586
Allocator AllocatorType
Definition: schema.h:1324
SchemaValueType
Definition: schema.h:925
ValueType::EncodingType EncodingType
Definition: schema.h:1325
GLdouble GLdouble GLdouble r
Definition: glext.h:6406
SizeType itemsTupleCount_
Definition: schema.h:1246
ValueType::Ch Ch
Definition: schema.h:265
Definition: schema.h:1416
GLdouble GLdouble t
Definition: glext.h:6398
PointerType GetInvalidSchemaPointer() const
Gets the JSON pointer pointed to the invalid schema.
Definition: schema.h:1637
GenericSchemaValidator(const SchemaDocumentType &schemaDocument, StateAllocator *allocator=0, size_t schemaStackCapacity=kDefaultSchemaStackCapacity, size_t documentStackCapacity=kDefaultDocumentStackCapacity)
Constructor without output handler.
Definition: schema.h:1570
Schema(SchemaDocumentType *schemaDocument, const PointerType &p, const ValueType &value, const ValueType &document, AllocatorType *allocator)
Definition: schema.h:350
static RAPIDJSON_FORCEINLINE void AppendIndexToken(Stack &documentStack, SizeType index)
Definition: schema.h:1277
GLenum GLsizei len
Definition: glext.h:7389
bool WriteType(Type type)
Definition: schema.h:233
false
Definition: rapidjson.h:605
static bool IsPatternMatch(const RegexType *pattern, const Ch *str, SizeType)
Definition: schema.h:1013
bool hasSchemaDependencies_
Definition: schema.h:1241
const SchemaType ** schema
Definition: schema.h:1413
Definition: schema.h:1264
#define P(a, b, c, d, k, s, t)
const Context & CurrentContext() const
Definition: schema.h:1910
bool exclusiveMinimum_
Definition: schema.h:1259
virtual ISchemaValidator * CreateSchemaValidator(const SchemaType &root)
Definition: schema.h:1741
static OutputHandler & GetNullHandler()
Definition: schema.h:1912
object
Definition: rapidjson.h:607
size_t GetSize() const
Definition: stack.h:176
GLsizeiptr size
Definition: glext.h:6559
C-runtime library allocator.
Definition: allocators.h:62
PointerType target
Definition: schema.h:1412
GenericSchemaValidator(const SchemaDocumentType &schemaDocument, const SchemaType &root, StateAllocator *allocator=0, size_t schemaStackCapacity=kDefaultSchemaStackCapacity, size_t documentStackCapacity=kDefaultDocumentStackCapacity)
Definition: schema.h:1782
GLfloat f
Definition: glext.h:8207
bool isValid_
Definition: schema.h:2000
char * u64toa(uint64_t value, char *buffer)
Definition: itoa.h:123
set set set set set set set macro pixldst1 abits if abits op else op endif endm macro pixldst2 abits if abits op else op endif endm macro pixldst4 abits if abits op else op endif endm macro pixldst0 abits op endm macro pixldst3 mem_operand op endm macro pixldst30 mem_operand op endm macro pixldst abits if abits elseif abits elseif abits elseif abits elseif abits pixldst0 abits else pixldst0 abits pixldst0 abits pixldst0 abits pixldst0 abits endif elseif abits else pixldst0 abits pixldst0 abits endif elseif abits else error unsupported bpp *numpix else pixst endif endm macro pixld1_s mem_operand if asr adds SRC_WIDTH_FIXED bpl add asl mov asr adds SRC_WIDTH_FIXED bpl add asl mov asr adds SRC_WIDTH_FIXED bpl add asl mov asr adds SRC_WIDTH_FIXED bpl add asl elseif asr adds SRC_WIDTH_FIXED bpl add asl mov asr adds SRC_WIDTH_FIXED bpl add asl else error unsupported endif endm macro pixld2_s mem_operand if mov asr add asl add asl mov asr sub UNIT_X add asl mov asr add asl add asl mov asr add UNIT_X add asl else pixld1_s mem_operand pixld1_s mem_operand endif endm macro pixld0_s mem_operand if asr adds SRC_WIDTH_FIXED bpl add asl elseif asr adds SRC_WIDTH_FIXED bpl add asl endif endm macro pixld_s_internal mem_operand if mem_operand pixld2_s mem_operand pixdeinterleave basereg elseif mem_operand elseif mem_operand elseif mem_operand elseif mem_operand pixld0_s mem_operand else pixld0_s mem_operand pixld0_s mem_operand pixld0_s mem_operand pixld0_s mem_operand endif elseif mem_operand else pixld0_s mem_operand pixld0_s mem_operand endif elseif mem_operand else error unsupported mem_operand if bpp mem_operand endif endm macro vuzp8 reg2 vuzp d d ®2 endm macro vzip8 reg2 vzip d d ®2 endm macro pixdeinterleave basereg basereg basereg basereg basereg endif endm macro pixinterleave basereg basereg basereg basereg basereg endif endm macro PF boost_increment endif if endif PF tst PF addne PF subne PF cmp ORIG_W if endif if endif if endif PF subge ORIG_W PF subges if endif if endif if endif endif endm macro cache_preload_simple endif if dst_r_bpp pld [DST_R, #(PREFETCH_DISTANCE_SIMPLE *dst_r_bpp/8)] endif if mask_bpp pld endif[MASK, #(PREFETCH_DISTANCE_SIMPLE *mask_bpp/8)] endif endif endm macro fetch_mask_pixblock pixld mask_basereg pixblock_size MASK endm macro ensure_destination_ptr_alignment process_pixblock_tail_head if beq irp local skip1 beq endif SRC MASK if dst_r_bpp DST_R else add endif PF add sub src_basereg pixdeinterleave mask_basereg pixdeinterleave dst_r_basereg process_pixblock_head pixblock_size cache_preload_simple process_pixblock_tail pixinterleave dst_w_basereg irp beq endif process_pixblock_tail_head tst beq irp if pixblock_size chunk_size tst beq pixld_src SRC pixld MASK if DST_R else pixld DST_R endif if
Definition: pixman-arm-neon-asm.h:543
SchemaArray allOf_
Definition: schema.h:1223
double d
Definition: schema.h:230
SchemaValidationContext< SchemaDocumentType > Context
Definition: schema.h:345
int memcmp(const void *s1, const void *s2, unsigned int length)
Definition: compat_ctype.c:51
static const size_t kDefaultSize
Definition: schema.h:224
void * arrayElementHashCodes
Definition: schema.h:318
GLdouble s
Definition: glext.h:6390
Schema< SchemaDocumentType > SchemaType
Definition: schema.h:262
bool CheckInt(Context &context, int64_t i) const
Definition: schema.h:1099
char * u32toa(uint32_t value, char *buffer)
Definition: itoa.h:39
bool EndObject(SizeType memberCount)
Definition: schema.h:197
struct passwd out
Definition: missing_libc_functions.c:51
#define floor(x)
Definition: math.h:25
GLsizei const GLvoid * pointer
Definition: glext.h:6488
SValue maximum_
Definition: schema.h:1257
bool Uint64(uint64_t u)
Definition: schema.h:1694
GenericValue< UTF8<>, StateAllocator > HashCodeArray
Definition: schema.h:1779
RegexType * pattern_
Definition: schema.h:1252
GenericSchemaValidator(const SchemaDocumentType &schemaDocument, OutputHandler &outputHandler, StateAllocator *allocator=0, size_t schemaStackCapacity=kDefaultSchemaStackCapacity, size_t documentStackCapacity=kDefaultDocumentStackCapacity)
Constructor with output handler.
Definition: schema.h:1597
ISchemaValidator ** patternPropertiesValidators
Definition: schema.h:321
SchemaValidationContext(SchemaValidatorFactoryType &f, const SchemaType *s)
Definition: schema.h:273
internal::Stack< StateAllocator > documentStack_
stack to store the current path of validating document (Ch)
Definition: schema.h:1925
#define RAPIDJSON_NAMESPACE_END
provide custom rapidjson namespace (closing expression)
Definition: rapidjson.h:119
virtual ~IGenericRemoteSchemaDocumentProvider()
Definition: schema.h:1303
Definition: schema.h:1409
ISchemaValidator ** validators
Definition: schema.h:319
static const ValueType * GetMember(const ValueType &value, const ValueType &name)
Definition: schema.h:966
GLsizei GLsizei GLenum GLenum const GLvoid * data
Definition: glext.h:6303
const GLubyte * c
Definition: glext.h:9812
virtual ISchemaValidator * CreateSchemaValidator(const SchemaType &)=0
GLboolean GLboolean GLboolean b
Definition: glext.h:6844
Result of parsing (wraps ParseErrorCode)
Definition: error.h:106
GLuint GLuint GLsizei count
Definition: glext.h:6292
bool CreateParallelValidator(Context &context) const
Definition: schema.h:1049
SizeType patternPropertyCount_
Definition: schema.h:1234
bool Double(Context &context, double d) const
Definition: schema.h:728
Definition: schema.h:1208
SizeType validatorCount_
Definition: schema.h:1228
bool EndObject(Context &context, SizeType memberCount) const
Definition: schema.h:828
bool EndArray(SizeType elementCount)
Definition: schema.h:207
static const SchemaType * GetTypeless()
Definition: schema.h:952
~GenericSchemaValidator()
Destructor.
Definition: schema.h:1619
null
Definition: rapidjson.h:604
internal::Stack< Allocator > schemaMap_
Definition: schema.h:1525
internal::Stack< StateAllocator > schemaStack_
stack to store the current path of schema (BaseSchemaType *)
Definition: schema.h:1924
SizeType notValidatorIndex_
Definition: schema.h:1229
Hasher(Allocator *allocator=0, size_t stackCapacity=kDefaultSize)
Definition: schema.h:169
~PatternProperty()
Definition: schema.h:1210
static uint64_t Hash(uint64_t h, uint64_t d)
Definition: schema.h:247
SizeType maxProperties_
Definition: schema.h:1237
void AddType(const ValueType &type)
Definition: schema.h:1039
const ParseResult & GetParseResult() const
Definition: schema.h:1986
void CreateSchemaRecursive(const SchemaType **schema, const PointerType &pointer, const ValueType &v, const ValueType &document)
Definition: schema.h:1429
AllocatorType * allocator_
Definition: schema.h:1220
SizeType arrayElementIndex
Definition: schema.h:327
const SchemaType ** patternPropertiesSchemas
Definition: schema.h:323
SchemaDocumentType::PointerType PointerType
Definition: schema.h:1955
Schema< SchemaDocumentType > SchemaType
Definition: schema.h:346
virtual void * MallocState(size_t size)
Definition: schema.h:1769
SizeType maxLength_
Definition: schema.h:1254
#define RAPIDJSON_SCHEMA_VERBOSE
Definition: schema.h:47
GLenum type
Definition: glext.h:6233
const Ch * invalidSchemaKeyword_
Definition: schema.h:1998
bool RawNumber(const Ch *str, SizeType len, bool)
Definition: schema.h:185
set set set set set set set macro pixldst1 abits if abits op else op endif endm macro pixldst2 abits if abits op else op endif endm macro pixldst4 abits if abits op else op endif endm macro pixldst0 abits op endm macro pixldst3 mem_operand op endm macro pixldst30 mem_operand op endm macro pixldst abits if abits elseif abits elseif abits elseif abits elseif abits pixldst0 abits else pixldst0 abits pixldst0 abits pixldst0 abits pixldst0 abits endif elseif abits else pixldst0 abits pixldst0 abits endif elseif abits else error unsupported bpp *numpix else pixst endif endm macro pixld1_s mem_operand if asr adds SRC_WIDTH_FIXED bpl add asl mov asr adds SRC_WIDTH_FIXED bpl add asl mov asr adds SRC_WIDTH_FIXED bpl add asl mov asr adds SRC_WIDTH_FIXED bpl add asl elseif asr adds SRC_WIDTH_FIXED bpl add asl mov asr adds SRC_WIDTH_FIXED bpl add asl else error unsupported endif endm macro pixld2_s mem_operand if mov asr add asl add asl mov asr sub UNIT_X add asl mov asr add asl add asl mov asr add UNIT_X add asl else pixld1_s mem_operand pixld1_s mem_operand endif endm macro pixld0_s mem_operand if asr adds SRC_WIDTH_FIXED bpl add asl elseif asr adds SRC_WIDTH_FIXED bpl add asl endif endm macro pixld_s_internal mem_operand if mem_operand pixld2_s mem_operand pixdeinterleave basereg elseif mem_operand elseif mem_operand elseif mem_operand elseif mem_operand pixld0_s mem_operand else pixld0_s mem_operand pixld0_s mem_operand pixld0_s mem_operand pixld0_s mem_operand endif elseif mem_operand else pixld0_s mem_operand pixld0_s mem_operand endif elseif mem_operand else error unsupported mem_operand if bpp mem_operand endif endm macro vuzp8 reg2 vuzp d d ®2 endm macro vzip8 reg2 vzip d d ®2 endm macro pixdeinterleave basereg basereg basereg basereg basereg endif endm macro pixinterleave basereg basereg basereg basereg basereg endif endm macro PF boost_increment endif if endif PF tst PF addne PF subne PF cmp ORIG_W if endif if endif if endif PF subge ORIG_W PF subges if endif if endif if endif endif endm macro cache_preload_simple endif if dst_r_bpp pld [DST_R, #(PREFETCH_DISTANCE_SIMPLE *dst_r_bpp/8)] endif if mask_bpp pld if[MASK, #(PREFETCH_DISTANCE_SIMPLE *mask_bpp/8)] endif endif endm macro fetch_mask_pixblock pixld mask_basereg pixblock_size MASK endm macro ensure_destination_ptr_alignment process_pixblock_tail_head if beq irp local skip1(dst_w_bpp<=(lowbit *8)) &&((lowbit *8)<(pixblock_size *dst_w_bpp)) .if lowbit< 16 tst DST_R
Definition: pixman-arm-neon-asm.h:469
bool String(Context &context, const Ch *str, SizeType length, bool) const
Definition: schema.h:744
bool l
Definition: connect_wiiupro.c:37
SchemaArray anyOf_
Definition: schema.h:1224
const SchemaType & CurrentSchema() const
Definition: schema.h:1908
SizeType enumCount_
Definition: schema.h:1222
bool valid_
Definition: schema.h:1926
bool Int64(int64_t i)
Definition: schema.h:1693
void * hasher
Definition: schema.h:317
SizeType validatorCount
Definition: schema.h:320
void Clear()
Definition: stack.h:98
virtual void DestroryHasher(void *hasher)=0
virtual uint64_t GetHashCode(void *hasher)=0
const SchemaType * schema
Definition: schema.h:1216
bool StartObject()
Definition: schema.h:195
bool Int(Context &context, int i) const
Definition: schema.h:704
PatternValidatorType objectPatternValidatorType
Definition: schema.h:326
SchemaType::Context Context
Definition: schema.h:1778
bool BeginValue(Context &context) const
Definition: schema.h:600
bool Int(int i)
Definition: schema.h:173
SchemaType * schema
Definition: schema.h:1425
GenericSchemaDocument< Value > SchemaDocument
GenericSchemaDocument using Value type.
Definition: schema.h:1530
SValue multipleOf_
Definition: schema.h:1258
bool exclusiveMaximum_
Definition: schema.h:1260
bool WriteBuffer(Type type, const void *data, size_t len)
Definition: schema.h:237
const SchemaType * dependenciesSchema
Definition: schema.h:1202
bool hasDependencies_
Definition: schema.h:1239
number
Definition: rapidjson.h:610
PatternValidatorType valuePatternValidatorType
Definition: schema.h:325
Default implementation of Handler.
Definition: fwd.h:85
const SchemaDocumentType * schemaDocument_
Definition: schema.h:1919
static RAPIDJSON_FORCEINLINE void AppendIndexToken(Stack &documentStack, SizeType index)
Definition: schema.h:1265
const Ch * GetString() const
Definition: stringbuffer.h:73
PatternValidatorType
Definition: schema.h:267
GenericSchemaValidator< SchemaDocument > SchemaValidator
Definition: schema.h:1932
const SchemaType * schema
Definition: schema.h:1201
bool uniqueItems_
Definition: schema.h:1250
PatternProperty()
Definition: schema.h:1209
RAPIDJSON_FORCEINLINE bool EndValue(Context &context) const
Definition: schema.h:625
bool StartObject(Context &context) const
Definition: schema.h:764
void CreateSchema(const SchemaType **schema, const PointerType &pointer, const ValueType &v, const ValueType &document)
Definition: schema.h:1446
const SchemaDocumentType & sd_
Definition: schema.h:1994
bool required
Definition: schema.h:1205
virtual void DestroySchemaValidator(ISchemaValidator *validator)
Definition: schema.h:1749
SizeType patternPropertiesValidatorCount
Definition: schema.h:322
bool EndValue()
Definition: schema.h:1843
bool Key(const Ch *str, SizeType len, bool copy)
Definition: schema.h:1707
GLint GLint GLint GLint GLint GLint y
Definition: glext.h:6295
time_t time(time_t *timer)
bool Null()
Definition: schema.h:1689
Allocator * ownAllocator_
Definition: schema.h:1523
#define RAPIDJSON_ASSERT(x)
Assertion.
Definition: rapidjson.h:402
SValue minimum_
Definition: schema.h:1256
SchemaArray oneOf_
Definition: schema.h:1225
GLint GLint GLint GLint GLint x
Definition: glext.h:6295
static void AssignIfExist(bool &out, const ValueType &value, const ValueType &name)
Definition: schema.h:971
GLdouble GLdouble GLdouble GLdouble q
Definition: glext.h:6414
SizeType count
Definition: schema.h:949
SchemaType::EncodingType EncodingType
Definition: schema.h:1560
SizeType minProperties_
Definition: schema.h:1236
Definition: document.h:391
bool Int64(Context &context, int64_t i) const
Definition: schema.h:716
GLint GLint GLsizei GLsizei GLsizei depth
Definition: glext.h:6293
bool inArray
Definition: schema.h:329
~SchemaValidationContext()
Definition: schema.h:294
SchemaEntry(const PointerType &p, SchemaType *s, bool o, Allocator *allocator)
Definition: schema.h:1417
const SchemaType * not_
Definition: schema.h:1226
bool Empty() const
Definition: stack.h:175
Property()
Definition: schema.h:1198
GLfloat GLfloat p
Definition: glext.h:9809
#define RAPIDJSON_SCHEMA_HANDLE_BEGIN_(method, arg1)
Definition: schema.h:1662
ValueType::EncodingType EncodingType
Definition: schema.h:343
bool * dependencies
Definition: schema.h:1204
PointerType GetInvalidDocumentPointer() const
Gets the JSON pointer pointed to the invalid value.
Definition: schema.h:1647
virtual ~ISchemaValidator()
Definition: schema.h:140
InputStream::Ch Ch
Definition: schema.h:1956
SizeType minLength_
Definition: schema.h:1253
bool hasRequired_
Definition: schema.h:1240
SizeType begin
Definition: schema.h:948
#define RAPIDJSON_DELETE(x)
! customization point for global delete
Definition: rapidjson.h:590
bool Bool(Context &context, bool) const
Definition: schema.h:698
bool owned
Definition: schema.h:1426
const SchemaType * additionalPropertiesSchema_
Definition: schema.h:1232
#define RAPIDJSON_INVALID_KEYWORD_RETURN(keyword)
Definition: schema.h:117
RAPIDJSON_FORCEINLINE void PopSchema()
Definition: schema.h:1899
SizeType propertyCount_
Definition: schema.h:1235
virtual void DestroySchemaValidator(ISchemaValidator *validator)=0
virtual void * CreateHasher()=0
GenericValue< EncodingType, AllocatorType > SValue
Definition: schema.h:347
bool CheckUint(Context &context, uint64_t i) const
Definition: schema.h:1138
GLuint index
Definition: glext.h:6671
#define RAPIDJSON_SCHEMA_HANDLE_VALUE_(method, arg1, arg2)
Definition: schema.h:1684
bool * propertyExist
Definition: schema.h:328
bool BeginValue()
Definition: schema.h:1812
void AddUniqueElement(V1 &a, const V2 &v)
Definition: schema.h:958
PointerType invalidSchemaPointer_
Definition: schema.h:1997
bool CheckDoubleMaximum(Context &context, double d) const
Definition: schema.h:1182
GLsizei GLsizei GLchar * source
Definition: glext.h:6688
bool Int(int i)
Definition: schema.h:1691
#define RAPIDJSON_SCHEMA_HANDLE_END_(method, arg2)
Definition: schema.h:1681
const GLdouble * v
Definition: glext.h:6391
const SchemaType * additionalItemsSchema_
Definition: schema.h:1243
#define RAPIDJSON_NAMESPACE_BEGIN
provide custom rapidjson namespace (opening expression)
Definition: rapidjson.h:116
bool IsValid() const
Definition: schema.h:1987
struct tag_Context Context
Definition: peglib.h:302
bool Bool(bool b)
Definition: schema.h:172
internal::Schema< GenericSchemaDocument > SchemaType
Definition: schema.h:1327
bool String(const Ch *str, SizeType length, bool copy)
Definition: schema.h:1698
internal::GenericRegex< EncodingType > RegexType
Definition: schema.h:937
GLboolean GLboolean g
Definition: glext.h:6844
bool FindPropertyIndex(const ValueType &name, SizeType *outIndex) const
Definition: schema.h:1086
PointerType source
Definition: schema.h:1411
Encoding::Ch Ch
Definition: schema.h:167
GLint j
Definition: nx_glsym.h:307
virtual void FreeState(void *p)=0
bool Double(double d)
Definition: schema.h:177
Stack< Allocator > stack_
Definition: schema.h:254
const SchemaType ** schemas
Definition: schema.h:947
const SchemaType * GetSchema(const PointerType &pointer) const
Definition: schema.h:1504
~Property()
Definition: schema.h:1199
internal::Hasher< EncodingType, StateAllocator > HasherType
Definition: schema.h:1780
RegexType * CreatePattern(const ValueType &value)
Definition: schema.h:1000
const SchemaType ** itemsTuple_
Definition: schema.h:1245
ParseResult parseResult_
Definition: schema.h:1996
void AppendToken(const Ch *str, SizeType len)
Definition: schema.h:1880
SchemaDocumentType::ValueType ValueType
Definition: schema.h:340
InputStream & is_
Definition: schema.h:1993
JSON_Parser_EncodingDetectedHandler handler
Definition: jsonsax_full.h:561
signed __int64 int64_t
Definition: stdint.h:135
SchemaValidatingReader(InputStream &is, const SchemaDocumentType &sd)
Constructor.
Definition: schema.h:1963
EncodingType::Ch Ch
Definition: schema.h:1326
Definition: ffmpeg_fft.c:36
Ιστορικό Εικόνα Πληροφορίες Όλοι Οι Χρήστες Χειρίζονται Το Μενού Αριστερό Αναλογικό Αριστερό Αναλογικό Αριστερό Αναλογικό Y Αριστερό Αναλογικό Δεξί Αναλογικό X Δεξί Αναλογικό Δεξί Αναλογικό Y Δεξί Αναλογικό Σκανδάλη Όπλου Όπλο Aux A Όπλο Aux C Όπλο Select Όπλο D pad Κάτω Όπλο D pad Δεξιά Νεκρή Ζώνη Αναλογικού Σύνδεση Όλων Λήξη Χρόνου Σύνδεσης Hide Unbound Core Input Descriptors Κατάλογος Συσκευών Κατάλογος Ποντικιού Duty Cycle Keyboard Gamepad Mapping Enable Κουμπί D pad κάτω Κουμπί Κουμπί L(πίσω)" ) MSG_HASH( MENU_ENUM_LABEL_VALUE_INPUT_JOYPAD_LEFT
RAPIDJSON_FORCEINLINE void PushSchema(const SchemaType &schema)
Definition: schema.h:1897
void CreateSchemaValidators(Context &context, const SchemaArray &schemas) const
Definition: schema.h:1080
bool CheckDoubleMinimum(Context &context, double d) const
Definition: schema.h:1176
const SchemaType & root_
Definition: schema.h:1920
#define RAPIDJSON_SCHEMA_HANDLE_PARALLEL_(method, arg2)
Definition: schema.h:1669
static const size_t kInitialSchemaRefSize
Definition: schema.h:1519
bool EndArray(SizeType elementCount)
Definition: schema.h:1728
bool Uint(unsigned u)
Definition: schema.h:1692
bool Uint(Context &context, unsigned u) const
Definition: schema.h:710
bool Int64(int64_t i)
Definition: schema.h:175
SizeType minItems_
Definition: schema.h:1247
IRemoteSchemaDocumentProviderType * remoteProvider_
Definition: schema.h:1521
PointerType invalidDocumentPointer_
Definition: schema.h:1999
GLsizei const GLfloat * value
Definition: glext.h:6709
SchemaRefEntry(const PointerType &s, const PointerType &t, const SchemaType **outSchema, Allocator *allocator)
Definition: schema.h:1410
unsigned type_
Definition: schema.h:1227
Context & CurrentContext()
Definition: schema.h:1909
const SchemaType * valueSchema
Definition: schema.h:315
bool arrayUniqueness
Definition: schema.h:331
SizeType dependenciesValidatorIndex
Definition: schema.h:1203
const Ch * invalidKeyword
Definition: schema.h:316
EncodingType::Ch Ch
Definition: schema.h:344
virtual uint64_t GetHashCode(void *hasher)
Definition: schema.h:1759
GenericSchemaDocument(const ValueType &document, IRemoteSchemaDocumentProviderType *remoteProvider=0, Allocator *allocator=0)
Constructor.
Definition: schema.h:1341
SchemaArray()
Definition: schema.h:945
const Ch * GetInvalidSchemaKeyword() const
Definition: schema.h:1989
Type
Type of JSON value.
Definition: rapidjson.h:603
EncodingType::Ch Ch
Definition: schema.h:1561
virtual bool IsValid() const
Checks whether the current state is valid.
Definition: schema.h:1634
bool operator()(Handler &handler)
Definition: schema.h:1966
bool additionalProperties_
Definition: schema.h:1238
GLuint GLuint end
Definition: glext.h:6292
PointerType GetPointer(const SchemaType *schema) const
Definition: schema.h:1511
void Reset()
Reset the internal states.
Definition: schema.h:1625
internal::Stack< Allocator > schemaRef_
Definition: schema.h:1526
JSON Schema Validator.
Definition: fwd.h:145
#define false
Definition: ordinals.h:83
bool StartArray(Context &context) const
Definition: schema.h:858
bool Null()
Definition: schema.h:171
GLfloat GLfloat GLfloat GLfloat h
Definition: glext.h:8390
~SchemaArray()
Definition: schema.h:946
Definition: video4linux2.c:51
#define RAPIDJSON_UINT64_C2(high32, low32)
Construct a 64-bit literal by a pair of 32-bit integer.
Definition: rapidjson.h:289
SchemaType::ValueType ValueType
Definition: schema.h:264
Represents a JSON Pointer. Use Pointer for UTF8 encoding and default allocator.
Definition: fwd.h:126
#define true
Definition: ordinals.h:82
bool Uint64(Context &context, uint64_t u) const
Definition: schema.h:722
RegexType * pattern
Definition: schema.h:1217
SchemaDocumentType::AllocatorType AllocatorType
Definition: schema.h:341
SchemaDocumentType::PointerType PointerType
Definition: schema.h:1559
SAX-style JSON parser. Use Reader for UTF8 encoding and default allocator.
Definition: fwd.h:88
bool HandleRefSchema(const PointerType &source, const SchemaType **schema, const ValueType &v, const ValueType &document)
Definition: schema.h:1458
const SchemaType * schema
Definition: schema.h:314
void * memset(void *b, int c, size_t len)
Definition: string.c:7
Represents an in-memory output stream.
Definition: fwd.h:59
void AssignIfExist(SchemaArray &out, SchemaDocumentType &schemaDocument, const PointerType &p, const ValueType &value, const ValueType &name, const ValueType &document)
Definition: schema.h:983
unsigned __int64 uint64_t
Definition: stdint.h:136
int64_t i
Definition: schema.h:228
GLenum GLuint GLenum GLsizei length
Definition: glext.h:6233
virtual void * CreateHasher()
Definition: schema.h:1755
Context contains the render state used by various components.
Definition: Context.h:26
GLdouble n
Definition: glext.h:8396
SizeType patternPropertiesSchemaCount
Definition: schema.h:324
~SchemaEntry()
Definition: schema.h:1418
const GLfloat * m
Definition: glext.h:11755
SchemaValidatorFactoryType & factory
Definition: schema.h:313
bool IsValid() const
Definition: schema.h:216
const char *const str
Definition: portlistingparse.c:18
SchemaDocumentType::Ch Ch
Definition: schema.h:1301
#define RAPIDJSON_STRING_(name,...)
Definition: schema.h:881
GLboolean GLboolean GLboolean GLboolean a
Definition: glext.h:6844
Regular expression engine with subset of ECMAscript grammar.
Definition: regex.h:85
RAPIDJSON_NAMESPACE_BEGIN typedef unsigned SizeType
Size type (for string lengths, array sizes, etc.)
Definition: rapidjson.h:380
const SchemaType * root_
Root schema.
Definition: schema.h:1524
uint64_t u
Definition: schema.h:227
virtual bool IsValid() const =0
SizeType maxItems_
Definition: schema.h:1248
SValue name
Definition: schema.h:1200
IGenericRemoteSchemaDocumentProvider< GenericSchemaDocument > IRemoteSchemaDocumentProviderType
Definition: schema.h:1323
const SchemaType * itemsList_
Definition: schema.h:1244
Property * properties_
Definition: schema.h:1231
uint64_t GetHashCode() const
Definition: schema.h:218
static const size_t kInitialSchemaMapSize
Definition: schema.h:1518
static const size_t kDefaultDocumentStackCapacity
Definition: schema.h:1918