固定長配列 (std::array)
More...
#include <y3c/array.h>
|
| array () |
| デフォルトコンストラクタ: 各要素をデフォルト値で初期化
|
|
| array (const array &other) |
| コピーコンストラクタ
|
|
array & | operator= (const array &other) |
| コピー代入
|
|
| array (array &&other) |
| ムーブコンストラクタ
|
|
array & | operator= (array &&other) |
| ムーブ代入
|
|
template<typename... Args, typename std::enable_if<(sizeof...(Args)==N), std::nullptr_t >::type = nullptr> |
| array (Args &&...args) |
| 要素で初期化
|
|
| array (const std::array< T, N > &elems) |
| std::arrayからのコピー
|
|
| array (std::array< T, N > &&elems) |
| std::arrayからのムーブ
|
|
array & | operator= (const std::array< T, N > &elems) |
| std::arrayからのコピー
|
|
array & | operator= (std::array< T, N > &&elems) |
| std::arrayからのムーブ
|
|
reference | at (size_type n, internal::skip_trace_tag={}) |
| 要素アクセス
|
|
const_reference | at (size_type n, internal::skip_trace_tag={}) const |
| 要素アクセス(const)
|
|
template<typename = internal::skip_trace_tag> |
reference | operator[] (size_type n) |
| 要素アクセス
|
|
template<typename = internal::skip_trace_tag> |
const_reference | operator[] (size_type n) const |
| 要素アクセス(const)
|
|
reference | front (internal::skip_trace_tag={}) |
| 先頭の要素へのアクセス
|
|
const_reference | front (internal::skip_trace_tag={}) const |
| 先頭の要素へのアクセス(const)
|
|
reference | back (internal::skip_trace_tag={}) |
| 末尾の要素へのアクセス
|
|
const_reference | back (internal::skip_trace_tag={}) const |
| 末尾の要素へのアクセス
|
|
pointer | data () |
| 先頭要素へのポインタを取得
|
|
const_pointer | data () const |
| 先頭要素へのconstポインタを取得
|
|
iterator | begin () |
| 先頭要素を指すイテレータを取得
|
|
const_iterator | begin () const |
| 先頭要素を指すconstイテレータを取得
|
|
const_iterator | cbegin () const |
| 先頭要素を指すconstイテレータを取得
|
|
iterator | end () |
| 末尾要素を指すイテレータを取得
|
|
const_iterator | end () const |
| 末尾要素を指すconstイテレータを取得
|
|
const_iterator | cend () const |
| 末尾要素を指すconstイテレータを取得
|
|
bool | empty () const noexcept |
| sizeが0かどうかを返す
|
|
size_type | size () const noexcept |
| 配列のサイズを取得
|
|
size_type | max_size () const noexcept |
| 配列の最大サイズを取得
|
|
void | fill (const T &value) |
| コンテナを要素で埋める
|
|
void | swap (array &other) |
| 別のarrayと要素を入れ替える
|
|
| operator std::array< T, N > & () noexcept |
| std::array へのキャスト
|
|
| operator const std::array< T, N > & () const noexcept |
| const std::array へのキャスト
|
|
| operator wrap< array & > () noexcept |
|
| operator wrap< const array & > () const noexcept |
|
wrap< array * > | operator& () |
|
wrap< const array * > | operator& () const |
|
template<typename T, std::size_t N>
class y3c::array< T, N >
固定長配列 (std::array)
- キャストするか unwrap() することで std::array<T, N> (の参照)に戻せる。
- std::arrayと違って集成体初期化はできない (できるようにする必要はあるのか?)
- See also
- array - cpprefjp
- Examples
- array-at.cc, array-iter.cc, array-operator.cc, array-ptr-local.cc, array-ptr.cc, and catch.cc.
◆ const_iterator
template<typename T , std::size_t N>
◆ const_pointer
template<typename T , std::size_t N>
◆ const_reference
template<typename T , std::size_t N>
◆ difference_type
template<typename T , std::size_t N>
◆ iterator
template<typename T , std::size_t N>
◆ pointer
template<typename T , std::size_t N>
◆ reference
template<typename T , std::size_t N>
◆ size_type
template<typename T , std::size_t N>
◆ value_type
template<typename T , std::size_t N>
◆ array() [1/6]
template<typename T , std::size_t N>
デフォルトコンストラクタ: 各要素をデフォルト値で初期化
◆ array() [2/6]
template<typename T , std::size_t N>
◆ array() [3/6]
template<typename T , std::size_t N>
◆ array() [4/6]
template<typename T , std::size_t N>
template<typename... Args, typename std::enable_if<(sizeof...(Args)==N), std::nullptr_t >::type = nullptr>
要素で初期化
y3c::array<int, 3>{1, 2, 3}
のような初期化をできるようにする
◆ array() [5/6]
template<typename T , std::size_t N>
array |
( |
const std::array< T, N > & |
elems | ) |
|
|
inline |
◆ array() [6/6]
template<typename T , std::size_t N>
array |
( |
std::array< T, N > && |
elems | ) |
|
|
inline |
◆ at() [1/2]
template<typename T , std::size_t N>
◆ at() [2/2]
template<typename T , std::size_t N>
◆ back() [1/2]
template<typename T , std::size_t N>
◆ back() [2/2]
template<typename T , std::size_t N>
◆ begin() [1/2]
template<typename T , std::size_t N>
◆ begin() [2/2]
template<typename T , std::size_t N>
◆ cbegin()
template<typename T , std::size_t N>
◆ cend()
template<typename T , std::size_t N>
◆ data() [1/2]
template<typename T , std::size_t N>
◆ data() [2/2]
template<typename T , std::size_t N>
◆ empty()
template<typename T , std::size_t N>
sizeが0かどうかを返す
- Returns
- N == 0
◆ end() [1/2]
template<typename T , std::size_t N>
◆ end() [2/2]
template<typename T , std::size_t N>
◆ fill()
template<typename T , std::size_t N>
void fill |
( |
const T & |
value | ) |
|
|
inline |
◆ front() [1/2]
template<typename T , std::size_t N>
◆ front() [2/2]
template<typename T , std::size_t N>
◆ max_size()
template<typename T , std::size_t N>
◆ operator const std::array< T, N > &()
template<typename T , std::size_t N>
operator const std::array< T, N > & |
( |
| ) |
const |
|
inlinenoexcept |
◆ operator std::array< T, N > &()
template<typename T , std::size_t N>
operator std::array< T, N > & |
( |
| ) |
|
|
inlinenoexcept |
◆ operator wrap< array & >()
template<typename T , std::size_t N>
◆ operator wrap< const array & >()
template<typename T , std::size_t N>
◆ operator&() [1/2]
template<typename T , std::size_t N>
◆ operator&() [2/2]
template<typename T , std::size_t N>
◆ operator=() [1/4]
template<typename T , std::size_t N>
◆ operator=() [2/4]
template<typename T , std::size_t N>
◆ operator=() [3/4]
template<typename T , std::size_t N>
array & operator= |
( |
const std::array< T, N > & |
elems | ) |
|
|
inline |
◆ operator=() [4/4]
template<typename T , std::size_t N>
array & operator= |
( |
std::array< T, N > && |
elems | ) |
|
|
inline |
◆ operator[]() [1/2]
template<typename T , std::size_t N>
template<typename = internal::skip_trace_tag>
◆ operator[]() [2/2]
template<typename T , std::size_t N>
template<typename = internal::skip_trace_tag>
要素アクセス(const)
- インデックスが範囲外の場合terminateする。
◆ size()
template<typename T , std::size_t N>
◆ swap()
template<typename T , std::size_t N>
void swap |
( |
array< T, N > & |
other | ) |
|
|
inline |
The documentation for this class was generated from the following file: