24 using Location =
char const*;
26 enum class TokenType :
int {
37 TokenArraySeparator = 10,
38 TokenMemberSeparator = 11,
47 ::ll::TypedStorage<4, 4, ::Json::Reader::TokenType> type_;
48 ::ll::TypedStorage<8, 8, char const*> start_;
49 ::ll::TypedStorage<8, 8, char const*> end_;
50 ::ll::TypedStorage<1, 1, bool> stringHasEscape_;
58 ::ll::TypedStorage<8, 32, ::Json::Reader::Token> token_;
59 ::ll::TypedStorage<8, 32, ::std::string> message_;
60 ::ll::TypedStorage<8, 8, char const*> extra_;
76 using Errors = ::std::deque<::Json::Reader::ErrorInfo>;
78 using Nodes = ::std::stack<::Json::Value*, ::std::deque<::Json::Value*>>;
83 ::ll::TypedStorage<8, 40, ::std::stack<::Json::Value*, ::std::deque<::Json::Value*>>> nodes_;
84 ::ll::TypedStorage<8, 40, ::std::deque<::Json::Reader::ErrorInfo>> errors_;
85 ::ll::TypedStorage<8, 32, ::std::string> document_;
86 ::ll::TypedStorage<8, 8, char const*> begin_;
87 ::ll::TypedStorage<8, 8, char const*> end_;
88 ::ll::TypedStorage<8, 8, char const*> current_;
89 ::ll::TypedStorage<8, 8, char const*> lastValueEnd_;
90 ::ll::TypedStorage<8, 8, ::Json::Value*> lastValue_;
91 ::ll::TypedStorage<8, 32, ::std::string> commentsBefore_;
92 ::ll::TypedStorage<1, 2, ::Json::Features> features_;
93 ::ll::TypedStorage<1, 1, bool> collectComments_;
112 decodeUnicodeCodePoint(
::Json::Reader::Token& token,
char const*& current,
char const* end, uint& unicode);
115 decodeUnicodeEscapeSequence(
::Json::Reader::Token& token,
char const*& current,
char const* end, uint& unicode);
117 MCAPI ::std::string getFormattedErrorMessages()
const;
119 MCAPI ::std::string getLocationLineAndColumn(
char const* location)
const;
121 MCAPI
bool parse(::std::string
const& document,
::Json::Value& root,
bool collectComments);
123 MCAPI
bool parse(::std::istream& sin,
::Json::Value& root,
bool collectComments);
125 MCAPI
bool parse(
char const* beginDoc,
char const* endDoc,
::Json::Value& root,
bool);
127 MCAPI
bool parse(
char const* originalBegin, uint64 length,
::Json::Value& root,
bool collectComments);
135 MCAPI ::Json::Value readValue(
bool& successful);
137 MCAPI
bool recoverFromError(::Json::Reader::TokenType skipUntilToken);