nlib
nn::nlib::msgpack::JsonWriter クラスfinal

JSONのジェネレータです。MpObjectをJSONに変換してストリームに書き出します。 [詳解]

#include "nn/nlib/msgpack/JsonWriter.h"

公開型

enum  Option {
  OPTION_DEFAULT = 0x00000000,
  OPTION_RELAXED = 0x00000001
}
 Write()に渡すことのできるオプション値が定義されています。 [詳解]
 

公開メンバ関数

bool Flush () noexcept
 ベースとなる書き込みストリームをフラッシュします。 [詳解]
 
bool Write (const MpObject &obj, uint32_t option=0) noexcept
 MpObjectをJSONに変換してストリームに書き出します。 [詳解]
 
OutputStreamGetStream () noexcept
 Init()で設定したベースストリームを取得します。 [詳解]
 
基本的なメンバ関数
 JsonWriter () noexcept
 デフォルトコンストラクタです。
 
 ~JsonWriter () noexcept
 デストラクタです。
 
初期化と終了
bool Init (OutputStream *stream) noexcept
 JsonWriter を初期化します。失敗した場合はエラーを設定してfalseを返します。 [詳解]
 
bool Close () noexcept
 JsonWriterをクローズします。 [詳解]
 
エラーチェック
errno_t GetErrorValue () const noexcept
 発生したエラーを取得します。 [詳解]
 
 operator bool () const
 エラーが発生していなければtrueを返します。
 

静的公開メンバ関数

static bool Write (char *str, size_t n, const MpObject &obj, uint32_t option=0) noexcept
 obj をJSONに変換して、メモリストリーム経由でstr に書き込みます。 [詳解]
 
template<size_t n>
static bool Write (char(&str)[n], const MpObject &obj, uint32_t option=0) noexcept
 obj をJSONに変換して、メモリストリーム経由でstr に書き込みます。 [詳解]
 

詳解

JSONのジェネレータです。MpObjectをJSONに変換してストリームに書き出します。

JsonWriter.h18 行目に定義があります。

列挙型メンバ詳解

Write()に渡すことのできるオプション値が定義されています。

列挙値
OPTION_DEFAULT 

デフォルトの設定です。

OPTION_RELAXED 

JSONは本来配列か連想配列である必要がありますが、その規則を緩めて解釈します。 例えば数値や文字列のみ、といった厳密にはJSONでない文字列を書き込むことを可能にしたい場合に指定します。

JsonWriter.h20 行目に定義があります。

関数詳解

nn::nlib::msgpack::JsonWriter::Close ( )
noexcept

JsonWriterをクローズします。

戻り値
成功した場合はtrue
説明
JsonWriterをクローズして、ベースストリームをデタッチします。 この際、ベースストリームはクローズされません。
Init()メンバ関数を再び利用することでオブジェクトを再利用することができます。
nn::nlib::msgpack::JsonWriter::Flush ( )
noexcept

ベースとなる書き込みストリームをフラッシュします。

戻り値
成功した場合はtrue
nn::nlib::msgpack::JsonWriter::GetErrorValue ( ) const
inlinenoexcept

発生したエラーを取得します。

戻り値
0エラーは発生していません。
EILSEQMpObjectがJSONに変換できる形式ではない。
EINVAL引数にエラーがあった。
EEXIST初期化されたJsonWriterを再度初期化しようとした。
EIOベースストリームでエラーが発生した。
EBADF未初期化のJsonWriterを利用しようとした。
ENOMEMメモリの取得に失敗した。

JsonWriter.h29 行目に定義があります。

nn::nlib::msgpack::JsonWriter::GetStream ( )
inlinenoexcept

Init()で設定したベースストリームを取得します。

戻り値
ストリームへのポインタを返します。

JsonWriter.h33 行目に定義があります。

nn::nlib::msgpack::JsonWriter::Init ( OutputStream stream)
noexcept

JsonWriter を初期化します。失敗した場合はエラーを設定してfalseを返します。

引数
[in]stream出力ストリームへのポインタ
戻り値
成功した場合はtrue
nn::nlib::msgpack::JsonWriter::Write ( const MpObject obj,
uint32_t  option = 0 
)
noexcept

MpObjectをJSONに変換してストリームに書き出します。

引数
[in]objJSONに変換するオブジェクト
[in]optionオプション。JsonWriter::Option型の値を論理和で合成した値を与えます。
戻り値
成功した場合はtrue
説明
MpObjectをJSONに変換してストリームに書き出します。 成功した場合はtrueを返します。失敗した場合はエラーを設定しfalseを返します。
nn::nlib::msgpack::JsonWriter::Write ( char *  str,
size_t  n,
const MpObject obj,
uint32_t  option = 0 
)
staticnoexcept

obj をJSONに変換して、メモリストリーム経由でstr に書き込みます。

引数
[out]strJSON文字列が格納される領域へのポインタ
[in]nstr のサイズ
[in]objJSONに変換するオブジェクト
[in]optionオプション。JsonWriter::Option型の値を論理和で合成した値を与えます。
戻り値
成功した場合はtrue
template<size_t n>
nn::nlib::msgpack::JsonWriter::Write ( char(&)  str[n],
const MpObject obj,
uint32_t  option = 0 
)
inlinestaticnoexcept

obj をJSONに変換して、メモリストリーム経由でstr に書き込みます。

テンプレート引数
nstrのサイズ
引数
[out]strJSON文字列が格納される領域へのポインタ
[in]objJSONに変換するオブジェクト
[in]optionオプション。JsonWriter::Option型の値を論理和で合成した値を与えます。
戻り値
成功した場合はtrue

JsonWriter.h38 行目に定義があります。


このクラス詳解は次のファイルから抽出されました: