要素数が可変の1次元配列 [詳細]
#include <mist.h>
データ構造 | |
struct | rebind |
データ型の変換を行う [詳細] |
Public 型 | |
typedef Allocator | allocator_type |
MISTコンテナが利用するアロケータ型 | |
typedef Allocator::reference | reference |
MISTのコンテナ内に格納するデータ型の参照.mist::array< data > の場合,data & となる | |
typedef Allocator::const_reference | const_reference |
MISTのコンテナ内に格納するデータ型の const 参照.mist::array< data > の場合,const data & となる | |
typedef Allocator::value_type | value_type |
MISTのコンテナ内に格納するデータ型.mist::array< data > の data と同じ | |
typedef Allocator::size_type | size_type |
符号なしの整数を表す型.コンテナ内の要素数や,各要素を指定するときなどに利用し,内部的には size_t 型と同じ | |
typedef Allocator::difference_type | difference_type |
符号付きの整数を表す型.コンテナ内の要素数や,各要素を指定するときなどに利用し,内部的には ptrdiff_t 型と同じ | |
typedef Allocator::pointer | pointer |
MISTのコンテナ内に格納するデータ型のポインター型.mist::array< data > の場合,data * となる | |
typedef Allocator::const_pointer | const_pointer |
MISTのコンテナ内に格納するデータ型の const ポインター型.mist::array< data > の場合,const data * となる | |
typedef mist_iterator1< T, ptrdiff_t, pointer, reference > | iterator |
MISTのコンテナ内を操作する,STLで言う順方向のランダムアクセスイテレータ | |
typedef mist_iterator1< T, ptrdiff_t, const_pointer, const_reference > | const_iterator |
MISTのコンテナ内を操作する,順方向のランダムアクセスイテレータのコンスト版 | |
typedef mist_reverse_iterator < mist_iterator1< T, ptrdiff_t, pointer, reference > > | reverse_iterator |
MISTのコンテナ内を操作する,逆方向のランダムアクセスイテレータ | |
typedef mist_reverse_iterator < mist_iterator1< T, ptrdiff_t, const_pointer, const_reference > > | const_reverse_iterator |
MISTのコンテナ内を操作する,逆方向のランダムアクセスイテレータのコンスト版 |
Public メソッド | |
bool | resize (size_type num, size_type=0, size_type=0) |
コンテナ内の要素数を変更する | |
bool | trim (array &out, size_type index, difference_type num=-1) const |
コンテナ内の要素をトリミングする | |
bool | trim (size_type index, difference_type num=-1) |
コンテナ内の要素をトリミングする | |
bool | swap (array &a) |
コンテナ内の全ての内容を入れ替える. | |
void | clear () |
コンテナの要素を空にする | |
void | fill () |
コンテナ内のデータ要素をデフォルト値で初期化する | |
void | fill (const value_type &val) |
コンテナ内のデータ要素を指定された値で初期化する | |
bool | empty () const |
コンテナが空かどうかを判定 | |
size_type | size () const |
コンテナに格納されているデータ数を返す | |
size_type | size1 () const |
X軸方向のコンテナに格納されているデータ数を返す | |
size_type | size2 () const |
Y軸方向のコンテナに格納されているデータ数を返す(常に1を返す) | |
size_type | size3 () const |
Z軸方向のコンテナに格納されているデータ数を返す(常に1を返す) | |
size_type | width () const |
X軸方向のコンテナに格納されているデータ数を返す | |
size_type | height () const |
Y軸方向のコンテナに格納されているデータ数を返す(常に1を返す) | |
size_type | depth () const |
Z軸方向のコンテナに格納されているデータ数を返す(常に1を返す) | |
double | reso1 (double) |
X軸方向の解像度を返す | |
double | reso1 () const |
X軸方向の解像度を設定する | |
double | reso2 (double) |
Y軸方向の解像度を返す | |
double | reso2 () const |
Y軸方向の解像度を設定する | |
double | reso3 (double) |
Z軸方向の解像度を返す | |
double | reso3 () const |
Z軸方向の解像度を設定する) | |
size_type | byte () const |
コンテナ内の要素が占めるデータ量をバイト単位で返す | |
bool | is_memory_shared () const |
外部で割り当てられたメモリ領域を使用しているかどうか | |
iterator | begin () |
コンテナの先頭を指すランダムアクセスイテレータを返す | |
const_iterator | begin () const |
コンテナの先頭を指すコンスト型のコンテナを操作するランダムアクセスイテレータを返す | |
iterator | end () |
コンテナの末尾を指すランダムアクセスイテレータを返す | |
const_iterator | end () const |
コンテナの末尾を指すコンスト型のコンテナを操作するランダムアクセスイテレータを返す | |
reverse_iterator | rbegin () |
コンテナの末尾を指す逆方向ランダムアクセスイテレータを返す | |
const_reverse_iterator | rbegin () const |
コンテナの末尾を指すコンスト型のコンテナを操作する逆方向ランダムアクセスイテレータを返す | |
reverse_iterator | rend () |
コンテナの先頭を指す逆方向ランダムアクセスイテレータを返す | |
const_reverse_iterator | rend () const |
コンテナの先頭を指すコンスト型のコンテナを操作する逆方向ランダムアクセスイテレータを返す | |
size_type | max_size () const |
使用しているアロケータが確保可能なメモリの最大値を返す | |
template<class TT , class AAlocator > | |
const array & | operator= (const array< TT, AAlocator > &o) |
要素の型が異なるコンテナを代入する | |
const array & | operator= (const array &o) |
要素の型が異なるコンテナを代入する | |
reference | at (size_type index, size_type dmy1=0, size_type dmy2=0) |
index で示される位置の要素の参照を返す | |
const_reference | at (size_type index, size_type dmy1=0, size_type dmy2=0) const |
index で示される位置の要素の const 参照を返す | |
reference | operator() (size_type index, size_type dmy1=0, size_type dmy2=0) |
index で示される位置の要素の参照を返す | |
const_reference | operator() (size_type index, size_type dmy1=0, size_type dmy2=0) const |
index で示される位置の要素の const 参照を返す | |
reference | operator[] (size_type index) |
index で示される位置の要素の参照を返す | |
const_reference | operator[] (size_type index) const |
index で示される位置の要素の const 参照を返す | |
array () | |
ディフォルトコンストラクタ.要素数 0 のコンテナを作成する | |
array (const Allocator &a) | |
アロケータ a のコピーを利用する | |
array (size_type num) | |
要素数 num 個のコンテナを作成し,デフォルト値で要素を初期化する | |
array (size_type num, const Allocator &a) | |
要素数 num 個のコンテナを作成し,アロケータ a のコピーを利用する | |
array (size_type num, const value_type &val) | |
要素数 num 個のコンテナを作成し,値 val で初期化する | |
array (size_type num, const value_type &val, const Allocator &a) | |
要素数 num 個のコンテナを作成し,値 val で初期化し,アロケータ a のコピーを利用する | |
array (const_iterator s, const_iterator e) | |
イテレータ s と e の範囲の値を用いて,配列を初期化する | |
array (const_iterator s, const_iterator e, const Allocator &a) | |
イテレータ s と e の範囲の値を用いて,配列を初期化し,アロケータ a のコピーを利用する | |
array (size_type num, pointer ptr, size_type mem_available) | |
ptr が指すメモリ領域に,要素数 num 個のコンテナを作成する(ptr が指す先の利用可能なメモリ量は mem_available ) | |
array (size_type num, const value_type &val, pointer ptr, size_type mem_available) | |
ptr が指すメモリ領域に,要素数 num 個のコンテナを作成し値 val で初期化する(ptr が指す先の利用可能なメモリ量は mem_available ) | |
template<class TT , class AAlocator > | |
array (const array< TT, AAlocator > &o) | |
他の array 配列で要素の型が異なるものから同じ要素数の配列を作成する | |
array (const array< T, Allocator > &o) | |
他の array 配列で同じ要素型のものを用いて初期化する | |
~array () | |
コンテナが利用しているリソースを全て開放する |
Protected メソッド | |
pointer | paccess (size_type index) |
index で示される位置の要素のポインタを返す | |
const_pointer | paccess (size_type index) const |
index で示される位置の要素の const ポインタを返す |
Protected 変数 | |
mist_allocator< T, Allocator > | allocator_ |
各コンテナで利用するアロケータオブジェクト | |
T * | data_ |
コンテナで扱うデータの先頭を表すポインタ |
要素数が可変の1次元配列
全てのMISTコンテナの基本となるクラス (mist/mist.h をインクルードする)
T | … MISTのコンテナ内に格納するデータ型 |
Allocator | … MISTコンテナが利用するアロケータ型.省略した場合は,STLのデフォルトアロケータを使用する |
|
inline |
他の array 配列で要素の型が異なるものから同じ要素数の配列を作成する
|
inline |
index で示される位置の要素の参照を返す
DEBUG マクロを有効にした(NDEBUGマクロを定義しない)場合は,指定された index が有効な範囲内にあるかをチェックする
[in] | index | … コンテナ内の要素位置 |
[in] | dmy1 | … 使用しない |
[in] | dmy2 | … 使用しない |
mist::array3< T, Allocator >, mist::array3< vector_type >, mist::array3< value_type >, mist::array3< ivector_type >, mist::array2< T, Allocator >, mist::array2< coefficients >, mist::array2< value_type >, mist::array2< unsigned int >, mist::array2< vector_type, std::allocator< vector_type > >, mist::array2< value_type, std::allocator< value_type > >, mist::array2< ivector_type, std::allocator< ivector_type > >, と mist::bitmap< BITS, Allocator >で再定義されています。
|
inline |
index で示される位置の要素の const 参照を返す
DEBUG マクロを有効にした(NDEBUGマクロを定義しない)場合は,指定された index が有効な範囲内にあるかをチェックする
[in] | index | … コンテナ内の要素位置 |
[in] | dmy1 | … 使用しない |
[in] | dmy2 | … 使用しない |
mist::array3< T, Allocator >, mist::array3< vector_type >, mist::array3< value_type >, mist::array3< ivector_type >, mist::array2< T, Allocator >, mist::array2< coefficients >, mist::array2< value_type >, mist::array2< unsigned int >, mist::array2< vector_type, std::allocator< vector_type > >, mist::array2< value_type, std::allocator< value_type > >, mist::array2< ivector_type, std::allocator< ivector_type > >, と mist::bitmap< BITS, Allocator >で再定義されています。
|
inline |
コンテナの先頭を指すランダムアクセスイテレータを返す
@code 順方向ランダムアクセスイテレータの使用例
std::cout << "順方向ランダムアクセスイテレータ" << std::endl; mist::array< int >::iterator ite1 = a.begin( ); for( ; ite1 != a.end( ) ; ite1++ ) { std::cout << *ite1 << " "; } std::cout << std::endl << std::endl;
mist::array3< T, Allocator >, mist::array3< vector_type >, mist::array3< value_type >, と mist::array3< ivector_type >で再定義されています。
参照元 mist::emd(), と mist::extract_mesh().
|
inline |
コンテナの要素を空にする
コンテナに格納されているデータを全て削除し,コンテナを空(要素数0)にする
mist::marray< array3< vector_type > >, mist::array3< T, Allocator >, mist::array3< vector_type >, mist::array3< value_type >, mist::array3< ivector_type >, mist::array2< T, Allocator >, mist::array2< coefficients >, mist::array2< value_type >, mist::array2< unsigned int >, mist::array2< vector_type, std::allocator< vector_type > >, mist::array2< value_type, std::allocator< value_type > >, mist::array2< ivector_type, std::allocator< ivector_type > >, mist::matrix< T, Allocator >, mist::matrix< double >, mist::matrix< V, A >, mist::matrix< difference_type >, と mist::bitmap< BITS, Allocator >で再定義されています。
|
inline |
コンテナが空かどうかを判定
true | … コンテナの要素数が空(0)の場合 |
false | … コンテナの要素数が空(0)でない場合 |
参照元 mist::canny(), mist::det(), mist::histogram::estimate_mixture(), mist::linear::filter(), mist::average::filter(), mist::linear::filter1d(), mist::harris(), mist::localColorChange(), mist::median(), mist::mode(), mist::multiply(), と mist::discriminant_analysis::threshold().
|
inline |
コンテナ内のデータ要素をデフォルト値で初期化する
デフォルトコンストラクタの値で初期化する. 組み込み型(int や double など)の場合は,全ての要素を0で初期化する.
参照元 mist::statistics::generate_histogram(), mist::multiply(), と mist::permutation_matrix().
|
inline |
コンテナ内のデータ要素を指定された値で初期化する
全ての要素を値 val で初期化する.
[in] | val | … 要素を初期化する値 |
|
inline |
index で示される位置の要素の参照を返す
DEBUG マクロを有効にした(NDEBUGマクロを定義しない)場合は,指定された index が有効な範囲内にあるかをチェックする
[in] | index | … コンテナ内の要素位置 |
[in] | dmy1 | … 使用しない |
[in] | dmy2 | … 使用しない |
mist::array3< T, Allocator >, mist::array3< vector_type >, mist::array3< value_type >, mist::array3< ivector_type >, mist::array2< T, Allocator >, mist::array2< coefficients >, mist::array2< value_type >, mist::array2< unsigned int >, mist::array2< vector_type, std::allocator< vector_type > >, mist::array2< value_type, std::allocator< value_type > >, mist::array2< ivector_type, std::allocator< ivector_type > >, と mist::bitmap< BITS, Allocator >で再定義されています。
|
inline |
index で示される位置の要素の const 参照を返す
DEBUG マクロを有効にした(NDEBUGマクロを定義しない)場合は,指定された index が有効な範囲内にあるかをチェックする
[in] | index | … コンテナ内の要素位置 |
[in] | dmy1 | … 使用しない |
[in] | dmy2 | … 使用しない |
mist::array3< T, Allocator >, mist::array3< vector_type >, mist::array3< value_type >, mist::array3< ivector_type >, mist::array2< T, Allocator >, mist::array2< coefficients >, mist::array2< value_type >, mist::array2< unsigned int >, mist::array2< vector_type, std::allocator< vector_type > >, mist::array2< value_type, std::allocator< value_type > >, mist::array2< ivector_type, std::allocator< ivector_type > >, と mist::bitmap< BITS, Allocator >で再定義されています。
|
inline |
要素の型が異なるコンテナを代入する
コピー元であるコンテナ o と全く同じコンテナを作成する. コピー先(ここでは自分自身)の要素数が o と異なる場合は,自動的にサイズを調整する. コピー元とコピー先でデータ型(array< data > の data)が異なる場合の代入を行う. メモリの確保に失敗したら,空のコンテナとなる
[in] | o | … コピー元のコンテナ |
|
inline |
要素の型が異なるコンテナを代入する
コピー元であるコンテナ o と全く同じコンテナを作成する. コピー先(ここでは自分自身)の要素数が o と異なる場合は,自動的にサイズを調整する. メモリの確保に失敗したら,空のコンテナとなる
[in] | o | … コピー元のコンテナ |
mist::marray< array3< vector_type > >で再定義されています。
|
inline |
index で示される位置の要素の参照を返す
DEBUG マクロを有効にした(NDEBUGマクロを定義しない)場合は,指定された index が有効な範囲内にあるかをチェックする
[in] | index | … コンテナ内の要素位置 |
mist::bitmap< BITS, Allocator >で再定義されています。
|
inline |
index で示される位置の要素の const 参照を返す
DEBUG マクロを有効にした(NDEBUGマクロを定義しない)場合は,指定された index が有効な範囲内にあるかをチェックする
[in] | index | … コンテナ内の要素位置 |
mist::bitmap< BITS, Allocator >で再定義されています。
|
inlineprotected |
index で示される位置の要素のポインタを返す
[in] | index | … コンテナ内の要素位置 |
参照元 mist::array< ivector_type, std::allocator< ivector_type > >::trim().
|
inlineprotected |
index で示される位置の要素の const ポインタを返す
[in] | index | … コンテナ内の要素位置 |
|
inline |
コンテナの末尾を指す逆方向ランダムアクセスイテレータを返す
@code 逆方向ランダムアクセスイテレータの使用例
std::cout << "逆方向ランダムアクセスイテレータ" << std::endl; mist::array< int >::reverse_iterator ite2 = a.rbegin( ); for( ; ite2 != a.rend( ) ; ite2++ ) { std::cout << *ite2 << " "; } std::cout << std::endl;
mist::array3< T, Allocator >, mist::array3< vector_type >, mist::array3< value_type >, と mist::array3< ivector_type >で再定義されています。
|
inline |
コンテナ内の要素数を変更する
コンテナのサイズを num 個に変更する. 元のコンテナサイズと異なる場合は,自動的にサイズを調整する. 要素数が変更された場合のみ全ての要素の値はデフォルトコンストラクタで初期化される. また,組み込み型(int や double など)の場合は,全ての要素を0で初期化する.
[in] | num | … リサイズ後のコンテナ内の要素数 |
[in] | dmy1 | … ダミー変数(使用しない) |
[in] | dmy2 | … ダミー変数(使用しない) |
true | … 正常にリサイズが終了 |
false | … リサイズ後のメモリを確保できなかった場合 |
mist::marray< array3< vector_type > >, mist::array3< T, Allocator >, mist::array3< vector_type >, mist::array3< value_type >, mist::array3< ivector_type >, mist::array2< T, Allocator >, mist::array2< coefficients >, mist::array2< value_type >, mist::array2< unsigned int >, mist::array2< vector_type, std::allocator< vector_type > >, mist::array2< value_type, std::allocator< value_type > >, mist::array2< ivector_type, std::allocator< ivector_type > >, と mist::bitmap< BITS, Allocator >で再定義されています。
参照元 mist::integral_image< array< T, Allocator > >::construct_integral_array(), mist::dct(), mist::dst(), mist::emd(), mist::linear::filter(), mist::average::filter(), mist::statistics::hu_moments(), mist::idct(), mist::idst(), mist::nearest::interpolate(), mist::mean::interpolate(), mist::linear::interpolate(), mist::cubic::interpolate(), mist::BSpline::interpolate(), mist::sinc::interpolate(), mist::median(), mist::parcor(), と mist::array< ivector_type, std::allocator< ivector_type > >::trim().
|
inline |
コンテナ内の全ての内容を入れ替える.
入れ替え元のコンテナ a の中身と全て入れ替える
[in] | a | … 内容を入れ替える対象 |
true | … データのスワップに成功 |
false | … データのスワップに失敗 |
|
inline |
コンテナ内の要素をトリミングする
メモリの確保に失敗したら,空のコンテナとなる
[out] | out | … トリミング結果を格納するオブジェクト(サイズは自動で変更されます) |
[in] | index | … トリミングの開始位置(ゼロから始まるインデックス) |
[in] | num | … トリミング後の要素数(-1の場合は,最後までをコピーする) |
true | … トリミングに成功した場合(元とサイズが変わらない場合も含む) |
false | … 不正なトリミングを行おうとした場合 |
参照元 mist::array< ivector_type, std::allocator< ivector_type > >::trim().
|
inline |
コンテナ内の要素をトリミングする
メモリの確保に失敗したら,空のコンテナとなる
[in] | index | … トリミングの開始位置(ゼロから始まるインデックス) |
[in] | num | … トリミング後の要素数(-1の場合は,最後までをコピーする) |
true | … トリミングに成功した場合(元とサイズが変わらない場合も含む) |
false | … 不正なトリミングを行おうとした場合 |
mist::array1< T, Allocator >, mist::array1< coefficients, std::allocator< coefficients > >, mist::array1< int >, mist::array1< unsigned int, std::allocator< unsigned int > >, mist::array1< vector_type, std::allocator< vector_type > >, mist::array1< value_type, std::allocator< value_type > >, と mist::array1< ivector_type, std::allocator< ivector_type > >で再定義されています。