データ構造 | Public 型 | Public メソッド | Protected メソッド | Protected 変数
クラス テンプレート mist::array3< T, Allocator >

要素数が可変の解像度付き3次元配列 [詳細]

#include <mist.h>

+ mist::array3< T, Allocator >に対する継承グラフ

データ構造

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_iterator2< T,
ptrdiff_t, pointer, reference
iterator
 MISTのコンテナ内を操作する,STLで言う順方向のランダムアクセスイテレータ
typedef mist_iterator2< T,
ptrdiff_t, const_pointer,
const_reference
const_iterator
 MISTのコンテナ内を操作する,順方向のランダムアクセスイテレータのコンスト版
typedef mist_reverse_iterator
< mist_iterator2< T, ptrdiff_t,
pointer, reference > > 
reverse_iterator
 MISTのコンテナ内を操作する,逆方向のランダムアクセスイテレータ
typedef mist_reverse_iterator
< mist_iterator2< T, ptrdiff_t,
const_pointer, const_reference > > 
const_reverse_iterator
 MISTのコンテナ内を操作する,逆方向のランダムアクセスイテレータのコンスト版
- Public 型 inherited from mist::array2< T, Allocator >
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 型 inherited from mist::array1< T, Allocator >
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 型 inherited from mist::array< T, Allocator >
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 num1, size_type num2, size_type num3)
 コンテナ内の要素数を変更する
bool trim (array3 &out, size_type x, size_type y, size_type z, difference_type w=-1, difference_type h=-1, difference_type d=-1) const
 コンテナ内の要素をトリミングする
bool trim (size_type x, size_type y, size_type z, difference_type w=-1, difference_type h=-1, difference_type d=-1)
 コンテナ内の要素をトリミングする
bool swap (array3 &a)
 コンテナ内の全ての内容を入れ替える.
void clear ()
 コンテナの要素を空にする
size_type size1 () const
 X軸方向のコンテナに格納されているデータ数を返す
size_type size2 () const
 Y軸方向のコンテナに格納されているデータ数を返す
size_type size3 () const
 Z軸方向のコンテナに格納されているデータ数を返す
size_type width () const
 X軸方向のコンテナに格納されているデータ数を返す
size_type height () const
 Y軸方向のコンテナに格納されているデータ数を返す
size_type depth () const
 Z軸方向のコンテナに格納されているデータ数を返す
double reso3 (double r3)
 Z軸方向の解像度を r3 に設定し,設定後の値を返す
double reso3 () const
 Z軸方向の解像度を返す
void reso (double r1, double r2, double r3)
 X軸とY軸とZ軸方向の解像度を1度に設定する
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
 使用しているアロケータが確保可能なメモリの最大値を返す
iterator x_begin (size_type i)
 X軸方向を固定した時の,YZ平面(Sagittal)の先頭を指すランダムアクセスイテレータを返す
const_iterator x_begin (size_type i) const
 X軸方向を固定した時の,YZ平面(Sagittal)の先頭を指すコンスト型のランダムアクセスイテレータを返す
iterator x_end (size_type i)
 X軸方向を固定した時の,YZ平面(Sagittal)の末尾を指すランダムアクセスイテレータを返す
const_iterator x_end (size_type i) const
 X軸方向を固定した時の,YZ平面(Sagittal)の末尾を指すコンスト型のランダムアクセスイテレータを返す
reverse_iterator x_rbegin (size_type i)
 X軸方向を固定した時の,YZ平面(Sagittal)の末尾を指す逆方向ランダムアクセスイテレータを返す
const_reverse_iterator x_rbegin (size_type i) const
 X軸方向を固定した時の,YZ平面(Sagittal)の末尾を指すコンスト型の逆方向ランダムアクセスイテレータを返す
reverse_iterator x_rend (size_type i)
 X軸方向を固定した時の,YZ平面(Sagittal)の末尾を指す逆方向ランダムアクセスイテレータを返す
const_reverse_iterator x_rend (size_type i) const
 X軸方向を固定した時の,YZ平面(Sagittal)の末尾を指すコンスト型の逆方向ランダムアクセスイテレータを返す
iterator y_begin (size_type j)
 Y軸方向を固定した時の,XZ平面(Coronal)の先頭を指すランダムアクセスイテレータを返す
const_iterator y_begin (size_type j) const
 Y軸方向を固定した時の,XZ平面(Coronal)の末尾を指すコンスト型の逆方向ランダムアクセスイテレータを返す
iterator y_end (size_type j)
 Y軸方向を固定した時の,XZ平面(Coronal)の末尾を指すランダムアクセスイテレータを返す
const_iterator y_end (size_type j) const
 Y軸方向を固定した時の,XZ平面(Coronal)の末尾を指すコンスト型のランダムアクセスイテレータを返す
reverse_iterator y_rbegin (size_type j)
 Y軸方向を固定した時の,XZ平面(Coronal)の先頭を指す逆方向ランダムアクセスイテレータを返す
const_reverse_iterator y_rbegin (size_type j) const
 Y軸方向を固定した時の,XZ平面(Coronal)の末尾を指すコンスト型の逆方向ランダムアクセスイテレータを返す
reverse_iterator y_rend (size_type j)
 Y軸方向を固定した時の,XZ平面(Coronal)の末尾を指す逆方向ランダムアクセスイテレータを返す
const_reverse_iterator y_rend (size_type j) const
 Y軸方向を固定した時の,XZ平面(Coronal)の末尾を指すコンスト型の逆方向ランダムアクセスイテレータを返す
iterator z_begin (size_type k)
 Z軸方向を固定した時の,XY平面(Axial)の先頭を指すランダムアクセスイテレータを返す
const_iterator z_begin (size_type k) const
 Z軸方向を固定した時の,XY平面(Axial)の末尾を指すコンスト型の逆方向ランダムアクセスイテレータを返す
iterator z_end (size_type k)
 Z軸方向を固定した時の,XY平面(Axial)の末尾を指すランダムアクセスイテレータを返す
const_iterator z_end (size_type k) const
 Z軸方向を固定した時の,XY平面(Axial)の末尾を指すコンスト型のランダムアクセスイテレータを返す
reverse_iterator z_rbegin (size_type k)
 Z軸方向を固定した時の,XY平面(Axial)の先頭を指す逆方向ランダムアクセスイテレータを返す
const_reverse_iterator z_rbegin (size_type k) const
 Z軸方向を固定した時の,XY平面(Axial)の末尾を指すコンスト型の逆方向ランダムアクセスイテレータを返す
reverse_iterator z_rend (size_type k)
 Z軸方向を固定した時の,XY平面(Axial)の末尾を指す逆方向ランダムアクセスイテレータを返す
const_reverse_iterator z_rend (size_type k) const
 Z軸方向を固定した時の,XY平面(Axial)の末尾を指すコンスト型の逆方向ランダムアクセスイテレータを返す
template<class TT , class AAlocator >
const array3operator= (const array3< TT, AAlocator > &o)
 要素の型が異なるコンテナを代入する
const array3operator= (const array3 &o)
 要素の型が異なるコンテナを代入する
reference at (size_type i, size_type j, size_type k)
 ( i, j, k ) で示される位置の要素の参照を返す
const_reference at (size_type i, size_type j, size_type k) const
 ( i, j, k ) で示される位置の要素の const 参照を返す
reference operator() (size_type i, size_type j, size_type k)
 ( i, j, k ) で示される位置の要素の参照を返す
const_reference operator() (size_type i, size_type j, size_type k) const
 ( i, j, k ) で示される位置の要素の const 参照を返す
 array3 ()
 ディフォルトコンストラクタ.要素数 0,解像度 1.0 × 1.0 × 1.0 のコンテナを作成する
 array3 (const Allocator &a)
 アロケータ a のコピーを利用する
 array3 (size_type num1, size_type num2, size_type num3)
 要素数 num1 × num2 × num3 個のコンテナを作成し,デフォルト値で要素を初期化する
 array3 (size_type num1, size_type num2, size_type num3, double r1, double r2, double r3)
 要素数 num1 × num2 × num3 個のコンテナを作成し,解像度を r1 × r2 × r3 に設定する
 array3 (size_type num1, size_type num2, size_type num3, const Allocator &a)
 要素数 num1 × num2 × num3 個のコンテナを作成し,使用するアロケータを a に設定する
 array3 (size_type num1, size_type num2, size_type num3, double r1, double r2, double r3, const Allocator &a)
 要素数 num1 × num2 × num3 個のコンテナを作成し,解像度を r1 × r2 × r3 に設定し,使用するアロケータを a に設定する
 array3 (size_type num1, size_type num2, size_type num3, const value_type &val)
 要素数 num1 × num2 × num3 個のコンテナを作成し,解像度を 1.0 × 1.0 × 1.0 に設定し,全要素を val で初期化する
 array3 (size_type num1, size_type num2, size_type num3, double r1, double r2, double r3, const value_type &val)
 要素数 num1 × num2 × num3 個のコンテナを作成し,解像度を r1 × r2 × r3 に設定し,全要素を val で初期化する
 array3 (size_type num1, size_type num2, size_type num3, const value_type &val, const Allocator &a)
 要素数 num1 × num2 × num3 個のコンテナを作成し,解像度を r1 × r2 × r3 に設定し,使用するアロケータを a に設定する
 array3 (size_type num1, size_type num2, size_type num3, double r1, double r2, double r3, const value_type &val, const Allocator &a)
 要素数 num1 × num2 × num3 個のコンテナを作成し,解像度を r1 × r2 × r3,使用するアロケータを a に設定し,全要素を val で初期化する
 array3 (size_type num1, size_type num2, size_type num3, pointer ptr, size_type mem_available)
 ptr が指すメモリ領域に,要素数 num1 × num2 × num3 個のコンテナを作成する(ptr が指す先の利用可能なメモリ量は mem_available )
 array3 (size_type num1, size_type num2, size_type num3, double r1, double r2, double r3, pointer ptr, size_type mem_available)
 ptr が指すメモリ領域に,要素数 num1 × num2 × num3 個のコンテナを作成し,解像度を r1 × r2 × r3 に設定する(ptr が指す先の利用可能なメモリ量は mem_available )
 array3 (size_type num1, size_type num2, size_type num3, double r1, double r2, double r3, const value_type &val, pointer ptr, size_type mem_available)
 ptr が指すメモリ領域に,要素数 num1 × num2 × num3 個のコンテナを作成し,解像度を r1 × r2 × r3,値 val で初期化する(ptr が指す先の利用可能なメモリ量は mem_available )
template<class TT , class AAlocator >
 array3 (const array3< TT, AAlocator > &o)
 他の array3 配列で要素の型が異なるものから同じ要素数の配列を作成する
 array3 (const array3< T, Allocator > &o)
 他の array3 配列で同じ要素型のものを用いて初期化する
- Public メソッド inherited from mist::array2< T, Allocator >
bool trim (array2 &out, size_type x, size_type y, difference_type w=-1, difference_type h=-1) const
 コンテナ内の要素をトリミングする
bool trim (size_type x, size_type y, difference_type w=-1, difference_type h=-1)
 コンテナ内の要素をトリミングする
bool swap (array2 &a)
 コンテナ内の全ての内容を入れ替える.
double reso2 (double r2)
 Y軸方向の解像度を r2 に設定し,設定後の値を返す
double reso2 () const
 Y軸方向の解像度を返す
template<class TT , class AAlocator >
const array2operator= (const array2< TT, AAlocator > &o)
 要素の型が異なるコンテナを代入する
const array2operator= (const array2 &o)
 要素の型が異なるコンテナを代入する
 array2 ()
 ディフォルトコンストラクタ.要素数 0,解像度 1.0 × 1.0 のコンテナを作成する
 array2 (const Allocator &a)
 アロケータ a のコピーを利用する
 array2 (size_type num1, size_type num2)
 要素数 num1 × num2 個のコンテナを作成し,デフォルト値で要素を初期化する
 array2 (size_type num1, size_type num2, double r1, double r2)
 要素数 num1 × num2 個のコンテナを作成し,解像度を r1 × r2 に設定する
 array2 (size_type num1, size_type num2, const Allocator &a)
 要素数 num1 × num2 個のコンテナを作成し,使用するアロケータを a に設定する
 array2 (size_type num1, size_type num2, double r1, double r2, const Allocator &a)
 要素数 num1 × num2 個のコンテナを作成し,解像度を r1 × r2 に設定し,使用するアロケータを a に設定する
 array2 (size_type num1, size_type num2, const value_type &val)
 要素数 num1 × num2 個のコンテナを作成し,解像度を 1.0 × 1.0 に設定し,全要素を val で初期化する
 array2 (size_type num1, size_type num2, double r1, double r2, const value_type &val)
 要素数 num1 × num2 個のコンテナを作成し,解像度を r1 × r2 に設定し,全要素を val で初期化する
 array2 (size_type num1, size_type num2, const value_type &val, const Allocator &a)
 要素数 num1 × num2 個のコンテナを作成し,解像度を r1 × r2 に設定し,使用するアロケータを a に設定する
 array2 (size_type num1, size_type num2, double r1, double r2, const value_type &val, const Allocator &a)
 要素数 num1 × num2 個のコンテナを作成し,解像度を r1 × r2,使用するアロケータを a に設定し,全要素を val で初期化する
 array2 (size_type num1, size_type num2, pointer ptr, size_type mem_available)
 ptr が指すメモリ領域に,要素数 num1 × num2 個のコンテナを作成する(ptr が指す先の利用可能なメモリ量は mem_available )
 array2 (size_type num1, size_type num2, double r1, double r2, pointer ptr, size_type mem_available)
 ptr が指すメモリ領域に,要素数 num1 × num2 個のコンテナを作成し,解像度を r1 × r2 に設定する(ptr が指す先の利用可能なメモリ量は mem_available )
 array2 (size_type num1, size_type num2, double r1, double r2, const value_type &val, pointer ptr, size_type mem_available)
 ptr が指すメモリ領域に,要素数 num1 × num2 個のコンテナを作成し,解像度を r1 × r2,値 val で初期化する(ptr が指す先の利用可能なメモリ量は mem_available )
template<class TT , class AAlocator >
 array2 (const array2< TT, AAlocator > &o)
 他の array2 配列で要素の型が異なるものから同じ要素数の配列を作成する
 array2 (const array2< T, Allocator > &o)
 他の array2 配列で同じ要素型のものを用いて初期化する
- Public メソッド inherited from mist::array1< T, Allocator >
double reso1 (double r1)
 X軸方向の解像度を返す
double reso1 () const
 X軸方向の解像度を設定する
iterator x_begin ()
 X軸方向の先頭を指すランダムアクセスイテレータを返す
const_iterator x_begin () const
 X軸方向の先頭を指すコンスト型のコンテナを操作するランダムアクセスイテレータを返す
iterator x_end ()
 X軸方向の末尾を指すランダムアクセスイテレータを返す
const_iterator x_end () const
 X軸方向の末尾を指すコンスト型のコンテナを操作するランダムアクセスイテレータを返す
reverse_iterator x_rbegin ()
 X軸方向の末尾を指す逆方向ランダムアクセスイテレータを返す
const_reverse_iterator x_rbegin () const
 X軸方向の末尾を指すコンスト型のコンテナを操作する逆方向ランダムアクセスイテレータを返す
reverse_iterator x_rend ()
 X軸方向の先頭を指す逆方向ランダムアクセスイテレータを返す
const_reverse_iterator x_rend () const
 X軸方向の先頭を指すコンスト型のコンテナを操作する逆方向ランダムアクセスイテレータを返す
bool trim (array1 &out, size_type index, difference_type num=-1) const
 コンテナ内の要素をトリミングする
bool trim (size_type index, difference_type num=-1)
 コンテナ内の要素をトリミングする
bool swap (array1 &a)
 コンテナ内の全ての内容を入れ替える.
template<class TT , class AAlocator >
const array1operator= (const array1< TT, AAlocator > &o)
 要素の型が異なるコンテナを代入する
const array1operator= (const array1 &o)
 要素の型が異なるコンテナを代入する
 array1 ()
 ディフォルトコンストラクタ.要素数 0,解像度 1.0 のコンテナを作成する
 array1 (const Allocator &a)
 アロケータ a のコピーを利用する
 array1 (size_type num)
 要素数 num 個のコンテナを作成し,デフォルト値で要素を初期化する
 array1 (size_type num, double r1)
 要素数 num 個のコンテナを作成し,解像度を r1 に設定する
 array1 (size_type num, const Allocator &a)
 要素数 num 個のコンテナを作成し,使用するアロケータを a に設定する
 array1 (size_type num, double r1, const Allocator &a)
 要素数 num 個のコンテナを作成し,解像度を r1,アロケータを a に設定する
 array1 (size_type num, double r1, const value_type &val)
 要素数 num 個のコンテナを作成し,解像度を r1 に設定し,全要素を val で初期化する
 array1 (size_type num, const value_type &val, const Allocator &a)
 要素数 num 個のコンテナを作成し,解像度を r1 に設定し,全要素を val で初期化する
 array1 (size_type num, double r1, const value_type &val, const Allocator &a)
 要素数 num 個のコンテナを作成し,解像度を r1,アロケータを a に設定し,全要素を val で初期化する
 array1 (size_type num, pointer ptr, size_type mem_available)
 ptr が指すメモリ領域に,要素数 num 個のコンテナを作成する(ptr が指す先の利用可能なメモリ量は mem_available )
 array1 (size_type num, double r1, pointer ptr, size_type mem_available)
 ptr が指すメモリ領域に,要素数 num 個のコンテナを作成し,解像度を r1 に設定する(ptr が指す先の利用可能なメモリ量は mem_available )
 array1 (size_type num, double r1, const value_type &val, pointer ptr, size_type mem_available)
 ptr が指すメモリ領域に,要素数 num 個のコンテナを作成し,解像度を r1,値 val で初期化する(ptr が指す先の利用可能なメモリ量は mem_available )
template<class TT , class AAlocator >
 array1 (const array1< TT, AAlocator > &o)
 他の array1 配列で要素の型が異なるものから同じ要素数の配列を作成する
 array1 (const array1< T, Allocator > &o)
 他の array1 配列で同じ要素型のものを用いて初期化する
- Public メソッド inherited from mist::array< T, Allocator >
bool trim (array &out, size_type index, difference_type num=-1) const
 コンテナ内の要素をトリミングする
bool swap (array &a)
 コンテナ内の全ての内容を入れ替える.
void fill ()
 コンテナ内のデータ要素をデフォルト値で初期化する
void fill (const value_type &val)
 コンテナ内のデータ要素を指定された値で初期化する
bool empty () const
 コンテナが空かどうかを判定
size_type size () const
 コンテナに格納されているデータ数を返す
size_type byte () const
 コンテナ内の要素が占めるデータ量をバイト単位で返す
bool is_memory_shared () const
 外部で割り当てられたメモリ領域を使用しているかどうか
size_type max_size () const
 使用しているアロケータが確保可能なメモリの最大値を返す
template<class TT , class AAlocator >
const arrayoperator= (const array< TT, AAlocator > &o)
 要素の型が異なるコンテナを代入する
const arrayoperator= (const array &o)
 要素の型が異なるコンテナを代入する
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 i, size_type j, size_type k)
 index で示される位置の要素のポインタを返す
const_pointer paccess (size_type i, size_type j, size_type k) const
 index で示される位置の要素の const ポインタを返す
- Protected メソッド inherited from mist::array2< T, Allocator >
pointer paccess (size_type i, size_type j)
 index で示される位置の要素のポインタを返す
const_pointer paccess (size_type i, size_type j) const
 index で示される位置の要素の const ポインタを返す

Protected 変数

double reso3_
 Z軸方向の解像度
- Protected 変数 inherited from mist::array2< T, Allocator >
double reso2_
 X軸方向の解像度
- Protected 変数 inherited from mist::array1< T, Allocator >
double reso1_
 コンテナ内の要素の解像度(ミリや周波数など)
- Protected 変数 inherited from mist::array< T, Allocator >
mist_allocator< T, Allocator > allocator_
 各コンテナで利用するアロケータオブジェクト
T * data_
 コンテナで扱うデータの先頭を表すポインタ

説明

template<class T, class Allocator = std::allocator< T >>
class mist::array3< T, Allocator >

要素数が可変の解像度付き3次元配列

3次元画像を扱うための基本クラス (mist/mist.h をインクルードする)

引数
T… MISTのコンテナ内に格納するデータ型
Allocator… MISTコンテナが利用するアロケータ型.省略した場合は,STLのデフォルトアロケータを使用する

コンストラクタとデストラクタ

template<class T, class Allocator = std::allocator< T >>
template<class TT , class AAlocator >
mist::array3< T, Allocator >::array3 ( const array3< TT, AAlocator > &  o)
inline

他の array3 配列で要素の型が異なるものから同じ要素数の配列を作成する

注意
異なる要素型間でデータの変換が可能でなくてはならない

関数

template<class T, class Allocator = std::allocator< T >>
reference mist::array3< T, Allocator >::at ( size_type  i,
size_type  j,
size_type  k 
)
inline

( i, j, k ) で示される位置の要素の参照を返す

DEBUG マクロを有効にした(NDEBUGマクロを定義しない)場合は,指定された ( i, j, k ) が有効な範囲内にあるかをチェックする

引数
[in]i… コンテナ内のX軸方向の位置
[in]j… コンテナ内のY軸方向の位置
[in]k… コンテナ内のZ軸方向の位置
戻り値
指定された要素を示す参照

mist::array2< T, Allocator >を再定義しています。

template<class T, class Allocator = std::allocator< T >>
const_reference mist::array3< T, Allocator >::at ( size_type  i,
size_type  j,
size_type  k 
) const
inline

( i, j, k ) で示される位置の要素の const 参照を返す

DEBUG マクロを有効にした(NDEBUGマクロを定義しない)場合は,指定された ( i, j, k ) が有効な範囲内にあるかをチェックする

引数
[in]i… コンテナ内のX軸方向の位置
[in]j… コンテナ内のY軸方向の位置
[in]k… コンテナ内のZ軸方向の位置
戻り値
指定された要素を示す const 参照

mist::array2< T, Allocator >を再定義しています。

template<class T, class Allocator = std::allocator< T >>
iterator mist::array3< T, Allocator >::begin ( )
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::array< T, Allocator >を再定義しています。

template<class T, class Allocator = std::allocator< T >>
void mist::array3< T, Allocator >::clear ( )
inline

コンテナの要素を空にする

コンテナに格納されているデータを全て削除し,コンテナを空(要素数0)にする

mist::array2< T, Allocator >を再定義しています。

mist::marray< array3< vector_type > >で再定義されています。

template<class T, class Allocator = std::allocator< T >>
reference mist::array3< T, Allocator >::operator() ( size_type  i,
size_type  j,
size_type  k 
)
inline

( i, j, k ) で示される位置の要素の参照を返す

DEBUG マクロを有効にした(NDEBUGマクロを定義しない)場合は,指定された ( i, j, k ) が有効な範囲内にあるかをチェックする

引数
[in]i… コンテナ内のX軸方向の位置
[in]j… コンテナ内のY軸方向の位置
[in]k… コンテナ内のZ軸方向の位置
戻り値
指定された要素を示す参照

mist::array2< T, Allocator >を再定義しています。

template<class T, class Allocator = std::allocator< T >>
const_reference mist::array3< T, Allocator >::operator() ( size_type  i,
size_type  j,
size_type  k 
) const
inline

( i, j, k ) で示される位置の要素の const 参照を返す

DEBUG マクロを有効にした(NDEBUGマクロを定義しない)場合は,指定された ( i, j, k ) が有効な範囲内にあるかをチェックする

引数
[in]i… コンテナ内のX軸方向の位置
[in]j… コンテナ内のY軸方向の位置
[in]k… コンテナ内のZ軸方向の位置
戻り値
指定された要素を示す const 参照

mist::array2< T, Allocator >を再定義しています。

template<class T, class Allocator = std::allocator< T >>
template<class TT , class AAlocator >
const array3& mist::array3< T, Allocator >::operator= ( const array3< TT, AAlocator > &  o)
inline

要素の型が異なるコンテナを代入する

コピー元であるコンテナ o と全く同じコンテナを作成する. コピー先(ここでは自分自身)の要素数が o と異なる場合は,自動的にサイズを調整する. コピー元とコピー先でデータ型(array3< data > の data)が異なる場合の代入を行う.

引数
[in]o… コピー元のコンテナ
戻り値
自分自身
template<class T, class Allocator = std::allocator< T >>
const array3& mist::array3< T, Allocator >::operator= ( const array3< T, Allocator > &  o)
inline

要素の型が異なるコンテナを代入する

コピー元であるコンテナ o と全く同じコンテナを作成する. コピー先(ここでは自分自身)の要素数が o と異なる場合は,自動的にサイズを調整する.

引数
[in]o… コピー元のコンテナ
戻り値
自分自身

mist::marray< array3< vector_type > >で再定義されています。

template<class T, class Allocator = std::allocator< T >>
pointer mist::array3< T, Allocator >::paccess ( size_type  i,
size_type  j,
size_type  k 
)
inlineprotected

index で示される位置の要素のポインタを返す

引数
[in]i… コンテナ内のX軸方向の位置
[in]j… コンテナ内のY軸方向の位置
[in]k… コンテナ内のZ軸方向の位置
戻り値
指定された要素を示すポインタ

参照元 mist::array3< ivector_type >::trim().

template<class T, class Allocator = std::allocator< T >>
const_pointer mist::array3< T, Allocator >::paccess ( size_type  i,
size_type  j,
size_type  k 
) const
inlineprotected

index で示される位置の要素の const ポインタを返す

引数
[in]i… コンテナ内のX軸方向の位置
[in]j… コンテナ内のY軸方向の位置
[in]k… コンテナ内のZ軸方向の位置
戻り値
指定された要素を示すポインタ
template<class T, class Allocator = std::allocator< T >>
reverse_iterator mist::array3< T, Allocator >::rbegin ( )
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::array< T, Allocator >を再定義しています。

template<class T, class Allocator = std::allocator< T >>
bool mist::array3< T, Allocator >::resize ( size_type  num1,
size_type  num2,
size_type  num3 
)
inline

コンテナ内の要素数を変更する

要素数を num1 × num2 × num3 個に変更し,要素数が変更された場合のみ全ての要素をデフォルト値で初期化する.

注意
必ず要素を初期化するためには,fill 関数を利用してください.
引数
[in]num1… リサイズ後のX軸方向の要素数
[in]num2… リサイズ後のY軸方向の要素数
[in]num3… リサイズ後のZ軸方向の要素数
戻り値
true… 正常にリサイズが終了
false… リサイズ後のメモリを確保できなかった場合

mist::array2< T, Allocator >を再定義しています。

mist::marray< array3< vector_type > >で再定義されています。

参照元 mist::integral_image< array3< T, Allocator > >::construct_integral_array(), mist::cut_detection(), mist::dct(), mist::dst(), mist::fft(), mist::linear::filter(), mist::linear::filter1d(), mist::idct(), mist::idst(), mist::ifft(), mist::nearest::interpolate(), mist::mean::interpolate(), mist::linear::interpolate(), mist::cubic::interpolate(), mist::BSpline::interpolate(), mist::sinc::interpolate(), mist::labeling18(), mist::labeling26(), mist::labeling6(), mist::maximum_region(), mist::median(), mist::remove_hole_region(), mist::euclidean::shrink_skelton26(), mist::euclidean::shrink_skelton6(), mist::euclidean::surface_thinning26(), mist::euclidean::surface_thinning6(), mist::euclidean::thinning26(), mist::euclidean::thinning6(), と mist::array3< ivector_type >::trim().

template<class T, class Allocator = std::allocator< T >>
void mist::array3< T, Allocator >::reso ( double  r1,
double  r2,
double  r3 
)
inline

X軸とY軸とZ軸方向の解像度を1度に設定する

引数
[in]r1… 新しいX軸方向の解像度
[in]r2… 新しいY軸方向の解像度
[in]r3… 新しいY軸方向の解像度

mist::array2< T, Allocator >を再定義しています。

参照元 mist::array3< ivector_type >::trim().

template<class T, class Allocator = std::allocator< T >>
bool mist::array3< T, Allocator >::swap ( array3< T, Allocator > &  a)
inline

コンテナ内の全ての内容を入れ替える.

注意
どちらかのコンテナが外部メモリを利用している場合は,スワップは必ず失敗する

入れ替え元のコンテナ a の中身と全て入れ替える

引数
[in]a… 内容を入れ替える対象
戻り値
true… データのスワップに成功
false… データのスワップに失敗
template<class T, class Allocator = std::allocator< T >>
bool mist::array3< T, Allocator >::trim ( array3< T, Allocator > &  out,
size_type  x,
size_type  y,
size_type  z,
difference_type  w = -1,
difference_type  h = -1,
difference_type  d = -1 
) const
inline

コンテナ内の要素をトリミングする

引数
[out]out… トリミング結果の画像を格納するオブジェクト(画像のサイズは自動で変更されます)
[in]x… トリミングのX軸方向の開始位置(ゼロから始まるインデックス)
[in]y… トリミングのY軸方向の開始位置(ゼロから始まるインデックス)
[in]z… トリミングのZ軸方向の開始位置(ゼロから始まるインデックス)
[in]w… トリミング後のX軸方向の要素数(-1の場合は,最後までをコピーする)
[in]h… トリミング後のY軸方向の要素数(-1の場合は,最後までをコピーする)
[in]d… トリミング後のZ軸方向の要素数(-1の場合は,最後までをコピーする)
戻り値
true… トリミングに成功した場合(元とサイズが変わらない場合も含む)
false… 不正なトリミングを行おうとした場合

参照元 mist::array3< ivector_type >::trim().

template<class T, class Allocator = std::allocator< T >>
bool mist::array3< T, Allocator >::trim ( size_type  x,
size_type  y,
size_type  z,
difference_type  w = -1,
difference_type  h = -1,
difference_type  d = -1 
)
inline

コンテナ内の要素をトリミングする

引数
[in]x… トリミングのX軸方向の開始位置(ゼロから始まるインデックス)
[in]y… トリミングのY軸方向の開始位置(ゼロから始まるインデックス)
[in]z… トリミングのZ軸方向の開始位置(ゼロから始まるインデックス)
[in]w… トリミング後のX軸方向の要素数(-1の場合は,最後までをコピーする)
[in]h… トリミング後のY軸方向の要素数(-1の場合は,最後までをコピーする)
[in]d… トリミング後のZ軸方向の要素数(-1の場合は,最後までをコピーする)
戻り値
true… トリミングに成功した場合(元とサイズが変わらない場合も含む)
false… 不正なトリミングを行おうとした場合
template<class T, class Allocator = std::allocator< T >>
iterator mist::array3< T, Allocator >::x_begin ( size_type  i)
inline

X軸方向を固定した時の,YZ平面(Sagittal)の先頭を指すランダムアクセスイテレータを返す

   @code X軸方向を固定し,YZ平面(Sagittal)の先頭を指すランダムアクセスイテレータの使用例

std::cout << "順方向ランダムアクセスイテレータ" << std::endl; mist::array< int >::iterator ite1 = a.x_begin( 1 ); for( ; ite1 != a.x_end( 1 ) ; ite1++ ) { std::cout << *ite1 << " "; } std::cout << std::endl << std::endl;

mist::array2< T, Allocator >を再定義しています。

template<class T, class Allocator = std::allocator< T >>
reverse_iterator mist::array3< T, Allocator >::x_rbegin ( size_type  i)
inline

X軸方向を固定した時の,YZ平面(Sagittal)の末尾を指す逆方向ランダムアクセスイテレータを返す

   @code X軸方向を固定した時の,YZ平面(Sagittal)の逆方向ランダムアクセスイテレータの使用例

std::cout << "逆方向ランダムアクセスイテレータ" << std::endl; mist::array< int >::reverse_iterator ite2 = a.x_rbegin( 2 ); for( ; ite2 != a.x_rend( 2 ) ; ite2++ ) { std::cout << *ite2 << " "; } std::cout << std::endl;

mist::array2< T, Allocator >を再定義しています。

template<class T, class Allocator = std::allocator< T >>
iterator mist::array3< T, Allocator >::y_begin ( size_type  j)
inline

Y軸方向を固定した時の,XZ平面(Coronal)の先頭を指すランダムアクセスイテレータを返す

   @code Y軸方向を固定した時の,XZ平面の先頭を指すランダムアクセスイテレータの使用例

std::cout << "順方向ランダムアクセスイテレータ" << std::endl; mist::array< int >::iterator ite1 = a.y_begin( 1 ); for( ; ite1 != a.y_end( 1 ) ; ite1++ ) { std::cout << *ite1 << " "; } std::cout << std::endl << std::endl;

mist::array2< T, Allocator >を再定義しています。

template<class T, class Allocator = std::allocator< T >>
reverse_iterator mist::array3< T, Allocator >::y_rbegin ( size_type  j)
inline

Y軸方向を固定した時の,XZ平面(Coronal)の先頭を指す逆方向ランダムアクセスイテレータを返す

   @code Y軸方向を固定した時の,XZ平面(Coronal)の先頭を指す逆方向ランダムアクセスイテレータの使用例

std::cout << "逆方向ランダムアクセスイテレータ" << std::endl; mist::array< int >::iterator ite1 = a.y_rbegin( 1 ); for( ; ite1 != a.y_rend( 1 ) ; ite1++ ) { std::cout << *ite1 << " "; } std::cout << std::endl << std::endl;

mist::array2< T, Allocator >を再定義しています。

template<class T, class Allocator = std::allocator< T >>
iterator mist::array3< T, Allocator >::z_begin ( size_type  k)
inline

Z軸方向を固定した時の,XY平面(Axial)の先頭を指すランダムアクセスイテレータを返す

   @code Z軸方向を固定した時の,XY平面の先頭を指すランダムアクセスイテレータの使用例

std::cout << "順方向ランダムアクセスイテレータ" << std::endl; mist::array< int >::iterator ite1 = a.z_begin( 1 ); for( ; ite1 != a.z_end( 1 ) ; ite1++ ) { std::cout << *ite1 << " "; } std::cout << std::endl << std::endl;

template<class T, class Allocator = std::allocator< T >>
reverse_iterator mist::array3< T, Allocator >::z_rbegin ( size_type  k)
inline

Z軸方向を固定した時の,XY平面(Axial)の先頭を指す逆方向ランダムアクセスイテレータを返す

   @code Z軸方向を固定した時の,XY平面(Axial)の先頭を指す逆方向ランダムアクセスイテレータの使用例

std::cout << "逆方向ランダムアクセスイテレータ" << std::endl; mist::array< int >::iterator ite1 = a.z_rbegin( 1 ); for( ; ite1 != a.z_rend( 1 ) ; ite1++ ) { std::cout << *ite1 << " "; } std::cout << std::endl << std::endl;


このクラスの説明は次のファイルから生成されました:

Generated on Wed Nov 12 2014 19:44:29 for MIST by doxygen 1.8.1.2