nlib
nn::nlib::msgpack::MpDirectWriter 構造体

MessagePackをメモリに直接書き込むための各種静的メンバ関数が定義されています。 [詳解]

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

静的公開メンバ関数

static nlib_byte_tWriteUint8 (nlib_byte_t *p, nlib_byte_t *pend, uint8_t val) noexcept
 0xccを先頭とした2バイトのデータを書き込みます。 [詳解]
 
static nlib_byte_tWriteUint16 (nlib_byte_t *p, nlib_byte_t *pend, uint16_t val) noexcept
 0xcdを先頭とした3バイトのデータを書き込みます。 [詳解]
 
static nlib_byte_tWriteUint32 (nlib_byte_t *p, nlib_byte_t *pend, uint32_t val) noexcept
 0xceを先頭とした5バイトのデータを書き込みます。 [詳解]
 
static nlib_byte_tWriteUint64 (nlib_byte_t *p, nlib_byte_t *pend, uint64_t val) noexcept
 0xcfを先頭とした9バイトのデータを書き込みます。 [詳解]
 
static nlib_byte_tWriteInt8 (nlib_byte_t *p, nlib_byte_t *pend, int8_t val) noexcept
 0xd0を先頭とした2バイトのデータを書き込みます。 [詳解]
 
static nlib_byte_tWriteInt16 (nlib_byte_t *p, nlib_byte_t *pend, int16_t val) noexcept
 0xd1を先頭とした3バイトのデータを書き込みます。 [詳解]
 
static nlib_byte_tWriteInt32 (nlib_byte_t *p, nlib_byte_t *pend, int32_t val) noexcept
 0xd2を先頭とした5バイトのデータを書き込みます。 [詳解]
 
static nlib_byte_tWriteInt64 (nlib_byte_t *p, nlib_byte_t *pend, int64_t val) noexcept
 0xd3を先頭とした9バイトのデータを書き込みます。 [詳解]
 
static nlib_byte_tWriteNil (nlib_byte_t *p, nlib_byte_t *pend) noexcept
 0xc0を書き込みます。 [詳解]
 
static nlib_byte_tWriteBoolean (nlib_byte_t *p, nlib_byte_t *pend, bool val) noexcept
 0xc2(trueの場合)又は0xc3(falseの場合)を書き込みます。 [詳解]
 
static nlib_byte_tWriteFloat (nlib_byte_t *p, nlib_byte_t *pend, float val) noexcept
 0xcaを先頭とした5バイトのデータを書き込みます。 [詳解]
 
static nlib_byte_tWriteDouble (nlib_byte_t *p, nlib_byte_t *pend, double val) noexcept
 0xcbを先頭とした9バイトのデータを書き込みます。 [詳解]
 
static nlib_byte_tWriteString (nlib_byte_t *p, nlib_byte_t *pend, const char *str, uint32_t len) noexcept
 文字列長に応じたデータを書き込みます。 [詳解]
 
static nlib_byte_tWriteString (nlib_byte_t *p, nlib_byte_t *pend, const char *str) noexcept
 WriteString(p, pend, str, nlib_strlen(str))を返します。
 
static nlib_byte_tWriteStringHeader (nlib_byte_t *p, nlib_byte_t *pend, uint32_t len) noexcept
 文字列長に応じたデータを書き込みますが、文字列本体は書き込みません。 [詳解]
 
static nlib_byte_tWriteBin (nlib_byte_t *p, nlib_byte_t *pend, const nlib_byte_t *bin, uint32_t n) noexcept
 データサイズに応じたバイナリデータを書き込みます。 [詳解]
 
static nlib_byte_tWriteBinHeader (nlib_byte_t *p, nlib_byte_t *pend, uint32_t n) noexcept
 バイナリのデータサイズに応じたデータを書き込みますが、バイナリデータ本体は書き込みません。 [詳解]
 
static nlib_byte_tWriteExt (nlib_byte_t *p, nlib_byte_t *pend, int8_t type, const nlib_byte_t *data, uint32_t n) noexcept
 データサイズに応じたデータを書き込みます。 [詳解]
 
static nlib_byte_tWriteExtHeader (nlib_byte_t *p, nlib_byte_t *pend, int8_t type, uint32_t n) noexcept
 データサイズに応じたデータを書き込みますが、データ本体は書き込みません。 [詳解]
 
static nlib_byte_tWriteArrayHeader (nlib_byte_t *p, nlib_byte_t *pend, uint32_t count) noexcept
 配列の要素数に応じたデータを書き込みます。 [詳解]
 
static nlib_byte_tWriteMapHeader (nlib_byte_t *p, nlib_byte_t *pend, uint32_t count) noexcept
 配列の要素数に応じたデータを書き込みます。 [詳解]
 
static nlib_byte_tWriteUnsignedInt (nlib_byte_t *p, nlib_byte_t *pend, uint8_t val) noexcept
 与えられた数値データを最小の長さでエンコードします。最長で2バイトのデータを書き込みます。 [詳解]
 
static nlib_byte_tWriteUnsignedInt (nlib_byte_t *p, nlib_byte_t *pend, uint16_t val) noexcept
 与えられた数値データを最小の長さでエンコードします。最長で3バイトのデータを書き込みます。 [詳解]
 
static nlib_byte_tWriteUnsignedInt (nlib_byte_t *p, nlib_byte_t *pend, uint32_t val) noexcept
 与えられた数値データを最小の長さでエンコードします。最長で5バイトのデータを書き込みます。 [詳解]
 
static nlib_byte_tWriteUnsignedInt (nlib_byte_t *p, nlib_byte_t *pend, uint64_t val) noexcept
 与えられた数値データを最小の長さでエンコードします。最長で9バイトのデータを書き込みます。 [詳解]
 
static nlib_byte_tWriteInt (nlib_byte_t *p, nlib_byte_t *pend, int8_t val) noexcept
 与えられた数値データを最小の長さでエンコードします。最長で2バイトのデータを書き込みます。 [詳解]
 
static nlib_byte_tWriteInt (nlib_byte_t *p, nlib_byte_t *pend, int16_t val) noexcept
 与えられた数値データを最小の長さでエンコードします。最長で3バイトのデータを書き込みます。 [詳解]
 
static nlib_byte_tWriteInt (nlib_byte_t *p, nlib_byte_t *pend, int32_t val) noexcept
 与えられた数値データを最小の長さでエンコードします。最長で5バイトのデータを書き込みます。 [詳解]
 
static nlib_byte_tWriteInt (nlib_byte_t *p, nlib_byte_t *pend, int64_t val) noexcept
 与えられた数値データを最小の長さでエンコードします。最長で9バイトのデータを書き込みます。 [詳解]
 
static nlib_byte_tWriteTimestamp (nlib_byte_t *p, nlib_byte_t *pend, int64_t sec, uint32_t nsec) noexcept
 与えられた時刻データを最小の長さでエンコードします。最長で15バイトのデータを書き込みます。 [詳解]
 
static nlib_byte_tWriteTimestamp (nlib_byte_t *p, nlib_byte_t *pend, nlib_time val) noexcept
 与えられた時刻データを最小の長さでエンコードします。最長で15バイトのデータを書き込みます。 [詳解]
 

詳解

MessagePackをメモリに直接書き込むための各種静的メンバ関数が定義されています。

MpDirectWriter.h23 行目に定義があります。

関数詳解

◆ WriteArrayHeader()

nlib_byte_t * nn::nlib::msgpack::MpDirectWriter::WriteArrayHeader ( nlib_byte_t p,
nlib_byte_t pend,
uint32_t  count 
)
inlinestaticnoexcept

配列の要素数に応じたデータを書き込みます。

引数
[in]pシリアライズされたデータが書き込まれる領域へのポインタ
[in]pend書き込むことが可能な領域の末尾
[in]count配列の要素数
戻り値
成功した場合は配列直前へのポインタ、書き込む領域が足りない場合はNULL
説明
先頭バイトはデータサイズに応じて異なり、最大で5 + nバイトのデータを書き込みます。 この関数の実行後に、ユーザー自身がn個の配列の要素を書き込む必要があります。
参照
https://github.com/msgpack/msgpack/blob/master/spec.md#formats-array

MpDirectWriter.h402 行目に定義があります。

◆ WriteBin()

nlib_byte_t * nn::nlib::msgpack::MpDirectWriter::WriteBin ( nlib_byte_t p,
nlib_byte_t pend,
const nlib_byte_t bin,
uint32_t  n 
)
inlinestaticnoexcept

データサイズに応じたバイナリデータを書き込みます。

引数
[in]pシリアライズされたデータが書き込まれる領域へのポインタ
[in]pend書き込むことが可能な領域の末尾
[in]binバイナリデータ
[in]nデータサイズ
戻り値
成功した場合はバイナリデータ直後へのポインタ、書き込む領域が足りない場合はNULL
説明
先頭バイトはデータサイズに応じて異なり、最大で5 + nバイトのデータを書き込みます。
参照
https://github.com/msgpack/msgpack/blob/master/spec.md#formats-bin

MpDirectWriter.h268 行目に定義があります。

◆ WriteBinHeader()

nlib_byte_t * nn::nlib::msgpack::MpDirectWriter::WriteBinHeader ( nlib_byte_t p,
nlib_byte_t pend,
uint32_t  n 
)
inlinestaticnoexcept

バイナリのデータサイズに応じたデータを書き込みますが、バイナリデータ本体は書き込みません。

引数
[in]pシリアライズされたデータが書き込まれる領域へのポインタ
[in]pend書き込むことが可能な領域の末尾
[in]nデータサイズ
戻り値
成功した場合はバイナリデータ直前へのポインタ、書き込む領域が足りない場合はNULL
説明
この関数の実行後に、ユーザー自身がnバイトのバイナリデータを追記する必要があります。

MpDirectWriter.h249 行目に定義があります。

◆ WriteBoolean()

nlib_byte_t * nn::nlib::msgpack::MpDirectWriter::WriteBoolean ( nlib_byte_t p,
nlib_byte_t pend,
bool  val 
)
inlinestaticnoexcept

0xc2(trueの場合)又は0xc3(falseの場合)を書き込みます。

引数
[in]pシリアライズされたデータが書き込まれる領域へのポインタ
[in]pend書き込むことが可能な領域の末尾
[in]valシリアライズされる値
戻り値
成功した場合はp + 1、書き込む領域が足りない場合はNULL
説明
参照
https://github.com/msgpack/msgpack/blob/master/spec.md#formats-bool

MpDirectWriter.h162 行目に定義があります。

◆ WriteDouble()

nlib_byte_t * nn::nlib::msgpack::MpDirectWriter::WriteDouble ( nlib_byte_t p,
nlib_byte_t pend,
double  val 
)
inlinestaticnoexcept

0xcbを先頭とした9バイトのデータを書き込みます。

引数
[in]pシリアライズされたデータが書き込まれる領域へのポインタ
[in]pend書き込むことが可能な領域の末尾
[in]valシリアライズされる値
戻り値
成功した場合はp + 9、書き込む領域が足りない場合はNULL
説明
参照
https://github.com/msgpack/msgpack/blob/master/spec.md#formats-float

MpDirectWriter.h180 行目に定義があります。

◆ WriteExt()

nlib_byte_t * nn::nlib::msgpack::MpDirectWriter::WriteExt ( nlib_byte_t p,
nlib_byte_t pend,
int8_t  type,
const nlib_byte_t data,
uint32_t  n 
)
inlinestaticnoexcept

データサイズに応じたデータを書き込みます。

引数
[in]pシリアライズされたデータが書き込まれる領域へのポインタ
[in]pend書き込むことが可能な領域の末尾
[in]typeデータタイプ
[in]dataデータ
[in]nデータサイズ
戻り値
成功した場合はデータ直後へのポインタ、書き込む領域が足りない場合はNULL
説明
先頭バイトはデータサイズに応じて異なり、最大で6 + nバイトのデータを書き込みます。
参照
https://github.com/msgpack/msgpack/blob/master/spec.md#formats-ext

MpDirectWriter.h342 行目に定義があります。

◆ WriteExtHeader()

nlib_byte_t * nn::nlib::msgpack::MpDirectWriter::WriteExtHeader ( nlib_byte_t p,
nlib_byte_t pend,
int8_t  type,
uint32_t  n 
)
inlinestaticnoexcept

データサイズに応じたデータを書き込みますが、データ本体は書き込みません。

引数
[in]pシリアライズされたデータが書き込まれる領域へのポインタ
[in]pend書き込むことが可能な領域の末尾
[in]typeデータタイプ
[in]nデータサイズ
戻り値
成功した場合はデータ直前へのポインタ、書き込む領域が足りない場合はNULL
説明
この関数の実行後に、ユーザー自身がnバイトのデータを追記する必要があります。

MpDirectWriter.h291 行目に定義があります。

◆ WriteFloat()

nlib_byte_t * nn::nlib::msgpack::MpDirectWriter::WriteFloat ( nlib_byte_t p,
nlib_byte_t pend,
float  val 
)
inlinestaticnoexcept

0xcaを先頭とした5バイトのデータを書き込みます。

引数
[in]pシリアライズされたデータが書き込まれる領域へのポインタ
[in]pend書き込むことが可能な領域の末尾
[in]valシリアライズされる値
戻り値
成功した場合はp + 5、書き込む領域が足りない場合はNULL
説明
参照
https://github.com/msgpack/msgpack/blob/master/spec.md#formats-float

MpDirectWriter.h168 行目に定義があります。

◆ WriteInt() [1/4]

nlib_byte_t * nn::nlib::msgpack::MpDirectWriter::WriteInt ( nlib_byte_t p,
nlib_byte_t pend,
int8_t  val 
)
inlinestaticnoexcept

与えられた数値データを最小の長さでエンコードします。最長で2バイトのデータを書き込みます。

引数
[in]pシリアライズされたデータが書き込まれる領域へのポインタ
[in]pend書き込むことが可能な領域の末尾
[in]valシリアライズされる値
戻り値
成功した場合は数値直後へのポインタ、書き込む領域が足りない場合はNULL

MpDirectWriter.h490 行目に定義があります。

◆ WriteInt() [2/4]

nlib_byte_t * nn::nlib::msgpack::MpDirectWriter::WriteInt ( nlib_byte_t p,
nlib_byte_t pend,
int16_t  val 
)
inlinestaticnoexcept

与えられた数値データを最小の長さでエンコードします。最長で3バイトのデータを書き込みます。

引数
[in]pシリアライズされたデータが書き込まれる領域へのポインタ
[in]pend書き込むことが可能な領域の末尾
[in]valシリアライズされる値
戻り値
成功した場合は数値直後へのポインタ、書き込む領域が足りない場合はNULL

MpDirectWriter.h500 行目に定義があります。

◆ WriteInt() [3/4]

nlib_byte_t * nn::nlib::msgpack::MpDirectWriter::WriteInt ( nlib_byte_t p,
nlib_byte_t pend,
int32_t  val 
)
inlinestaticnoexcept

与えられた数値データを最小の長さでエンコードします。最長で5バイトのデータを書き込みます。

引数
[in]pシリアライズされたデータが書き込まれる領域へのポインタ
[in]pend書き込むことが可能な領域の末尾
[in]valシリアライズされる値
戻り値
成功した場合は数値直後へのポインタ、書き込む領域が足りない場合はNULL

MpDirectWriter.h516 行目に定義があります。

◆ WriteInt() [4/4]

nlib_byte_t * nn::nlib::msgpack::MpDirectWriter::WriteInt ( nlib_byte_t p,
nlib_byte_t pend,
int64_t  val 
)
inlinestaticnoexcept

与えられた数値データを最小の長さでエンコードします。最長で9バイトのデータを書き込みます。

引数
[in]pシリアライズされたデータが書き込まれる領域へのポインタ
[in]pend書き込むことが可能な領域の末尾
[in]valシリアライズされる値
戻り値
成功した場合は数値直後へのポインタ、書き込む領域が足りない場合はNULL

MpDirectWriter.h536 行目に定義があります。

◆ WriteInt16()

nlib_byte_t * nn::nlib::msgpack::MpDirectWriter::WriteInt16 ( nlib_byte_t p,
nlib_byte_t pend,
int16_t  val 
)
inlinestaticnoexcept

0xd1を先頭とした3バイトのデータを書き込みます。

引数
[in]pシリアライズされたデータが書き込まれる領域へのポインタ
[in]pend書き込むことが可能な領域の末尾
[in]valシリアライズされる値
戻り値
成功した場合はp + 3、書き込む領域が足りない場合はNULL
説明
参照
https://github.com/msgpack/msgpack/blob/master/spec.md#formats-int

MpDirectWriter.h135 行目に定義があります。

◆ WriteInt32()

nlib_byte_t * nn::nlib::msgpack::MpDirectWriter::WriteInt32 ( nlib_byte_t p,
nlib_byte_t pend,
int32_t  val 
)
inlinestaticnoexcept

0xd2を先頭とした5バイトのデータを書き込みます。

引数
[in]pシリアライズされたデータが書き込まれる領域へのポインタ
[in]pend書き込むことが可能な領域の末尾
[in]valシリアライズされる値
戻り値
成功した場合はp + 5、書き込む領域が足りない場合はNULL
説明
参照
https://github.com/msgpack/msgpack/blob/master/spec.md#formats-int

MpDirectWriter.h142 行目に定義があります。

◆ WriteInt64()

nlib_byte_t * nn::nlib::msgpack::MpDirectWriter::WriteInt64 ( nlib_byte_t p,
nlib_byte_t pend,
int64_t  val 
)
inlinestaticnoexcept

0xd3を先頭とした9バイトのデータを書き込みます。

引数
[in]pシリアライズされたデータが書き込まれる領域へのポインタ
[in]pend書き込むことが可能な領域の末尾
[in]valシリアライズされる値
戻り値
成功した場合はp + 9、書き込む領域が足りない場合はNULL
説明
参照
https://github.com/msgpack/msgpack/blob/master/spec.md#formats-int

MpDirectWriter.h149 行目に定義があります。

◆ WriteInt8()

nlib_byte_t * nn::nlib::msgpack::MpDirectWriter::WriteInt8 ( nlib_byte_t p,
nlib_byte_t pend,
int8_t  val 
)
inlinestaticnoexcept

0xd0を先頭とした2バイトのデータを書き込みます。

引数
[in]pシリアライズされたデータが書き込まれる領域へのポインタ
[in]pend書き込むことが可能な領域の末尾
[in]valシリアライズされる値
戻り値
成功した場合はp + 2、書き込む領域が足りない場合はNULL
説明
参照
https://github.com/msgpack/msgpack/blob/master/spec.md#formats-int

MpDirectWriter.h128 行目に定義があります。

◆ WriteMapHeader()

nlib_byte_t * nn::nlib::msgpack::MpDirectWriter::WriteMapHeader ( nlib_byte_t p,
nlib_byte_t pend,
uint32_t  count 
)
inlinestaticnoexcept

配列の要素数に応じたデータを書き込みます。

引数
[in]pシリアライズされたデータが書き込まれる領域へのポインタ
[in]pend書き込むことが可能な領域の末尾
[in]countマップ(キーと値のペア)の要素数
戻り値
成功した場合はマップ直前へのポインタ、書き込む領域が足りない場合はNULL
説明
先頭バイトはデータサイズに応じて異なり、最大で5 + nバイトのデータを書き込みます。 この関数の実行後に、ユーザー自身が2 * n個の要素(キーと値のペアがn個)を書き込む必要があります。
参照
https://github.com/msgpack/msgpack/blob/master/spec.md#formats-map

MpDirectWriter.h421 行目に定義があります。

◆ WriteNil()

nlib_byte_t * nn::nlib::msgpack::MpDirectWriter::WriteNil ( nlib_byte_t p,
nlib_byte_t pend 
)
inlinestaticnoexcept

0xc0を書き込みます。

引数
[in]pシリアライズされたデータが書き込まれる領域へのポインタ
[in]pend書き込むことが可能な領域の末尾
戻り値
成功した場合はp + 1、書き込む領域が足りない場合はNULL
参照
https://github.com/msgpack/msgpack/blob/master/spec.md#formats-nil

MpDirectWriter.h156 行目に定義があります。

◆ WriteString()

nlib_byte_t * nn::nlib::msgpack::MpDirectWriter::WriteString ( nlib_byte_t p,
nlib_byte_t pend,
const char *  str,
uint32_t  len 
)
inlinestaticnoexcept

文字列長に応じたデータを書き込みます。

引数
[in]pシリアライズされたデータが書き込まれる領域へのポインタ
[in]pend書き込むことが可能な領域の末尾
[in]strシリアライズされる文字列
[in]len文字列長
戻り値
成功した場合は文字列直後へのポインタ、書き込む領域が足りない場合はNULL
説明
先頭バイトは文字列長に応じて異なり、最大で5 + lenバイトのデータを書き込みます。
参照
https://github.com/msgpack/msgpack/blob/master/spec.md#formats-str

MpDirectWriter.h216 行目に定義があります。

◆ WriteStringHeader()

nlib_byte_t * nn::nlib::msgpack::MpDirectWriter::WriteStringHeader ( nlib_byte_t p,
nlib_byte_t pend,
uint32_t  len 
)
inlinestaticnoexcept

文字列長に応じたデータを書き込みますが、文字列本体は書き込みません。

引数
[in]pシリアライズされたデータが書き込まれる領域へのポインタ
[in]pend書き込むことが可能な領域の末尾
[in]len文字列長
戻り値
成功した場合は文字列本体直前へのポインタ、書き込む領域が足りない場合はNULL
説明
この関数の実行後に、ユーザー自身がlenバイトの文字列データを追記する必要があります。

MpDirectWriter.h192 行目に定義があります。

◆ WriteTimestamp() [1/2]

nlib_byte_t * nn::nlib::msgpack::MpDirectWriter::WriteTimestamp ( nlib_byte_t p,
nlib_byte_t pend,
int64_t  sec,
uint32_t  nsec 
)
inlinestaticnoexcept

与えられた時刻データを最小の長さでエンコードします。最長で15バイトのデータを書き込みます。

引数
[in]pシリアライズされたデータが書き込まれる領域へのポインタ
[in]pend書き込むことが可能な領域の末尾
[in]sec1970-01-01を0とした場合の時間の1秒以上の部分(秒単位)
[in]nsec1970-01-01を0とした場合の時間の1秒未満の部分(ナノ秒単位)
戻り値
成功した場合は時刻データ直後へのポインタ、書き込む領域が足りない場合はNULL
参照
https://github.com/msgpack/msgpack/blob/master/spec.md#formats-timestamp

MpDirectWriter.h548 行目に定義があります。

◆ WriteTimestamp() [2/2]

nlib_byte_t * nn::nlib::msgpack::MpDirectWriter::WriteTimestamp ( nlib_byte_t p,
nlib_byte_t pend,
nlib_time  val 
)
inlinestaticnoexcept

与えられた時刻データを最小の長さでエンコードします。最長で15バイトのデータを書き込みます。

引数
[in]pシリアライズされたデータが書き込まれる領域へのポインタ
[in]pend書き込むことが可能な領域の末尾
[in]valシリアライズされる時刻データ
戻り値
成功した場合は時刻データ直後へのポインタ、書き込む領域が足りない場合はNULL
参照
https://github.com/msgpack/msgpack/blob/master/spec.md#formats-timestamp

MpDirectWriter.h578 行目に定義があります。

◆ WriteUint16()

nlib_byte_t * nn::nlib::msgpack::MpDirectWriter::WriteUint16 ( nlib_byte_t p,
nlib_byte_t pend,
uint16_t  val 
)
inlinestaticnoexcept

0xcdを先頭とした3バイトのデータを書き込みます。

引数
[in]pシリアライズされたデータが書き込まれる領域へのポインタ
[in]pend書き込むことが可能な領域の末尾
[in]valシリアライズされる値
戻り値
成功した場合はp + 3、書き込む領域が足りない場合はNULL
説明
参照
https://github.com/msgpack/msgpack/blob/master/spec.md#formats-int

MpDirectWriter.h107 行目に定義があります。

◆ WriteUint32()

nlib_byte_t * nn::nlib::msgpack::MpDirectWriter::WriteUint32 ( nlib_byte_t p,
nlib_byte_t pend,
uint32_t  val 
)
inlinestaticnoexcept

0xceを先頭とした5バイトのデータを書き込みます。

引数
[in]pシリアライズされたデータが書き込まれる領域へのポインタ
[in]pend書き込むことが可能な領域の末尾
[in]valシリアライズされる値
戻り値
成功した場合はp + 5、書き込む領域が足りない場合はNULL
説明
参照
https://github.com/msgpack/msgpack/blob/master/spec.md#formats-int

MpDirectWriter.h114 行目に定義があります。

◆ WriteUint64()

nlib_byte_t * nn::nlib::msgpack::MpDirectWriter::WriteUint64 ( nlib_byte_t p,
nlib_byte_t pend,
uint64_t  val 
)
inlinestaticnoexcept

0xcfを先頭とした9バイトのデータを書き込みます。

引数
[in]pシリアライズされたデータが書き込まれる領域へのポインタ
[in]pend書き込むことが可能な領域の末尾
[in]valシリアライズされる値
戻り値
成功した場合はp + 9、書き込む領域が足りない場合はNULL
説明
参照
https://github.com/msgpack/msgpack/blob/master/spec.md#formats-int

MpDirectWriter.h121 行目に定義があります。

◆ WriteUint8()

nlib_byte_t * nn::nlib::msgpack::MpDirectWriter::WriteUint8 ( nlib_byte_t p,
nlib_byte_t pend,
uint8_t  val 
)
inlinestaticnoexcept

0xccを先頭とした2バイトのデータを書き込みます。

引数
[in]pシリアライズされたデータが書き込まれる領域へのポインタ
[in]pend書き込むことが可能な領域の末尾
[in]valシリアライズされる値
戻り値
成功した場合はp + 2、書き込む領域が足りない場合はNULL
説明
参照
https://github.com/msgpack/msgpack/blob/master/spec.md#formats-int

MpDirectWriter.h99 行目に定義があります。

◆ WriteUnsignedInt() [1/4]

nlib_byte_t * nn::nlib::msgpack::MpDirectWriter::WriteUnsignedInt ( nlib_byte_t p,
nlib_byte_t pend,
uint8_t  val 
)
inlinestaticnoexcept

与えられた数値データを最小の長さでエンコードします。最長で2バイトのデータを書き込みます。

引数
[in]pシリアライズされたデータが書き込まれる領域へのポインタ
[in]pend書き込むことが可能な領域の末尾
[in]valシリアライズされる値
戻り値
成功した場合は数値直後へのポインタ、書き込む領域が足りない場合はNULL

MpDirectWriter.h440 行目に定義があります。

◆ WriteUnsignedInt() [2/4]

nlib_byte_t * nn::nlib::msgpack::MpDirectWriter::WriteUnsignedInt ( nlib_byte_t p,
nlib_byte_t pend,
uint16_t  val 
)
inlinestaticnoexcept

与えられた数値データを最小の長さでエンコードします。最長で3バイトのデータを書き込みます。

引数
[in]pシリアライズされたデータが書き込まれる領域へのポインタ
[in]pend書き込むことが可能な領域の末尾
[in]valシリアライズされる値
戻り値
成功した場合は数値直後へのポインタ、書き込む領域が足りない場合はNULL

MpDirectWriter.h451 行目に定義があります。

◆ WriteUnsignedInt() [3/4]

nlib_byte_t * nn::nlib::msgpack::MpDirectWriter::WriteUnsignedInt ( nlib_byte_t p,
nlib_byte_t pend,
uint32_t  val 
)
inlinestaticnoexcept

与えられた数値データを最小の長さでエンコードします。最長で5バイトのデータを書き込みます。

引数
[in]pシリアライズされたデータが書き込まれる領域へのポインタ
[in]pend書き込むことが可能な領域の末尾
[in]valシリアライズされる値
戻り値
成功した場合は数値直後へのポインタ、書き込む領域が足りない場合はNULL

MpDirectWriter.h464 行目に定義があります。

◆ WriteUnsignedInt() [4/4]

nlib_byte_t * nn::nlib::msgpack::MpDirectWriter::WriteUnsignedInt ( nlib_byte_t p,
nlib_byte_t pend,
uint64_t  val 
)
inlinestaticnoexcept

与えられた数値データを最小の長さでエンコードします。最長で9バイトのデータを書き込みます。

引数
[in]pシリアライズされたデータが書き込まれる領域へのポインタ
[in]pend書き込むことが可能な領域の末尾
[in]valシリアライズされる値
戻り値
成功した場合は数値直後へのポインタ、書き込む領域が足りない場合はNULL

MpDirectWriter.h481 行目に定義があります。


この構造体詳解は次のファイルから抽出されました: