3 #ifndef INCLUDE_NN_NLIB_MSGPACK_JSONREADER_H_
4 #define INCLUDE_NN_NLIB_MSGPACK_JSONREADER_H_
9 #if defined(_MSC_VER) && defined(nx_msgpack_EXPORTS)
10 #undef NLIB_VIS_PUBLIC
11 #define NLIB_VIS_PUBLIC NLIB_WINEXPORT
28 : maxArraySize(max_array_size_),
29 maxMapSize(max_map_size_),
30 maxStrLen(max_str_len_),
31 maxDepth(max_depth_) {}
41 OPTION_DEFAULT = 0x00000000,
42 OPTION_RELAXED = 0x00000001
50 return this->Init(stream, settings);
64 return ReadEx(obj, jsontext, option,
RSIZE_MAX) == 0;
71 if (m_ErrorValue == 0) m_ErrorValue = e;
79 size_t m_MaxArraySize;
92 #if defined(_MSC_VER) && defined(nx_msgpack_EXPORTS)
93 #undef NLIB_VIS_PUBLIC
94 #define NLIB_VIS_PUBLIC NLIB_WINIMPORT
97 #endif // INCLUDE_NN_NLIB_MSGPACK_JSONREADER_H_
#define NLIB_NOEXCEPT
環境に合わせてnoexcept 又は同等の定義がされます。
int GetLine() const noexcept
(エラーが発生した付近の)行番号を取得します。
Option
Read()に渡すことのできるオプション値が定義されています。
#define NLIB_FINAL
利用可能であればfinalが定義されます。そうでない場合は空文字列です。
#define NLIB_DISALLOW_COPY_AND_ASSIGN(TypeName)
TypeName で指定されたクラスのコピーコンストラクタと代入演算子を禁止します。
#define NLIB_SAFE_BOOL(class_name, exp)
クラス内に安全なoperator bool()を定義します。 可能であればC++11のexplicit boolを利用します。 ...
bool Close() noexcept
JsonReaderをクローズします。
JsonReaderの設定パラメータ群を格納する構造体です。
constexpr JsonReaderSettings() noexcept
デフォルトコンストラクタです。各データメンバにデフォルト値を設定します。
size_t maxArraySize
読み込むJSON配列の最大サイズを指定します。デフォルトは8192です。
constexpr JsonReaderSettings(size_t max_array_size_, size_t max_map_size_, size_t max_str_len_, size_t max_depth_) noexcept
コンストラクタです。それぞれのデータメンバを設定します。
std::unique_ptrに相当するクラスが定義されています。
MessagePack又はJSONを読み込むことで作成されるオブジェクトです。
#define NLIB_CEXPR
利用可能であればconstexprが定義されます。そうでない場合は空文字列です。
size_t maxMapSize
読み込むJSON連想配列の最大サイズを指定します。デフォルトは256です。
ストリームからテキストを読み込むクラスを定義しています。
int GetColumn() const noexcept
(エラーが発生した付近の)桁番号を取得します。
JSONパーサーです。ストリームからJSON文字列を読み込んでパースします。
size_t maxStrLen
読み込む文字列の最大長(バイト単位)を指定します。デフォルトは2047です。
bool Read(BinaryReader *r, T *x)
この関数テンプレートを特殊化することで、ユーザー定義クラスに読み込むことができます。 ...
size_t maxDepth
JSONの深さ(再帰構造)の最大値を指定します。デフォルトは7です。
InputStream * GetStream() noexcept
Init()で設定したベースストリームを取得します。
errno_t GetErrorValue() const noexcept
発生したエラーを取得します。