N次元ベクトルを扱うクラス [詳細]
#include <vector.h>
データ構造 | |
struct | rebind |
データ型の変換を行う [詳細] |
Public 型 | |
typedef base::allocator_type | allocator_type |
MISTコンテナが利用するアロケータ型 | |
typedef base::reference | reference |
MISTのコンテナ内に格納するデータ型の参照.mist::array< data > の場合,data & となる | |
typedef base::const_reference | const_reference |
MISTのコンテナ内に格納するデータ型の const 参照.mist::array< data > の場合,const data & となる | |
typedef base::value_type | value_type |
MISTのコンテナ内に格納するデータ型.mist::array< data > の data と同じ | |
typedef base::size_type | size_type |
符号なしの整数を表す型.コンテナ内の要素数や,各要素を指定するときなどに利用し,内部的には size_t 型と同じ | |
typedef base::difference_type | difference_type |
符号付きの整数を表す型.コンテナ内の要素数や,各要素を指定するときなどに利用し,内部的には ptrdiff_t 型と同じ | |
typedef base::pointer | pointer |
MISTのコンテナ内に格納するデータ型のポインター型.mist::array< data > の場合,data * となる | |
typedef base::const_pointer | const_pointer |
MISTのコンテナ内に格納するデータ型の const ポインター型.mist::array< data > の場合,const data * となる | |
typedef base::iterator | iterator |
MISTのコンテナ内を操作する,STLで言う順方向のランダムアクセスイテレータ | |
typedef base::const_iterator | const_iterator |
MISTのコンテナ内を操作する,順方向のランダムアクセスイテレータのコンスト版 | |
typedef base::reverse_iterator | reverse_iterator |
MISTのコンテナ内を操作する,逆方向のランダムアクセスイテレータ | |
typedef base::const_reverse_iterator | const_reverse_iterator |
MISTのコンテナ内を操作する,逆方向のランダムアクセスイテレータのコンスト版 | |
![]() | |
typedef Allocator | allocator_type |
MISTコンテナが利用するアロケータ型 | |
typedef Allocator::reference | reference |
MISTのコンテナ内に格納するデータ型の参照.mist::matrix< data > の場合,data & となる | |
typedef Allocator::const_reference | const_reference |
MISTのコンテナ内に格納するデータ型の const 参照.mist::matrix< data > の場合,const data & となる | |
typedef Allocator::value_type | value_type |
MISTのコンテナ内に格納するデータ型.mist::matrix< data > の data と同じ | |
typedef Allocator::size_type | size_type |
符号なしの整数を表す型.コンテナ内の要素数や,各要素を指定するときなどに利用し,内部的には size_t 型と同じ | |
typedef Allocator::difference_type | difference_type |
符号付きの整数を表す型.コンテナ内の要素数や,各要素を指定するときなどに利用し,内部的には ptrdiff_t 型と同じ | |
typedef Allocator::pointer | pointer |
MISTのコンテナ内に格納するデータ型のポインター型.mist::matrix< data > の場合,data * となる | |
typedef Allocator::const_pointer | const_pointer |
MISTのコンテナ内に格納するデータ型の const ポインター型.mist::matrix< 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のコンテナ内を操作する,逆方向のランダムアクセスイテレータのコンスト版 | |
![]() | |
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 メソッド | |
template<class TT , class AAlocator > | |
const vector & | operator*= (const vector< TT, AAlocator > &v2) |
ベクトルの外積 | |
value_type | operator^ (const vector &v) const |
ベクトルの内積 | |
value_type | inner (const vector &v2) const |
ベクトルの内積 | |
vector | outer (const vector &v) const |
ベクトルの外積 | |
vector () | |
ディフォルトコンストラクタ.0 次元のベクトルを作成する | |
vector (const Allocator &a) | |
アロケータ a のコピーを利用し,0 次元のベクトルを作成する | |
vector (size_type num) | |
num 次元のベクトルを作成し,デフォルト値で要素を初期化する | |
vector (size_type num, const Allocator &a) | |
num 次元で,アロケータ a のコピーを利用したベクトルを作成し,デフォルト値で要素を初期化する | |
vector (size_type num, const T &val) | |
num 次元のベクトルを作成し,全要素を値 val で要素を初期化する | |
vector (size_type num, const T &val, const Allocator &a) | |
num 次元で,アロケータ a のコピーを利用したベクトルを作成し,全要素を値 val で要素を初期化する | |
vector (size_type num, pointer ptr, size_type mem_available) | |
ptr が指すメモリ領域に,num 次元のベクトルを作成を作成する(ptr が指す先の利用可能なメモリ量は mem_available ) | |
vector (size_type num, const T &val, pointer ptr, size_type mem_available) | |
ptr が指すメモリ領域に,num 次元のベクトルを作成を作成し,全要素を値 val で要素を初期化する(ptr が指す先の利用可能なメモリ量は mem_available ) | |
template<class TT , class AAlocator > | |
vector (const vector< TT, AAlocator > &o) | |
他のベクトルで要素の型が異なるものから同じサイズのベクトルを作成する | |
vector (const vector< T, Allocator > &o) | |
他のベクトルで同じ要素型のものを用いて初期化する | |
![]() | |
bool | resize (size_type num) |
行列のサイズを num 行 1 列に変更する | |
bool | resize (size_type nrows, size_type ncols) |
行列のサイズを num1 行 num2 列に変更する | |
bool | resize (size_type nrows, size_type ncols, const T &val) |
行列のサイズを num1 行 num2 列に変更する | |
bool | trim (matrix &out, size_type row, size_type col, difference_type nrows=-1, difference_type ncols=-1) const |
コンテナ内の要素をトリミングする | |
bool | trim (size_type row, size_type col, difference_type nrows=-1, difference_type ncols=-1) |
コンテナ内の要素をトリミングする | |
bool | swap (matrix &m) |
行列内の全ての内容を入れ替える. | |
void | clear () |
行列の要素を空にする | |
size_type | size1 () const |
行数を返す | |
size_type | size2 () const |
列数を返す | |
size_type | rows () const |
行数を返す | |
size_type | cols () const |
列数を返す | |
iterator | row_begin (size_type r) |
行方向を操作する順方向ランダムアクセスイテレータを返す | |
const_iterator | row_begin (size_type r) const |
行方向を操作するコンスト型の順方向ランダムアクセスイテレータを返す | |
iterator | row_end (size_type r) |
行方向を操作する順方向ランダムアクセスイテレータを返す | |
const_iterator | row_end (size_type r) const |
行方向を操作するコンスト型の順方向ランダムアクセスイテレータを返す | |
reverse_iterator | row_rbegin (size_type r) |
行方向を操作する逆方向ランダムアクセスイテレータを返す | |
const_reverse_iterator | row_rbegin (size_type r) const |
行方向を操作するコンスト型の逆方向ランダムアクセスイテレータを返す | |
reverse_iterator | row_rend (size_type r) |
行方向を操作する逆方向ランダムアクセスイテレータを返す | |
const_reverse_iterator | row_rend (size_type r) const |
行方向を操作するコンスト型の逆方向ランダムアクセスイテレータを返す | |
iterator | col_begin (size_type c) |
列方向を操作する順方向ランダムアクセスイテレータを返す | |
const_iterator | col_begin (size_type c) const |
列方向を操作するコンスト型の順方向ランダムアクセスイテレータを返す | |
iterator | col_end (size_type c) |
列方向を操作する順方向ランダムアクセスイテレータを返す | |
const_iterator | col_end (size_type c) const |
列方向を操作するコンスト型の順方向ランダムアクセスイテレータを返す | |
reverse_iterator | col_rbegin (size_type c) |
列方向を操作する逆方向ランダムアクセスイテレータを返す | |
const_reverse_iterator | col_rbegin (size_type c) const |
列方向を操作するコンスト型の逆方向ランダムアクセスイテレータを返す | |
reverse_iterator | col_rend (size_type c) |
列方向を操作する逆方向ランダムアクセスイテレータを返す | |
const_reverse_iterator | col_rend (size_type c) const |
列方向を操作するコンスト型の逆方向ランダムアクセスイテレータを返す | |
matrix | operator- () const |
符号反転した行列を返す | |
matrix | t () const |
転置行列を返す | |
matrix | dagger () const |
共役転置行列を返す | |
template<class TT , class AAlocator > | |
const matrix & | operator+= (const matrix< TT, AAlocator > &m2) |
行列の足し算 | |
template<class TT , class AAlocator > | |
const matrix & | operator-= (const matrix< TT, AAlocator > &m2) |
行列の引き算 | |
template<class TT , class AAlocator > | |
const matrix & | operator*= (const matrix< TT, AAlocator > &m2) |
行列の掛け算 | |
const matrix & | operator+= (typename type_trait< T >::value_type val) |
行列への定数(単位行列の定数倍)の足し算 | |
const matrix & | operator-= (typename type_trait< T >::value_type val) |
行列への定数(単位行列の定数倍)の引き算 | |
const matrix & | operator*= (typename type_trait< T >::value_type val) |
行列への定数(単位行列の定数倍)の掛け算 | |
const matrix & | operator/= (typename type_trait< T >::value_type val) |
行列への定数(単位行列の定数倍)の割り算 | |
bool | is_equal (const matrix &a, const double delta) |
2つの行列が等しい(全要素の差が delta 未満)かどうかを判定する | |
bool | operator== (const matrix &a) const |
2つの行列が等しい(全要素が同じ値を持つ)かどうかを判定する | |
bool | operator!= (const matrix &a) const |
2つの行列が等しくない(どれか1つでも異なる要素を持つ)かどうかを判定する | |
template<class TT , class AAlocator > | |
const matrix & | operator= (const matrix< TT, AAlocator > &o) |
要素の型が異なる行列を代入する | |
const matrix< T, Allocator > & | operator= (const matrix< T, Allocator > &o) |
要素の型が同じ行列を代入する | |
reference | at (size_type r, size_type c) |
r 行 c 列 で示される位置の要素の参照を返す | |
const_reference | at (size_type r, size_type c) const |
r 行 c 列 で示される位置の要素の const 参照を返す | |
reference | operator() (size_type r, size_type c) |
r 行 c 列 で示される位置の要素の参照を返す | |
const_reference | operator() (size_type r, size_type c) const |
r 行 c 列 で示される位置の要素の const 参照を返す | |
matrix () | |
ディフォルトコンストラクタ.0 行 0 列 の行列を作成する | |
matrix (const Allocator &a) | |
アロケータ a のコピーを利用し,0 行 0 列 の行列を作成する | |
matrix (size_type rnum, size_type cnum) | |
要素数 rnum 行 cnum 列 の行列を作成し,デフォルト値で要素を初期化する | |
matrix (size_type rnum, size_type cnum, const Allocator &a) | |
要素数 rnum 行 cnum 列 でアロケータ a のコピーを利用した行列を作成し,デフォルト値で要素を初期化する | |
matrix (size_type rnum, size_type cnum, const T &val) | |
要素数 rnum 行 cnum 列 の行列を作成し,全要素を値 val で要素を初期化する | |
matrix (size_type rnum, size_type cnum, const T &val, const Allocator &a) | |
要素数 rnum 行 cnum 列 でアロケータ a のコピーを利用した行列を作成し,全要素を値 val で要素を初期化する | |
matrix (size_type rnum, size_type cnum, pointer ptr, size_type mem_available) | |
ptr が指すメモリ領域に,要素数 rnum 行 cnum 列 の行列を作成する(ptr が指す先の利用可能なメモリ量は mem_available ) | |
matrix (size_type rnum, size_type cnum, const T &val, pointer ptr, size_type mem_available) | |
ptr が指すメモリ領域に,要素数 rnum 行 cnum 列 の行列を作成し,全要素を値 val で要素を初期化する(ptr が指す先の利用可能なメモリ量は mem_available ) | |
template<class TT , class AAlocator > | |
matrix (const matrix< TT, AAlocator > &o) | |
他の行列で要素の型が異なるものから同じサイズの行列を作成する | |
matrix (const matrix< T, Allocator > &o) | |
他の行列で同じ要素型のものを用いて初期化する | |
![]() | |
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 | fill () |
コンテナ内のデータ要素をデフォルト値で初期化する | |
void | fill (const value_type &val) |
コンテナ内のデータ要素を指定された値で初期化する | |
bool | empty () const |
コンテナが空かどうかを判定 | |
size_type | size () const |
コンテナに格納されているデータ数を返す | |
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 () | |
コンテナが利用しているリソースを全て開放する |
Additional Inherited Members | |
![]() | |
static const matrix | diag (const value_type &s1, const value_type &s2, const value_type &s3) |
3×3 の対角行列を計算する | |
static const matrix | _44 (const value_type &a00, const value_type &a01, const value_type &a02, const value_type &a03, const value_type &a10, const value_type &a11, const value_type &a12, const value_type &a13, const value_type &a20, const value_type &a21, const value_type &a22, const value_type &a23, const value_type &a30, const value_type &a31, const value_type &a32, const value_type &a33) |
入力データを用いて4×4の行列を返す | |
static const matrix | _34 (const value_type &a00, const value_type &a01, const value_type &a02, const value_type &a03, const value_type &a10, const value_type &a11, const value_type &a12, const value_type &a13, const value_type &a20, const value_type &a21, const value_type &a22, const value_type &a23) |
入力データを用いて3×4の行列を返す | |
static const matrix | _43 (const value_type &a00, const value_type &a01, const value_type &a02, const value_type &a10, const value_type &a11, const value_type &a12, const value_type &a20, const value_type &a21, const value_type &a22, const value_type &a30, const value_type &a31, const value_type &a32) |
入力データを用いて4×3の行列を返す | |
static const matrix | _41 (const value_type &a0, const value_type &a1, const value_type &a2, const value_type &a3) |
入力データを用いて4×1の行列を返す | |
static const matrix | _33 (const value_type &a00, const value_type &a01, const value_type &a02, const value_type &a10, const value_type &a11, const value_type &a12, const value_type &a20, const value_type &a21, const value_type &a22) |
入力データを用いて3×3の行列を返す | |
static const matrix | _31 (const value_type &a0, const value_type &a1, const value_type &a2) |
入力データを用いて3×1の行列を返す | |
static const matrix | _22 (const value_type &a00, const value_type &a01, const value_type &a10, const value_type &a11) |
入力データを用いて2×2の行列を返す | |
static const matrix | _21 (const value_type &a0, const value_type &a1) |
入力データを用いて3×1の行列を返す | |
static const matrix | identity (size_type rows, size_type cols) |
任意サイズの単位行列を返す | |
static const matrix | zero (size_type rows, size_type cols) |
任意サイズのゼロ行列を返す | |
![]() | |
pointer | paccess (size_type index) |
index で示される位置の要素のポインタを返す | |
const_pointer | paccess (size_type index) const |
index で示される位置の要素の const ポインタを返す | |
![]() | |
mist_allocator< T, Allocator > | allocator_ |
各コンテナで利用するアロケータオブジェクト | |
T * | data_ |
コンテナで扱うデータの先頭を表すポインタ |
N次元ベクトルを扱うクラス
T | … 行列内に格納するデータ型 |
Allocator | … MISTコンテナが利用するアロケータ型.省略した場合は,STLのデフォルトアロケータを使用する |
|
inline |
他のベクトルで要素の型が異なるものから同じサイズのベクトルを作成する
|
inline |
ベクトルの内積
[in] | v2 | … 右辺値 |
|
inline |
ベクトルの外積
[in] | v2 | … 右辺値 |
参照先 mist::array< T, Allocator >::size(), と mist::matrix< T, Allocator >::swap().
|
inline |
ベクトルの内積
[in] | v | … 右辺値 |
|
inline |
ベクトルの外積
[in] | v | … 右辺値 |