15 #ifndef INCLUDE_NN_NLIB_MSGPACK_JSONSCHEMA_H_ 16 #define INCLUDE_NN_NLIB_MSGPACK_JSONSCHEMA_H_ 21 #include "nn/nlib/msgpack/JsonStreamParser.h" 22 #include "nn/nlib/Swap.h" 24 #if defined(_MSC_VER) && defined(nx_msgpack_EXPORTS) 25 #undef NLIB_VIS_PUBLIC 26 #define NLIB_VIS_PUBLIC NLIB_WINEXPORT 31 class JsonSchemaValidatorPrivate;
54 JsonSchemaValidatorPrivate* prv_;
60 : encode_title(
false), encode_description(
false),
61 uri_mapper(
nullptr), parser_settings() {
69 class JsonSchemaConverterPrivate;
92 return Init(settings);
100 return Export(written, &buf[0], N);
102 #ifdef __cpp_rvalue_references 103 std::pair<Result, size_t>
104 Export(
nlib_byte_t* buf,
size_t bufsize)
const NLIB_NOEXCEPT {
105 std::pair<Result, size_t> rval;
106 rval.first = Export(&rval.second, buf, bufsize);
110 std::pair<Result, size_t>
111 Export(
nlib_byte_t (&buf)[N])
const NLIB_NOEXCEPT {
112 return Export(&buf[0], N);
117 JsonSchemaConverterPrivate* prv_;
124 NLIB_DEFINE_STD_SWAP(::nlib_ns::msgpack::JsonSchemaConverter)
125 NLIB_DEFINE_STD_SWAP(::nlib_ns::msgpack::JsonSchemaValidator)
127 #if defined(_MSC_VER) && defined(nx_msgpack_EXPORTS) 128 #undef NLIB_VIS_PUBLIC 129 #define NLIB_VIS_PUBLIC NLIB_WINIMPORT 131 #endif // INCLUDE_NN_NLIB_MSGPACK_JSONSCHEMA_H_ ~JsonSchemaValidator() noexcept
デストラクタです。
Result Export(size_t *written, nlib_byte_t(&buf)[N]) const noexcept
バイトコードに変換したJSON Schemaを書き込みます。
#define NLIB_DISALLOW_COPY_AND_ASSIGN(TypeName)
TypeName で指定されたクラスのコピーコンストラクタと代入演算子を禁止します。
JsonStreamParserSettings parser_settings
JSON Schemaをパースするための設定です。
bool encode_description
現在のところこの変数は無視されます。
constexpr JsonSchemaConverter() noexcept
デフォルトコンストラクタです。
JsonSchemaConverterの動作オプションを指定します。
MessagePack又はJSONを読み込むことで作成されるオブジェクトです。
bool encode_title
現在のところこの変数は無視されます。
~JsonSchemaConverter() noexcept
デストラクタです。
JsonStreamParserの設定パラメータ群を格納する構造体です。
MessagePack, JSON及びCSVを読み込むと作成されるオブジェクトです。
JSON Schemaの検証に失敗した場合、pathというメンバに検証に失敗した場所についての文字列が書き込まれます...
機種依存しないURIによるパス記述からネイティブのパス文字列を得るためのクラスです。 ...
JSON SchemaをJsonSchemaValidatorで利用できるバイトコード形式に変換します。
#define NLIB_NOEXCEPT
環境に合わせてnoexcept 又は同等の定義がされます。
Result Init() noexcept
JsonSchemaConverterSettingsをデフォルトにして初期化します。
#define NLIB_CEXPR
利用可能であればconstexprが定義されます。そうでない場合は空文字列です。
const NativePathMapper * uri_mapper
URIをファイルパスに変換するためのオブジェクトへのポインタを設定します。NULLを指定することが可能です。...
URIによるパス記述からプラットフォーム固有のパス記述を得るためのクラスが定義されています。 ...
#define NLIB_FINAL
利用可能であればfinalが定義されます。そうでない場合は空文字列です。
JSON Schemaの変換に失敗した場合、pathというメンバに変換に失敗した場所についての文字列が書き込まれます...
JSON SchemaによりJSONやmsgpackの検証を行うためのクラスです。
constexpr JsonSchemaValidator() noexcept
デフォルトコンストラクタです。