4 #ifndef XGBOOST_JSON_IO_H_ 5 #define XGBOOST_JSON_IO_H_ 26 std::numeric_limits<double>::max_digits10 + 1;
34 size_t Pos()
const {
return pos_; }
80 void Error(std::string msg)
const;
84 std::string msg =
"Expecting: \"";
89 }
else if (got == 0) {
92 msg += std::to_string(got) +
" \"";
116 static constexpr
size_t kIndentSize = 2;
119 std::vector<char>* stream_;
123 n_spaces_{0}, stream_{stream} {}
127 void Save(
Json json);
129 virtual void Visit(
JsonArray const* arr);
133 virtual void Visit(
JsonNull const* null);
139 #endif // XGBOOST_JSON_IO_H_ char PeekNextChar()
Definition: json_io.h:58
void Expect(char c, char got)
Definition: json_io.h:83
JsonWriter(std::vector< char > *stream)
Definition: json_io.h:122
Describes both true and false.
Definition: json.h:252
virtual Json ParseString()
StringView raw_str_
Definition: json_io.h:44
char GetNextNonSpaceChar()
Definition: json_io.h:67
virtual ~JsonReader()=default
size_t Pos() const
Definition: json_io.h:34
size_t size() const
Definition: json.h:297
namespace of xgboost
Definition: base.h:102
virtual Json ParseObject()
defines configuration macros of xgboost.
virtual Json ParseBoolean()
virtual Json ParseNumber()
char GetNextChar()
Definition: json_io.h:49
JsonReader(StringView str)
Definition: json_io.h:107
Definition: json_io.h:115
struct xgboost::JsonReader::SourceLocation cursor_
void Forward()
Definition: json_io.h:36
Data structure representing JSON format.
Definition: json.h:326
size_t static constexpr kMaxNumLength
Definition: json_io.h:25
#define XGBOOST_EXPECT(cond, ret)
Definition: base.h:75
void Error(std::string msg) const
void Forward(uint32_t n)
Definition: json_io.h:39
char GetConsecutiveChar(char expected_char)
Definition: json_io.h:74
virtual Json ParseArray()