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

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

#include <mist.h>

+ mist::array1< 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::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 メソッド

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 resize (size_type num, size_type=0, size_type=0)
 コンテナ内の要素数を変更する
bool trim (array &out, size_type index, difference_type num=-1) const
 コンテナ内の要素をトリミングする
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 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 arrayoperator= (const array< TT, AAlocator > &o)
 要素の型が異なるコンテナを代入する
const arrayoperator= (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 変数

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

Additional Inherited Members

- Protected メソッド inherited from mist::array< T, Allocator >
pointer paccess (size_type index)
 index で示される位置の要素のポインタを返す
const_pointer paccess (size_type index) const
 index で示される位置の要素の const ポインタを返す

説明

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

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

主に音声を扱うための基本クラス (mist/mist.h をインクルードする)

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

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

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

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

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

関数

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

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

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

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

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

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

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

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

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

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

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

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

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

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

引数
[out]out… トリミング結果を格納するオブジェクト(サイズは自動で変更されます)
[in]index… トリミングの開始位置(ゼロから始まるインデックス)
[in]num… トリミング後の要素数(-1の場合は,最後までをコピーする)
戻り値
true… トリミングに成功した場合(元とサイズが変わらない場合も含む)
false… 不正なトリミングを行おうとした場合
template<class T, class Allocator = std::allocator< T >>
bool mist::array1< T, Allocator >::trim ( size_type  index,
difference_type  num = -1 
)
inline

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

引数
[in]index… トリミングの開始位置(ゼロから始まるインデックス)
[in]num… トリミング後の要素数(-1の場合は,最後までをコピーする)
戻り値
true… トリミングに成功した場合(元とサイズが変わらない場合も含む)
false… 不正なトリミングを行おうとした場合

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

template<class T, class Allocator = std::allocator< T >>
iterator mist::array1< T, Allocator >::x_begin ( )
inline

X軸方向の先頭を指すランダムアクセスイテレータを返す

   @code 順方向ランダムアクセスイテレータの使用例

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

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

X軸方向の末尾を指す逆方向ランダムアクセスイテレータを返す

   @code 逆方向ランダムアクセスイテレータの使用例

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


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

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