|
SigUtil
0.95
Utility modules for modern C++
|
STLライクな静的配列 More...
Public Types | |
| using | value_type = T |
| using | reference = T & |
| using | const_reference = T const & |
| using | pointer = T * |
| using | const_pointer = T const * |
| using | iterator = typename std::array< T, N >::iterator |
| using | const_iterator = typename std::array< T, N >::const_iterator |
| using | reverse_iterator = typename std::array< T, N >::reverse_iterator |
| using | const_reverse_iterator = typename std::array< T, N >::const_reverse_iterator |
| using | size_type = size_t |
| using | difference_type = typename std::array< T, N >::difference_type |
| using | result_type = typename boost::call_traits< T >::value_type |
| using | param_type = typename boost::call_traits< T >::param_type |
Public Member Functions | |
| array () | |
| デフォルトコンストラクタ More... | |
| array (size_type size, T val) | |
| 値をコピーしてコンストラクト More... | |
| array (std::initializer_list< T > init) | |
| initializer_list から値をムーブしてコンストラクト More... | |
| template<size_type M> | |
| array (std::array< T, M > const &src) | |
| std::array から値をコピーしてコンストラクト More... | |
| template<size_type M> | |
| array (sig::array< T, M > const &src) | |
| sig::array(サイズが異なる)から値をコピーしてコンストラクト More... | |
| array (array const &src) | |
| コピーコンストラクタ More... | |
| array (array &&src) | |
| ムーブコンストラクタ More... | |
| array & | operator= (array const &src) |
| コピー代入演算子 More... | |
| array & | operator= (array &&src) |
| ムーブ代入演算子 More... | |
| template<size_type M> | |
| array & | operator= (std::array< T, M > const &src) |
| std::array から値をコピーして代入 More... | |
| template<size_type M> | |
| array & | operator= (sig::array< T, M > const &src) |
| sig::array(サイズが異なる)から値をコピーして代入 More... | |
| bool | operator== (array const &obj) |
| 等値比較演算子 More... | |
| bool | operator!= (array const &obj) |
| 非等値比較演算子 More... | |
| iterator | begin () noexcept |
| 先頭要素を指すイテレータを返す More... | |
| const_iterator | begin () const noexcept |
| const_iterator | cbegin () const noexcept |
| iterator | end () noexcept |
| 末尾要素の後ろを指すイテレータを返す More... | |
| const_iterator | end () const noexcept |
| const_iterator | cend () const noexcept |
| reverse_iterator | rbegin () noexcept |
| 末尾要素を指す逆イテレータを返す More... | |
| const_reverse_iterator | rbegin () const noexcept |
| const_reverse_iterator | crbegin () const noexcept |
| reverse_iterator | rend () noexcept |
| 先頭要素の前を指す逆イテレータを返す More... | |
| const_reverse_iterator | rend () const noexcept |
| const_reverse_iterator | crend () const noexcept |
| reference | at (size_type pos) |
| 添字による要素へのアクセス More... | |
| const_reference | at (size_type pos) const |
| reference | operator[] (size_type pos) |
| 添字による要素へのアクセス More... | |
| const_reference | operator[] (size_type pos) const |
| reference | front () |
| 先頭要素へのアクセス More... | |
| const_reference | front () const |
| reference | back () |
| 末尾要素へのアクセス More... | |
| const_reference | back () const |
| bool | empty () const noexcept |
| コンテナが空であるかを確認 More... | |
| size_type | size () const noexcept |
| コンテナに格納された要素数を返す More... | |
| size_type | max_size () const noexcept |
| コンテナの最大容量を返す More... | |
| value_type * | data () noexcept |
| 内部で保有する生配列へのポインタを返す More... | |
| value_type const * | data () const noexcept |
| auto | std_array () noexcept-> std::array< T, N > & |
| 内部で保有するstd::arrayへの参照を返す More... | |
| auto | std_array () const noexcept-> std::array< T, N > const & |
| void | fill (value_type const &val) |
| コンテナの全要素(最大容量まで)を指定した値でコピーする More... | |
| void | swap (array &other) |
| 他の最大容量が同じsig::arrayと保持メンバを入れ替える More... | |
| void | push_back (value_type const &val) |
| コンテナの末尾に指定した値を追加する More... | |
| void | push_back (value_type &&val) |
| void | pop_back () noexcept |
| コンテナの末尾から要素を取り除く More... | |
| iterator | insert (const_iterator position, const value_type &val) |
| 指定位置の後ろに指定した値を挿入する More... | |
| iterator | insert (const_iterator position, value_type &&val) |
| iterator | erase (iterator position) |
| 指定位置の要素を取り除く More... | |
| void | clear () noexcept |
| コンテナを空にする More... | |
STLライクな静的配列
std::arrayの利便性を拡張し、固定長なstd::vectorの感覚で使用できる.
基本的に初期化時に全要素に値を入れる使い方を想定しているが、逐次的に末尾に代入していくことも可能.
メンバ関数begin()からend()で得られる範囲は、先頭から値が代入されている末尾までとなる([0]~[N-1]までではない)
| T | 要素型(必要:デフォルトコンストラクタ、コピーコンストラクタ、コピー代入演算子) |
| N | 最大容量 |
| using sig::array< T, N >::const_iterator = typename std::array<T, N>::const_iterator |
| using sig::array< T, N >::const_pointer = T const* |
| using sig::array< T, N >::const_reference = T const& |
| using sig::array< T, N >::const_reverse_iterator = typename std::array<T, N>::const_reverse_iterator |
| using sig::array< T, N >::difference_type = typename std::array<T, N>::difference_type |
| using sig::array< T, N >::iterator = typename std::array<T, N>::iterator |
| using sig::array< T, N >::param_type = typename boost::call_traits<T>::param_type |
| using sig::array< T, N >::pointer = T* |
| using sig::array< T, N >::reference = T& |
| using sig::array< T, N >::result_type = typename boost::call_traits<T>::value_type |
| using sig::array< T, N >::reverse_iterator = typename std::array<T, N>::reverse_iterator |
| using sig::array< T, N >::size_type = size_t |
| using sig::array< T, N >::value_type = T |
|
inline |
|
inline |
|
inline |
|
inlineexplicit |
|
inlineexplicit |
sig::array(サイズが異なる)から値をコピーしてコンストラクト
| src | 初期化に使用する値リスト(サイズはN以下) |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlinenoexcept |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlinenoexcept |
|
inline |
|
inline |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inline |