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

配列型を持つMpObjectに対して、配列に格納されたMpObjectを要素とするアクセスを提供するためのクラスです。 [詳解]

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

公開型

typedef Nlist< MpObject >::iterator iterator
 前方反復子です。
 
typedef Nlist< MpObject >::const_iterator const_iterator
 読み取り専用前方反復子です。
 
typedef MpObjectreference
 要素への参照です。
 
typedef const MpObjectconst_reference
 要素への読み取り専用参照です。
 
typedef MpObjectpointer
 要素へのポインタです。
 
typedef const MpObjectconst_pointer
 要素への読み取り専用ポインタです。
 

公開メンバ関数

 MpObjectAsArray (MpObject &obj) noexcept
 
iterator begin () noexcept
 先頭要素を指す反復子を取得します。
 
iterator end () noexcept
 末尾の次を指す反復子を取得します。
 
const_iterator begin () const noexcept
 先頭要素を指す読み取り専用反復子を取得します。
 
const_iterator end () const noexcept
 末尾の次を指す読み取り専用反復子を取得します。
 
reference front () noexcept
 最初の要素への参照を取得します。
 
const_reference front () const noexcept
 最初の要素への参照を取得します。
 
reference back () noexcept
 最後の要素への参照を取得します。
 
const_reference back () const noexcept
 最後の要素への参照を取得します。
 
reference operator[] (size_t n) noexcept
 n番目の要素を取得します。nは格納されている要素数未満である必要があります。 [詳解]
 
const_reference operator[] (size_t n) const noexcept
 上記関数のconst修飾付き版です。
 
size_t GetSize () const noexcept
 格納されている要素数を返します。
 
errno_t Resize (size_t n) noexcept
 配列の要素数を変更します。 [詳解]
 
errno_t PushBack (MpObject &&rhs) noexcept
 配列の末尾に要素を追加します。rhsの内容はムーブされます。 [詳解]
 
errno_t Insert (iterator it, MpObject &&rhs) noexcept
 itにある要素の直前にrhsを挿入します。 [詳解]
 
errno_t Insert (size_t n, MpObject &&rhs) noexcept
 n番目の要素の直前にrhsを挿入します。 [詳解]
 
errno_t Erase (iterator it) noexcept
 itにある要素を取り除きます。 [詳解]
 
errno_t Erase (size_t n) noexcept
 n番目の要素を取り除きます。 [詳解]
 
errno_t PopBack () noexcept
 末尾の要素を取り除きます。 [詳解]
 

詳解

配列型を持つMpObjectに対して、配列に格納されたMpObjectを要素とするアクセスを提供するためのクラスです。

説明
配列用にbegin(),end()関数が定義されているので、以下のようにループを記述することができるようになります。
const char* json = R"([1,2,3])";
auto obj = ToMpObject(json);
for (auto& item : obj->AsArray()) {
int val;
item.Unbox(&val);
nlib_printf("%d ", val);
}
nlib_printf("\n");
/*
Output:
1 2 3
*/

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

構築子と解体子

◆ MpObjectAsArray()

nn::nlib::msgpack::MpObjectAsArray::MpObjectAsArray ( MpObject obj)
inlineexplicitnoexcept
引数
[in]obj配列としてアクセスするMpObjectobj.IsArray()が真である必要があります。

MpObject.h452 行目に定義があります。

関数詳解

◆ Erase() [1/2]

nn::nlib::msgpack::MpObjectAsArray::Erase ( iterator  it)
noexcept

itにある要素を取り除きます。

引数
[in]it取り除く要素の位置
戻り値
0ならば成功。0以外の場合はエラー

◆ Erase() [2/2]

nn::nlib::msgpack::MpObjectAsArray::Erase ( size_t  n)
inlinenoexcept

n番目の要素を取り除きます。

引数
[in]n0以上の整数
戻り値
0成功した場合
ERANGEnが範囲外の場合

MpObject.h496 行目に定義があります。

◆ Insert() [1/2]

nn::nlib::msgpack::MpObjectAsArray::Insert ( iterator  it,
MpObject &&  rhs 
)
noexcept

itにある要素の直前にrhsを挿入します。

引数
[in]it挿入される位置
[in,out]rhs挿入される要素
戻り値
0ならば成功。0以外の場合はエラー

◆ Insert() [2/2]

nn::nlib::msgpack::MpObjectAsArray::Insert ( size_t  n,
MpObject &&  rhs 
)
inlinenoexcept

n番目の要素の直前にrhsを挿入します。

引数
[in]n要素を挿入する場所
[in,out]rhs挿入される要素
戻り値
0ならば成功。0以外の場合はエラー

MpObject.h489 行目に定義があります。

◆ operator[]()

nn::nlib::msgpack::MpObjectAsArray::operator[] ( size_t  n)
inlinenoexcept

n番目の要素を取得します。nは格納されている要素数未満である必要があります。

引数
[in]n要素の位置
戻り値
n番目の要素への参照

MpObject.h463 行目に定義があります。

◆ PopBack()

nn::nlib::msgpack::MpObjectAsArray::PopBack ( )
inlinenoexcept

末尾の要素を取り除きます。

戻り値
0ならば成功。0以外の場合はエラー

MpObject.h503 行目に定義があります。

◆ PushBack()

nn::nlib::msgpack::MpObjectAsArray::PushBack ( MpObject &&  rhs)
inlinenoexcept

配列の末尾に要素を追加します。rhsの内容はムーブされます。

引数
[in,out]rhs配列の末尾に追加する要素
戻り値
0ならば成功。0以外の場合はエラー

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

◆ Resize()

nn::nlib::msgpack::MpObjectAsArray::Resize ( size_t  n)
inlinenoexcept

配列の要素数を変更します。

引数
[in]nリサイズ後のサイズ
戻り値
0ならば成功。0以外の場合はエラー

MpObject.h472 行目に定義があります。


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