![]() |
Lumino
|
参照カウントを持つ可変長配列のコンテナテンプレートクラスです。 More...
#include <List.hpp>
Public Member Functions | |
List () | |
空の配列で新しい配列を構築します。 | |
List (const List &ary) | |
配列をコピーして新しい配列を構築します。 | |
List (List &&ary) | |
別の配列からムーブして構築します。 | |
List (std::initializer_list< T > list) | |
初期化子リストから構築します。 | |
template<class TIter > | |
List (TIter begin, TIter end) | |
イテレータの範囲からリストを構築します。 | |
~List () | |
デストラクタ | |
List & | operator= (const List &ary) |
別の List をこの List に割り当てます。 | |
List & | operator= (List &&other) |
別の List をこの List に割り当てます。 | |
T & | operator[] (int index) |
指定したインデックスにある要素への参照を取得します。 | |
const T & | operator[] (int index) const |
指定したインデックスにある要素への参照を取得します。 | |
bool | isEmpty () const noexcept |
配列が空であるかを確認します。 | |
int | size () const noexcept |
格納されている要素の数を取得します。 | |
int | capacity () const noexcept |
追加のメモリ割り当てを行わずに追加できる要素の最大数を取得します。 | |
reference | at (int index) |
指定したインデックスにある要素への参照を取得します。 | |
const_reference | at (int index) const |
指定したインデックスにある要素への参照を取得します。 | |
reference | front () |
先頭要素の参照を返します。 | |
const_reference | front () const |
先頭要素の参照を返します。 | |
reference | back () |
終端要素の参照を返します。 | |
const_reference | back () const |
終端要素の参照を返します。 | |
void | reserve (int count) |
メモリを指定したサイズで確保します。 | |
void | resize (int count) |
要素数を変更します。 | |
void | resize (int count, const T &value) |
デフォルト値を指定して、要素数を変更します。 | |
void | shrinkToFit () |
メモリ領域を現在の要素数まで切り詰めます。 | |
iterator | begin () noexcept |
先頭要素を指すイテレータを取得します。 | |
const_iterator | begin () const noexcept |
先頭要素を指すイテレータを取得します。 | |
iterator | end () noexcept |
末尾の次を指すイテレータを取得します。 | |
const_iterator | end () const noexcept |
末尾の次を指すイテレータを取得します。 | |
const_iterator | cbegin () const noexcept |
先頭要素を指す読み取り専用イテレータを取得します。 | |
const_iterator | cend () const noexcept |
末尾の次を指す読み取り専用イテレータを取得します。 | |
template<typename TItr > | |
void | assign (TItr first, TItr last) |
配列を初期化し、指定した範囲の要素をコピーします。 | |
void | add (const value_type &item) |
末尾に要素を追加します。 | |
void | addRange (const List< T > &items) |
末尾に別の配列を連結します。 | |
void | insert (int index, const value_type &item) |
指定したインデックスの位置に要素を挿入します。 | |
void | insertRange (int index, const List< T > &items) |
指定したインデックスの位置に要素を挿入します。 | |
void | clear () |
全ての要素を削除します。 | |
iterator | erase (iterator pos) |
イテレータで示された位置の要素を削除し、次の要素を示すイテレータを返します。 | |
iterator | erase (iterator begin, iterator end) |
イテレータで示された位置の要素を削除し、次の要素を示すイテレータを返します。 | |
bool | remove (const value_type &item) |
item に一致する最初の要素を削除します。(正常に削除された場合は true を返す。要素が見つからなければ false を返す) | |
template<typename TPred > | |
bool | removeIf (TPred pred) |
指定した条件に一致する最初の要素を削除します。(正常に削除された場合は true を返す。要素が見つからなければ false を返す) | |
int | removeAll (const value_type &item) |
item に一致する全ての要素を削除し、削除された要素数を返します。 | |
template<typename TPred > | |
int | removeAllIf (TPred pred) |
指定した条件に一致する全ての要素を削除し、削除された要素数を返します。 | |
void | removeAt (int index) |
指定したインデックスにある要素を削除します。 | |
void | removeFirst () |
先頭要素を削除します。 | |
void | removeLast () |
終端要素を削除します。 | |
bool | contains (const value_type &item) const |
指定した要素がこの配列内に存在するかどうかを判断します。 | |
template<typename TPred > | |
bool | containsIf (TPred pred) const |
指定した条件と一致する要素がこの配列内に存在するかどうかを判断します。 | |
int | indexOf (const value_type &item, int startIndex=0) const |
要素を指定した位置から検索し、最初に見つかったインデックスを返します。 More... | |
template<typename TPred > | |
int | indexOfIf (TPred pred, int startIndex=0) const |
指定した条件と一致する最初のインデックスを返します。 More... | |
Optional< T > | find (const value_type &item) const |
指定した要素と一致する最初の要素を検索し、その要素を指す Optional を返します。見つからなければ値を保持していません。 | |
template<typename TPred > | |
Optional< T > | findIf (TPred pred) const |
指定した条件と一致する最初の要素を検索し、その要素を指す Optional を返します。見つからなければ値を保持していません。 | |
bool | isOutOfRange (int index) const |
指定したインデックスがこの配列の境界の範囲外かを確認します。 | |
![]() | |
bool | isEmpty () const noexcept |
配列が空であるかを確認します。 | |
int | size () const noexcept |
格納されている要素の数を取得します。 | |
reference | front () |
先頭要素の参照を返します。 | |
const_reference | front () const |
先頭要素の参照を返します。 | |
reference | back () |
終端要素の参照を返します。 | |
const_reference | back () const |
終端要素の参照を返します。 | |
T & | operator[] (int index) |
指定したインデックスにある要素への参照を取得します。 | |
const T & | operator[] (int index) const |
指定したインデックスにある要素への参照を取得します。 | |
iterator | begin () noexcept |
先頭要素を指すイテレータを取得します。 | |
const_iterator | begin () const noexcept |
先頭要素を指すイテレータを取得します。 | |
iterator | end () noexcept |
末尾の次を指すイテレータを取得します。 | |
const_iterator | end () const noexcept |
末尾の次を指すイテレータを取得します。 | |
Additional Inherited Members | |
![]() | |
virtual void | finalize () |
参照がなくなり、オブジェクトが削除されようとしているときに呼び出されます。実装コードでは仮想関数を呼び出すことができます。主にデストラクタの制限を回避するために使用します。 | |
参照カウントを持つ可変長配列のコンテナテンプレートクラスです。
インデックスに基づく高速アクセスとインデックスベースの挿入と削除などの機能を提供します。 std::vector とおなじように使用できますが、ヒープに確保された List のインスタンスはベースクラスの RefObject が持つ参照カウントによっても寿命を管理されます。
int ln::List< T >::indexOf | ( | const value_type & | item, |
int | startIndex = 0 |
||
) | const |
要素を指定した位置から検索し、最初に見つかったインデックスを返します。
[in] | item | : 検索する要素 |
[in] | startIndex | : 検索を開始するインデックス (省略した場合は先頭から) |
int ln::List< T >::indexOfIf | ( | TPred | pred, |
int | startIndex = 0 |
||
) | const |
指定した条件と一致する最初のインデックスを返します。
[in] | pred | : 検索条件 |
[in] | startIndex | : 検索を開始するインデックス (省略した場合は先頭から) |