Elaztek Developer Hub
Blamite Game Engine - blam!  00398.09.22.23.2015.blamite
The core library for the Blamite Game Engine.
error.h
Go to the documentation of this file.
1 // Tencent is pleased to support the open source community by making RapidJSON available.
2 //
3 // Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip.
4 //
5 // Licensed under the MIT License (the "License"); you may not use this file except
6 // in compliance with the License. You may obtain a copy of the License at
7 //
8 // http://opensource.org/licenses/MIT
9 //
10 // Unless required by applicable law or agreed to in writing, software distributed
11 // under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
12 // CONDITIONS OF ANY KIND, either express or implied. See the License for the
13 // specific language governing permissions and limitations under the License.
14 
15 #ifndef RAPIDJSON_ERROR_ERROR_H_
16 #define RAPIDJSON_ERROR_ERROR_H_
17 
18 #include "../rapidjson.h"
19 
20 #ifdef __clang__
21 RAPIDJSON_DIAG_PUSH
22 RAPIDJSON_DIAG_OFF(padded)
23 #endif
24 
29 // RAPIDJSON_ERROR_CHARTYPE
31 
33 
38 #ifndef RAPIDJSON_ERROR_CHARTYPE
39 #define RAPIDJSON_ERROR_CHARTYPE char
40 #endif
41 
43 // RAPIDJSON_ERROR_STRING
44 
46 
51 #ifndef RAPIDJSON_ERROR_STRING
52 #define RAPIDJSON_ERROR_STRING(x) x
53 #endif
54 
56 
58 // ParseErrorCode
59 
61 
66 
69 
71 
75 
77 
83 
87 
90 };
91 
93 
106 struct ParseResult {
108  typedef bool (ParseResult::*BooleanType)() const;
109 public:
111  ParseResult() : code_(kParseErrorNone), offset_(0) {}
113  ParseResult(ParseErrorCode code, size_t offset) : code_(code), offset_(offset) {}
114 
116  ParseErrorCode Code() const { return code_; }
118  size_t Offset() const { return offset_; }
119 
121  operator BooleanType() const { return !IsError() ? &ParseResult::IsError : NULL; }
123  bool IsError() const { return code_ != kParseErrorNone; }
124 
125  bool operator==(const ParseResult& that) const { return code_ == that.code_; }
126  bool operator==(ParseErrorCode code) const { return code_ == code; }
127  friend bool operator==(ParseErrorCode code, const ParseResult & err) { return code == err.code_; }
128 
129  bool operator!=(const ParseResult& that) const { return !(*this == that); }
130  bool operator!=(ParseErrorCode code) const { return !(*this == code); }
131  friend bool operator!=(ParseErrorCode code, const ParseResult & err) { return err != code; }
132 
134  void Clear() { Set(kParseErrorNone); }
136  void Set(ParseErrorCode code, size_t offset = 0) { code_ = code; offset_ = offset; }
137 
138 private:
139  ParseErrorCode code_;
140  size_t offset_;
141 };
142 
144 
153 typedef const RAPIDJSON_ERROR_CHARTYPE* (*GetParseErrorFunc)(ParseErrorCode);
154 
156 // ValidateErrorCode
157 
159 
165 
171 
175 
180 
187 
190 
196 };
197 
199 
208 typedef const RAPIDJSON_ERROR_CHARTYPE* (*GetValidateErrorFunc)(ValidateErrorCode);
209 
211 
212 #ifdef __clang__
213 RAPIDJSON_DIAG_POP
214 #endif
215 
216 #endif // RAPIDJSON_ERROR_ERROR_H_
kValidateErrorAllOf
@ kValidateErrorAllOf
Property did not match all of the sub-schemas specified by 'allOf'.
Definition: error.h:193
RAPIDJSON_NAMESPACE_END
#define RAPIDJSON_NAMESPACE_END
provide custom rapidjson namespace (closing expression)
Definition: rapidjson.h:124
kValidateErrors
@ kValidateErrors
Top level error code when kValidateContinueOnErrorsFlag set.
Definition: error.h:163
ParseResult::ParseResult
ParseResult(ParseErrorCode code, size_t offset)
Constructor to set an error.
Definition: error.h:113
RAPIDJSON_NAMESPACE_BEGIN
#define RAPIDJSON_NAMESPACE_BEGIN
provide custom rapidjson namespace (opening expression)
Definition: rapidjson.h:121
kValidateErrorMaxProperties
@ kValidateErrorMaxProperties
Object has more members than 'maxProperties' value.
Definition: error.h:181
kValidateErrorMaxLength
@ kValidateErrorMaxLength
String is longer than the 'maxLength' value.
Definition: error.h:172
kValidateErrorOneOf
@ kValidateErrorOneOf
Property did not match any of the sub-schemas specified by 'oneOf'.
Definition: error.h:191
kValidateErrorExclusiveMaximum
@ kValidateErrorExclusiveMaximum
Number is greater than or equal to the 'maximum' value.
Definition: error.h:168
ParseResult::BooleanType
bool(ParseResult::* BooleanType)() const
! Unspecified boolean type
Definition: error.h:108
kParseErrorTermination
@ kParseErrorTermination
Parsing was terminated.
Definition: error.h:88
ParseResult::operator==
bool operator==(ParseErrorCode code) const
Definition: error.h:126
kParseErrorNumberTooBig
@ kParseErrorNumberTooBig
Number too big to be stored in double.
Definition: error.h:84
kValidateErrorEnum
@ kValidateErrorEnum
Property has a value that is not one of its allowed enumerated values.
Definition: error.h:188
kParseErrorStringUnicodeEscapeInvalidHex
@ kParseErrorStringUnicodeEscapeInvalidHex
Incorrect hex digit after \u escape in string.
Definition: error.h:78
ParseResult::Offset
size_t Offset() const
Get the error offset, if IsError(), 0 otherwise.
Definition: error.h:118
ParseResult::operator==
bool operator==(const ParseResult &that) const
Definition: error.h:125
kParseErrorObjectMissName
@ kParseErrorObjectMissName
Missing a name for object member.
Definition: error.h:72
kValidateErrorNone
@ kValidateErrorNone
No error.
Definition: error.h:164
kParseErrorStringUnicodeSurrogateInvalid
@ kParseErrorStringUnicodeSurrogateInvalid
The surrogate pair in string is invalid.
Definition: error.h:79
kValidateErrorType
@ kValidateErrorType
Property has a type that is not allowed by the schema..
Definition: error.h:189
ParseResult::IsError
bool IsError() const
Whether the result is an error.
Definition: error.h:123
kParseErrorStringInvalidEncoding
@ kParseErrorStringInvalidEncoding
Invalid encoding in string.
Definition: error.h:82
NULL
Add a fourth parameter to bake specific font ranges NULL
Definition: README.txt:57
kValidateErrorMinItems
@ kValidateErrorMinItems
Array is shorter than the 'minItems' value.
Definition: error.h:177
ParseResult::Set
void Set(ParseErrorCode code, size_t offset=0)
Update error code and offset.
Definition: error.h:136
ParseResult::operator!=
friend bool operator!=(ParseErrorCode code, const ParseResult &err)
Definition: error.h:131
ParseResult::operator==
friend bool operator==(ParseErrorCode code, const ParseResult &err)
Definition: error.h:127
that
b output the Images to a print format other than for collateral and the you may copy and distribute your animations and renderings incorporating the Images All other rights with respect to the Images and their use are reserved to Company The Images are protected by United States copyright international treaty and other laws TERM You may use the Images for incorporation in a single product or or for visualization purposes within a single project of duration not more than three years INFRINGEMENT WARRANTY NVIDIA warrants to you that
Definition: TextureUsageAgreement.txt:16
ParseErrorCode
ParseErrorCode
Error code of parsing.
Definition: error.h:64
kValidateErrorOneOfMatch
@ kValidateErrorOneOfMatch
Property matched more than one of the sub-schemas specified by 'oneOf'.
Definition: error.h:192
kValidateErrorUniqueItems
@ kValidateErrorUniqueItems
Array has duplicate items but 'uniqueItems' is true.
Definition: error.h:178
ParseResult::ParseResult
ParseResult()
Default constructor, no error.
Definition: error.h:111
ParseResult
Result of parsing (wraps ParseErrorCode)
Definition: error.h:106
ParseResult::Clear
void Clear()
Reset error code.
Definition: error.h:134
kValidateErrorPatternProperties
@ kValidateErrorPatternProperties
See other errors.
Definition: error.h:185
ParseResult::operator!=
bool operator!=(const ParseResult &that) const
Definition: error.h:129
RAPIDJSON_ERROR_CHARTYPE
#define RAPIDJSON_ERROR_CHARTYPE
Character type of error messages.
Definition: error.h:39
kValidateErrorMinLength
@ kValidateErrorMinLength
String is longer than the 'maxLength' value.
Definition: error.h:173
kParseErrorDocumentRootNotSingular
@ kParseErrorDocumentRootNotSingular
The document root must not follow by other values.
Definition: error.h:68
kParseErrorArrayMissCommaOrSquareBracket
@ kParseErrorArrayMissCommaOrSquareBracket
Missing a comma or ']' after an array element.
Definition: error.h:76
kParseErrorNumberMissExponent
@ kParseErrorNumberMissExponent
Miss exponent in number.
Definition: error.h:86
kParseErrorStringMissQuotationMark
@ kParseErrorStringMissQuotationMark
Missing a closing quotation mark in string.
Definition: error.h:81
ParseResult::Code
ParseErrorCode Code() const
Get the error code.
Definition: error.h:116
kValidateErrorAdditionalItems
@ kValidateErrorAdditionalItems
Array has additional items that are not allowed by the schema.
Definition: error.h:179
kValidateErrorDependencies
@ kValidateErrorDependencies
Object has missing property or schema dependencies.
Definition: error.h:186
kValidateErrorAdditionalProperties
@ kValidateErrorAdditionalProperties
Object has additional members that are not allowed by the schema.
Definition: error.h:184
kValidateErrorPattern
@ kValidateErrorPattern
String does not match the 'pattern' regular expression.
Definition: error.h:174
kValidateErrorMaximum
@ kValidateErrorMaximum
Number is greater than the 'maximum' value.
Definition: error.h:167
kParseErrorNone
@ kParseErrorNone
No error.
Definition: error.h:65
kValidateErrorMaxItems
@ kValidateErrorMaxItems
Array is longer than the 'maxItems' value.
Definition: error.h:176
ValidateErrorCode
ValidateErrorCode
Error codes when validating.
Definition: error.h:162
kValidateErrorMinProperties
@ kValidateErrorMinProperties
Object has less members than 'minProperties' value.
Definition: error.h:182
kParseErrorStringEscapeInvalid
@ kParseErrorStringEscapeInvalid
Invalid escape character in string.
Definition: error.h:80
kParseErrorObjectMissColon
@ kParseErrorObjectMissColon
Missing a colon after a name of object member.
Definition: error.h:73
kValidateErrorAnyOf
@ kValidateErrorAnyOf
Property did not match any of the sub-schemas specified by 'anyOf'.
Definition: error.h:194
ParseResult::operator!=
bool operator!=(ParseErrorCode code) const
Definition: error.h:130
kParseErrorUnspecificSyntaxError
@ kParseErrorUnspecificSyntaxError
Unspecific syntax error.
Definition: error.h:89
kValidateErrorRequired
@ kValidateErrorRequired
Object is missing one or more members required by the schema.
Definition: error.h:183
kValidateErrorMinimum
@ kValidateErrorMinimum
Number is less than the 'minimum' value.
Definition: error.h:169
kParseErrorObjectMissCommaOrCurlyBracket
@ kParseErrorObjectMissCommaOrCurlyBracket
Missing a comma or '}' after an object member.
Definition: error.h:74
kParseErrorValueInvalid
@ kParseErrorValueInvalid
Invalid value.
Definition: error.h:70
kParseErrorDocumentEmpty
@ kParseErrorDocumentEmpty
The document is empty.
Definition: error.h:67
kValidateErrorMultipleOf
@ kValidateErrorMultipleOf
Number is not a multiple of the 'multipleOf' value.
Definition: error.h:166
kParseErrorNumberMissFraction
@ kParseErrorNumberMissFraction
Miss fraction part in number.
Definition: error.h:85
kValidateErrorNot
@ kValidateErrorNot
Property matched the sub-schema specified by 'not'.
Definition: error.h:195
kValidateErrorExclusiveMinimum
@ kValidateErrorExclusiveMinimum
Number is less than or equal to the 'minimum' value.
Definition: error.h:170