- メインページ
- モジュール
- ネームスペース
- データ構造
- ファイル

- データ構造
- データ構造索引
- クラス階層
- データフィールド

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

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

`#include <mist.h>`

mist::array2< 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_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=0)
| コンテナ内の要素数を変更する
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)
| コンテナ内の全ての内容を入れ替える．
void | clear ()
| コンテナの要素を空にする
size_type | size1 () const
| X軸方向のコンテナに格納されているデータ数を返す
size_type | size2 () const
| Y軸方向のコンテナに格納されているデータ数を返す
size_type | width () const
| X軸方向のコンテナに格納されているデータ数を返す
size_type | height () const
| Y軸方向のコンテナに格納されているデータ数を返す
double | reso2 (double r2)
| Y軸方向の解像度を r2 に設定し，設定後の値を返す
double | reso2 () const
| Y軸方向の解像度を返す
void | reso (double r1, double r2, double=1.0)
| X軸とY軸方向の解像度を1度に設定する
iterator | x_begin (size_type i)
| X軸方向を固定した時の，Y軸方向の先頭を指すランダムアクセスイテレータを返す
const_iterator | x_begin (size_type i) const
| X軸方向を固定した時の，Y軸方向の先頭を指すコンスト型のランダムアクセスイテレータを返す
iterator | x_end (size_type i)
| X軸方向を固定した時の，Y軸方向の末尾を指すランダムアクセスイテレータを返す
const_iterator | x_end (size_type i) const
| X軸方向を固定した時の，Y軸方向の末尾を指すコンスト型のランダムアクセスイテレータを返す
reverse_iterator | x_rbegin (size_type i)
| X軸方向を固定した時の，Y軸方向の末尾を指す逆方向ランダムアクセスイテレータを返す
const_reverse_iterator | x_rbegin (size_type i) const
| X軸方向を固定した時の，Y軸方向の末尾を指すコンスト型の逆方向ランダムアクセスイテレータを返す
reverse_iterator | x_rend (size_type i)
| X軸方向を固定した時の，Y軸方向の末尾を指す逆方向ランダムアクセスイテレータを返す
const_reverse_iterator | x_rend (size_type i) const
| X軸方向を固定した時の，Y軸方向の末尾を指すコンスト型の逆方向ランダムアクセスイテレータを返す
iterator | y_begin (size_type j)
| Y軸方向を固定した時の，X軸方向の先頭を指すランダムアクセスイテレータを返す
const_iterator | y_begin (size_type j) const
| Y軸方向を固定した時の，X軸方向の末尾を指すコンスト型の逆方向ランダムアクセスイテレータを返す
iterator | y_end (size_type j)
| Y軸方向を固定した時の，X軸方向の末尾を指すランダムアクセスイテレータを返す
const_iterator | y_end (size_type j) const
| Y軸方向を固定した時の，X軸方向の末尾を指すコンスト型のランダムアクセスイテレータを返す
reverse_iterator | y_rbegin (size_type j)
| Y軸方向を固定した時の，X軸方向の先頭を指す逆方向ランダムアクセスイテレータを返す
const_reverse_iterator | y_rbegin (size_type j) const
| Y軸方向を固定した時の，X軸方向の末尾を指すコンスト型の逆方向ランダムアクセスイテレータを返す
reverse_iterator | y_rend (size_type j)
| Y軸方向を固定した時の，X軸方向の末尾を指す逆方向ランダムアクセスイテレータを返す
const_reverse_iterator | y_rend (size_type j) const
| Y軸方向を固定した時の，X軸方向の末尾を指すコンスト型の逆方向ランダムアクセスイテレータを返す
template<class TT , class AAlocator >
const array2 & | operator= (const array2< TT, AAlocator > &o)
| 要素の型が異なるコンテナを代入する
const array2 & | operator= (const array2 &o)
| 要素の型が異なるコンテナを代入する
reference | at (size_type i, size_type j, size_type dmy=0)
| ( i, j ) で示される位置の要素の参照を返す
const_reference | at (size_type i, size_type j, size_type dmy=0) const
| ( i, j ) で示される位置の要素の const 参照を返す
reference | operator() (size_type i, size_type j, size_type=0)
| ( i, j ) で示される位置の要素の参照を返す
const_reference | operator() (size_type i, size_type j, size_type=0) const
| ( i, j ) で示される位置の要素の const 参照を返す
| 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 array1 & | operator= (const array1< TT, AAlocator > &o)
| 要素の型が異なるコンテナを代入する
const array1 & | operator= (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 | size3 () const
| Z軸方向のコンテナに格納されているデータ数を返す（常に1を返す）
size_type | depth () const
| Z軸方向のコンテナに格納されているデータ数を返す（常に1を返す）
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 | 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)
| index で示される位置の要素のポインタを返す
const_pointer | paccess (size_type i, size_type j) const
| index で示される位置の要素の const ポインタを返す

## Protected 変数
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::array2< T, Allocator >

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

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

引数

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

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

template<class T, class Allocator = std::allocator< T >>
template<class TT , class AAlocator >

mist::array2< T, Allocator >::array2 | ( | const array2< TT, AAlocator > & | o | ) |
| inline

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

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

## 関数

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

reference mist::array2< T, Allocator >::at | ( | size_type | i,
|  | size_type | j,
|  | size_type | dmy = `0`
| ) |  |
| inline

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

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

引数

  [in] | i | … コンテナ内のX軸方向の位置
  [in] | j | … コンテナ内のY軸方向の位置
  [in] | dmy | … 使用しない

戻り値
  指定された要素を示す参照

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

mist::array3< T, Allocator >, mist::array3< vector_type >, mist::array3< value_type >, と mist::array3< ivector_type >で再定義されています。

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

const_reference mist::array2< T, Allocator >::at | ( | size_type | i,
|  | size_type | j,
|  | size_type | dmy = `0`
| ) |  | const
| inline

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

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

引数

  [in] | i | … コンテナ内のX軸方向の位置
  [in] | j | … コンテナ内のY軸方向の位置
  [in] | dmy | … 使用しない

戻り値
  指定された要素を示す const 参照

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

mist::array3< T, Allocator >, mist::array3< vector_type >, mist::array3< value_type >, と mist::array3< ivector_type >で再定義されています。

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

void mist::array2< T, Allocator >::clear | ( |  | ) |
| inline

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

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

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

mist::marray< array3< vector_type > >, mist::array3< T, Allocator >, mist::array3< vector_type >, mist::array3< value_type >, と mist::array3< ivector_type >で再定義されています。

参照元 mist::convert_to_vertex_face_list().

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

reference mist::array2< T, Allocator >::operator() | ( | size_type | i,
|  | size_type | j,
|  | size_type | = `0`
| ) |  |
| inline

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

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

引数

  [in] | i | … コンテナ内のX軸方向の位置
  [in] | j | … コンテナ内のY軸方向の位置
  [in] | dmy | … 使用しない

戻り値
  指定された要素を示す参照

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

mist::array3< T, Allocator >, mist::array3< vector_type >, mist::array3< value_type >, と mist::array3< ivector_type >で再定義されています。

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

const_reference mist::array2< T, Allocator >::operator() | ( | size_type | i,
|  | size_type | j,
|  | size_type | = `0`
| ) |  | const
| inline

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

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

引数

  [in] | i | … コンテナ内のX軸方向の位置
  [in] | j | … コンテナ内のY軸方向の位置
  [in] | dmy | … 使用しない

戻り値
  指定された要素を示す const 参照

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

mist::array3< T, Allocator >, mist::array3< vector_type >, mist::array3< value_type >, と mist::array3< ivector_type >で再定義されています。

template<class T, class Allocator = std::allocator< T >>
template<class TT , class AAlocator >

const array2& mist::array2< T, Allocator >::operator= | ( | const array2< TT, AAlocator > & | o | ) |
| inline

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

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

引数

  [in] | o | … コピー元のコンテナ

戻り値
  自分自身

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

const array2& mist::array2< T, Allocator >::operator= | ( | const array2< T, Allocator > & | o | ) |
| inline

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

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

引数

  [in] | o | … コピー元のコンテナ

戻り値
  自分自身

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

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

pointer mist::array2< T, Allocator >::paccess | ( | size_type | i,
|  | size_type | j
| ) |  |
| inline protected

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

引数

  [in] | i | … コンテナ内のX軸方向の位置
  [in] | j | … コンテナ内のY軸方向の位置

戻り値
  指定された要素を示すポインタ

参照元 mist::array2< ivector_type, std::allocator< ivector_type > >::trim().

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

const_pointer mist::array2< T, Allocator >::paccess | ( | size_type | i,
|  | size_type | j
| ) |  | const
| inline protected

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

引数

  [in] | i | … コンテナ内のX軸方向の位置
  [in] | j | … コンテナ内のY軸方向の位置

戻り値
  指定された要素を示すポインタ

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

bool mist::array2< T, Allocator >::resize | ( | size_type | num1,
|  | size_type | num2,
|  | size_type | = `0`
| ) |  |
| inline

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

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

注意
  必ず要素を初期化するためには，fill 関数を利用してください．

引数

  [in] | num1 | … リサイズ後のX軸方向の要素数
  [in] | num2 | … リサイズ後のY軸方向の要素数
  [in] | dmy1 | … ダミー変数（使用しない）

戻り値

  true | … 正常にリサイズが終了
  false | … リサイズ後のメモリを確保できなかった場合

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

mist::marray< array3< vector_type > >, mist::array3< T, Allocator >, mist::array3< vector_type >, mist::array3< value_type >, と mist::array3< ivector_type >で再定義されています。

参照元 mist::canny(), mist::dct(), mist::dst(), mist::fft(), mist::linear::filter(), mist::linear::filter1d(), mist::statistics::generate_histogram(), 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::labeling4(), mist::labeling8(), mist::maximum_region(), mist::median(), mist::video::decoder::read_buffer(), mist::read_dicom(), mist::remove_hole_region(), mist::hilditch::thinning(), mist::euclidean::thinning8(), と mist::array2< ivector_type, std::allocator< ivector_type > >::trim().

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

void mist::array2< T, Allocator >::reso | ( | double | r1,
|  | double | r2,
|  | double | = `1.0`
| ) |  |
| inline

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

引数

  [in] | r1 | … 新しいX軸方向の解像度
  [in] | r2 | … 新しいY軸方向の解像度
  [in] | dmy | … 利用しない

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

mist::array3< T, Allocator >, mist::array3< vector_type >, mist::array3< value_type >, と mist::array3< ivector_type >で再定義されています。

参照元 mist::canny(), と mist::array2< ivector_type, std::allocator< ivector_type > >::trim().

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

bool mist::array2< T, Allocator >::swap | ( | array2< T, Allocator > & | a | ) |
| inline

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

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

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

引数

  [in] | a | … 内容を入れ替える対象

戻り値

  true | … データのスワップに成功
  false | … データのスワップに失敗

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

bool mist::array2< T, Allocator >::trim | ( | array2< T, Allocator > & | out,
|  | size_type | x,
|  | size_type | y,
|  | difference_type | w = `-1`,
|  | difference_type | h = `-1`
| ) |  | const
| inline

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

引数

  [out] | out | … トリミング結果の画像を格納するオブジェクト（画像のサイズは自動で変更されます）
  [in] | x | … トリミングのX軸方向の開始位置（ゼロから始まるインデックス）
  [in] | y | … トリミングのY軸方向の開始位置（ゼロから始まるインデックス）
  [in] | w | … トリミング後のX軸方向の要素数（-1の場合は，最後までをコピーする）
  [in] | h | … トリミング後のY軸方向の要素数（-1の場合は，最後までをコピーする）

戻り値

  true | … トリミングに成功した場合（元とサイズが変わらない場合も含む）
  false | … 不正なトリミングを行おうとした場合

参照元 mist::array2< ivector_type, std::allocator< ivector_type > >::trim().

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

bool mist::array2< T, Allocator >::trim | ( | size_type | x,
|  | size_type | y,
|  | difference_type | w = `-1`,
|  | difference_type | h = `-1`
| ) |  |
| inline

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

引数

  [in] | x | … トリミングのX軸方向の開始位置（ゼロから始まるインデックス）
  [in] | y | … トリミングのY軸方向の開始位置（ゼロから始まるインデックス）
  [in] | w | … トリミング後のX軸方向の要素数（-1の場合は，最後までをコピーする）
  [in] | h | … トリミング後のY軸方向の要素数（-1の場合は，最後までをコピーする）

戻り値

  true | … トリミングに成功した場合（元とサイズが変わらない場合も含む）
  false | … 不正なトリミングを行おうとした場合

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

iterator mist::array2< T, Allocator >::x_begin | ( | size_type | i | ) |
| inline

X軸方向を固定した時の，Y軸方向の先頭を指すランダムアクセスイテレータを返す

       @code X軸方向を固定し，Y軸方向の先頭を指すランダムアクセスイテレータの使用例

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::array3< T, Allocator >, mist::array3< vector_type >, mist::array3< value_type >, と mist::array3< ivector_type >で再定義されています。

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

reverse_iterator mist::array2< T, Allocator >::x_rbegin | ( | size_type | i | ) |
| inline

X軸方向を固定した時の，Y軸方向の末尾を指す逆方向ランダムアクセスイテレータを返す

       @code X軸方向を固定した時の，Y軸方向の逆方向ランダムアクセスイテレータの使用例

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::array3< T, Allocator >, mist::array3< vector_type >, mist::array3< value_type >, と mist::array3< ivector_type >で再定義されています。

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

iterator mist::array2< T, Allocator >::y_begin | ( | size_type | j | ) |
| inline

Y軸方向を固定した時の，X軸方向の先頭を指すランダムアクセスイテレータを返す

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

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::array3< T, Allocator >, mist::array3< vector_type >, mist::array3< value_type >, と mist::array3< ivector_type >で再定義されています。

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

reverse_iterator mist::array2< T, Allocator >::y_rbegin | ( | size_type | j | ) |
| inline

Y軸方向を固定した時の，X軸方向の先頭を指す逆方向ランダムアクセスイテレータを返す

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

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::array3< T, Allocator >, mist::array3< vector_type >, mist::array3< value_type >, と mist::array3< ivector_type >で再定義されています。

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

- mist.h