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 |