WIL説明書(C++)  3.0.0
全メンバ一覧 | 公開型 | 公開メンバ関数 | 限定公開変数類
FVCL::CFvIterator< TYPE > クラステンプレート

配列走査テンプレートクラス [詳解]

詳解

template<class TYPE>
class FVCL::CFvIterator< TYPE >

配列走査テンプレートクラス

テンプレート引数
TYPE配列の要素の型

namespace FVCL

配列クラスで確保された配列内を走査して要素の参照を行うクラスです。

必要条件:
ヘッダー: FVCLbasic.h
+ FVCL::CFvIterator< TYPE > の継承関係図

公開型

typedef std::random_access_iterator_tag iterator_category
 イテレータカテゴリ [詳解]
 
typedef TYPE value_type
 要素の型 [詳解]
 
typedef INT difference_type
 イテレータの差を表す型 [詳解]
 
typedef UINT size_type
 サイズ型 [詳解]
 
typedef TYPE * pointer
 要素のポインタ型 [詳解]
 
typedef const TYPE * const_pointer
 要素のポインタ型(const付き) [詳解]
 
typedef TYPE & reference
 要素の参照型 [詳解]
 
typedef const TYPE & const_reference
 要素の参照型(const付き) [詳解]
 

公開メンバ関数

 CFvIterator (size_type uiIndex=0, CFvAllocator< TYPE > *pAllocator=NULL)
 コンストラクタ [詳解]
 
 CFvIterator (const CFvIterator< TYPE > &object)
 コピーコンストラクタ [詳解]
 
virtual ~CFvIterator ()
 デストラクタ [詳解]
 
CFvAllocator< TYPE > * GetAllocator () const
 配列確保クラスの取得 [詳解]
 
size_type GetIndex () const
 配列指標の取得 [詳解]
 
CFvIterator< TYPE > & operator= (const CFvIterator< TYPE > &ope)
 代入オペレータ (=) [詳解]
 
bool operator== (const CFvIterator< TYPE > &ope) const
 比較オペレータ (==) [詳解]
 
bool operator!= (const CFvIterator< TYPE > &ope) const
 比較オペレータ (!=) [詳解]
 
CFvIterator< TYPE > operator+ (difference_type iCount) const
 加算オペレータ (+) [詳解]
 
CFvIterator< TYPE > operator+ (size_type iCount) const
 加算オペレータ (+) [詳解]
 
CFvIterator< TYPE > operator- (difference_type iCount) const
 減算オペレータ (-) [詳解]
 
CFvIterator< TYPE > operator- (size_type iCount) const
 減算オペレータ (-) [詳解]
 
CFvIterator< TYPE > & operator++ ()
 前置形式の単項インクリメントオペレータ (++X) [詳解]
 
CFvIterator< TYPE > operator++ (INT)
 後置形式の単項インクリメントオペレータ (X++) [詳解]
 
CFvIterator< TYPE > & operator-- ()
 前置形式の単項デクリメントオペレータ (–X) [詳解]
 
CFvIterator< TYPE > operator-- (INT)
 後置形式の単項デクリメントオペレータ (X–) [詳解]
 
CFvIterator< TYPE > & operator+= (difference_type iSize)
 加算代入オペレータ (+=) [詳解]
 
CFvIterator< TYPE > & operator-= (difference_type iSize)
 減算代入オペレータ (-=) [詳解]
 
reference operator[] (difference_type index) const
 要素への参照 [詳解]
 
reference operator* () const
 要素への参照 [詳解]
 
pointer operator-> () const
 要素へのポインタ [詳解]
 
 operator TYPE * () const
 キャストオペレータ (TYPE*()) [詳解]
 
- 基底クラス FVCL::CFvObject に属する継承公開メンバ関数
 CFvObject ()
 標準のコンストラクタ [詳解]
 
virtual ~CFvObject ()
 デストラクタ [詳解]
 
INT SetErrorCode (INT err)
 エラーコードの設定 [詳解]
 
INT SetErrorCode (INT err) const
 エラーコードの設定 [詳解]
 
INT GetErrorCode () const
 エラーコードの取得 [詳解]
 
bool SetAllocateOption (INT value)
 画像領域確保時のオプションの設定 [詳解]
 
INT GetAllocateOption () const
 画像領域確保時のオプションの取得 [詳解]
 
void * operator new (size_t uiSize)
 new オペレータ [詳解]
 
void * operator new[] (size_t uiSize)
 new[] オペレータ [詳解]
 
void operator delete (void *pvObject)
 delete オペレータ [詳解]
 
void operator delete[] (void *pvObject)
 delete[] オペレータ [詳解]
 
void * operator new (size_t uiSize, LPCSTR szFileName, INT iLine)
 new オペレータ [詳解]
 
void * operator new[] (size_t uiSize, LPCSTR szFileName, INT iLine)
 new[] オペレータ [詳解]
 
void operator delete (void *pvObject, LPCSTR szFileName, INT iLine)
 delete オペレータ [詳解]
 
void operator delete[] (void *pvObject, LPCSTR szFileName, INT iLine)
 delete[] オペレータ [詳解]
 
virtual CFvObjectoperator= (const CFvObject &src)
 代入オペレータ [詳解]
 
virtual bool operator== (const CFvObject &src) const
 比較オペレータ (==) [詳解]
 
virtual bool operator!= (const CFvObject &src) const
 比較オペレータ (!=) [詳解]
 

限定公開変数類

CFvAllocator< TYPE > * m_alloc
 アロケータクラスのオブジェクトへのポインタ [詳解]
 
size_type m_uiIndex
 配列指標 [詳解]
 
- 基底クラス FVCL::CFvObject に属する継承限定公開変数類
INT m_ErrorCode
 エラーコード [詳解]
 
INT m_AllocateOption
 画像領域確保時のオプション [詳解]
 

その他の継承メンバ

- 基底クラス FVCL::CFvObject に属する継承静的公開メンバ関数
static bool SetDefaultAllocateOption (INT value)
 既定の画像領域確保時のオプションの設定 [詳解]
 
static INT GetDefaultAllocateOption ()
 既定の画像領域確保時のオプションの取得 [詳解]
 
- 基底クラス FVCL::CFvObject に属する継承限定公開メンバ関数
INT fnCPUCheck ()
 CPU情報の取得 [詳解]
 

型定義メンバ詳解

template<class TYPE>
FVCL::CFvIterator< TYPE >::iterator_category

イテレータカテゴリ

このイテレータの種類を表します。 イテレータがランダムアクセスが可能な事を意味します。

template<class TYPE>
FVCL::CFvIterator< TYPE >::value_type

要素の型

template<class TYPE>
FVCL::CFvIterator< TYPE >::difference_type

イテレータの差を表す型

template<class TYPE>
FVCL::CFvIterator< TYPE >::size_type

サイズ型

template<class TYPE>
FVCL::CFvIterator< TYPE >::pointer

要素のポインタ型

template<class TYPE>
FVCL::CFvIterator< TYPE >::const_pointer

要素のポインタ型(const付き)

template<class TYPE>
FVCL::CFvIterator< TYPE >::reference

要素の参照型

template<class TYPE>
FVCL::CFvIterator< TYPE >::const_reference

要素の参照型(const付き)

構築子と解体子

template<class TYPE>
FVCL::CFvIterator< TYPE >::CFvIterator ( size_type  uiIndex = 0,
CFvAllocator< TYPE > *  pAllocator = NULL 
)
inline

コンストラクタ

イテレータを初期化して構築します。

引数
[in]uiIndex配列指標
[in]pAllocator配列を持つアロケータクラスへのポインタ
注意
配列指標がアロケータの要素数を超える場合は例外を発行します。
例外
FVCL::CFveBadParamException
解説:
uiIndex を メンバの m_uiIndex に、 pAllocator を メンバの m_alloc に設定します。 引数を省略した場合は m_alloc は NULL に初期化されます。 イテレータの走査を行う前に、イテレータの代入を行ってください。 m_alloc が NULL の状態で、イテレータの走査を行うと例外を発行しますのでご注意ください。
template<class TYPE>
FVCL::CFvIterator< TYPE >::CFvIterator ( const CFvIterator< TYPE > &  object)
inline

コピーコンストラクタ

同一クラスのイテレータの内容を複製してオブジェクトを構築します。

引数
[in]object複製元
template<class TYPE>
FVCL::CFvIterator< TYPE >::~CFvIterator ( )
inlinevirtual

デストラクタ

関数詳解

template<class TYPE>
FVCL::CFvIterator< TYPE >::GetAllocator ( ) const
inline

配列確保クラスの取得

イテレータが現在指し示している配列確保クラスを取得します。

戻り値
配列確保クラスへのポインタを返します。
template<class TYPE>
FVCL::CFvIterator< TYPE >::GetIndex ( ) const
inline

配列指標の取得

イテレータが現在指し示している配列の指標を取得します。

戻り値
配列指標を返します。
template<class TYPE>
FVCL::CFvIterator< TYPE >::operator= ( const CFvIterator< TYPE > &  ope)
inline

代入オペレータ (=)

引数
[in]ope代入するイテレータへの参照
戻り値
代入後のこのオブジェクトへの参照を返します。
template<class TYPE>
FVCL::CFvIterator< TYPE >::operator== ( const CFvIterator< TYPE > &  ope) const
inline

比較オペレータ (==)

引数
[in]ope比較するイテレータへの参照
戻り値
true一致
false不一致
template<class TYPE>
FVCL::CFvIterator< TYPE >::operator!= ( const CFvIterator< TYPE > &  ope) const
inline

比較オペレータ (!=)

引数
[in]ope比較するイテレータへの参照
戻り値
true不一致
false一致
template<class TYPE>
FVCL::CFvIterator< TYPE >::operator+ ( difference_type  iCount) const
inline

加算オペレータ (+)

このイテレータが現在指し示している配列指標に 指定の値を加算したイテレータを返します。

引数
[in]iCount配列指標の加算値
戻り値
配列指標が加算された後のイテレータを返します。
加算後の配列指標が要素数を超える場合は例外を発行します。
注意
イテレータに何も代入していない時は例外を発行します。
例外
FVCL::CFveBadAccessException
FVCL::CFveBadParamException
template<class TYPE>
FVCL::CFvIterator< TYPE >::operator+ ( size_type  iCount) const
inline

加算オペレータ (+)

このイテレータが現在指し示している配列指標に 指定の値を加算したイテレータを返します。

引数
[in]iCount配列指標の加算値
戻り値
配列指標が加算された後のイテレータを返します。
加算後の配列指標が要素数を超える場合は例外を発行します。
注意
イテレータに何も代入していない時は例外を発行します。
例外
FVCL::CFveBadAccessException
FVCL::CFveBadParamException
template<class TYPE>
FVCL::CFvIterator< TYPE >::operator- ( difference_type  iCount) const
inline

減算オペレータ (-)

このイテレータが現在指し示している配列指標から 指定の値を減算したイテレータを返します。

引数
[in]iCount配列指標の減算値
戻り値
配列指標が減算された後のイテレータを返します。
減算後の配列指標が負の数になる場合は例外を発行します。
注意
イテレータに何も代入していない時は例外を発行します。
例外
FVCL::CFveBadAccessException
FVCL::CFveBadParamException
template<class TYPE>
FVCL::CFvIterator< TYPE >::operator- ( size_type  iCount) const
inline

減算オペレータ (-)

このイテレータが現在指し示している配列指標から 指定の値を減算したイテレータを返します。

引数
[in]iCount配列指標の減算値
戻り値
配列指標が減算された後のイテレータを返します。
減算後の配列指標が負の数になる場合は例外を発行します。
注意
イテレータに何も代入していない時は例外を発行します。
例外
FVCL::CFveBadAccessException
FVCL::CFveBadParamException
template<class TYPE>
FVCL::CFvIterator< TYPE >::operator++ ( )
inline

前置形式の単項インクリメントオペレータ (++X)

このイテレータが現在指し示している配列指標を1つ進めます。

戻り値
配列指標を進めた後のイテレータを返します。
既に配列末尾(無効な指標)を指し示している場合は例外を発行します。
注意
イテレータに何も代入していない時は例外を発行します。
例外
FVCL::CFveBadAccessException
template<class TYPE>
FVCL::CFvIterator< TYPE >::operator++ ( INT  )
inline

後置形式の単項インクリメントオペレータ (X++)

このイテレータが現在指し示している配列指標を1つ進めます。

戻り値
配列指標を進める前のイテレータを返します。
既に配列末尾(無効な指標)を指し示している場合は例外を発行します。
注意
イテレータに何も代入していない時は例外を発行します。
例外
FVCL::CFveBadAccessException
template<class TYPE>
FVCL::CFvIterator< TYPE >::operator-- ( )
inline

前置形式の単項デクリメントオペレータ (–X)

このイテレータが現在指し示している配列指標を1つ後退します。

戻り値
配列指標を後退した後のイテレータを返します。
後退後の配列指標が負の数になる場合は例外を発行します。
注意
イテレータに何も代入していない時は例外を発行します。
例外
FVCL::CFveBadAccessException
template<class TYPE>
FVCL::CFvIterator< TYPE >::operator-- ( INT  )
inline

後置形式の単項デクリメントオペレータ (X–)

このイテレータが現在指し示している配列指標を1つ後退します。

戻り値
配列指標を後退する前のイテレータを返します。
後退後の配列指標が負の数になる場合は例外を発行します。
注意
イテレータに何も代入していない時は例外を発行します。
例外
FVCL::CFveBadAccessException
template<class TYPE>
FVCL::CFvIterator< TYPE >::operator+= ( difference_type  iSize)
inline

加算代入オペレータ (+=)

このイテレータが現在指し示している配列指標に指定の値を加算します。

引数
[in]iSize配列指標の加算値
戻り値
配列指標が加算された後の自身への参照(*this)を返します。
加算後の配列指標が負の数または要素数を超える場合は例外を発行します。
注意
イテレータに何も代入していない時は例外を発行します。
例外
FVCL::CFveBadAccessException
FVCL::CFveBadParamException
template<class TYPE>
FVCL::CFvIterator< TYPE >::operator-= ( difference_type  iSize)
inline

減算代入オペレータ (-=)

このイテレータが現在指し示している配列指標から指定の値を減算します。

引数
[in]iSize配列指標の減算値
戻り値
配列指標が減算された後の自身への参照(*this)を返します。
減算後の配列指標が負の数または要素数を超える場合は例外を発行します。
注意
イテレータに何も代入していない時は例外を発行します。
例外
FVCL::CFveBadAccessException
FVCL::CFveBadParamException
template<class TYPE>
FVCL::CFvIterator< TYPE >::operator[] ( difference_type  index) const
inline

要素への参照

イテレータが指し示す要素への参照を得ます。

引数
[in]index配列指標 (0~)
戻り値
要素への参照を返します。
配列指標が不正な場合は例外を発行します。
注意
イテレータに何も代入していない時は例外を発行します。
例外
FVCL::CFveBadAccessException
サンプルコード:
points.resize( 3 );
iter = points.begin();
iter[0] = FVCL::Data::CFvPoint( 1.0, 10.0 );
iter[1] = FVCL::Data::CFvPoint( 2.0, 20.0 );
iter[2] = FVCL::Data::CFvPoint( 3.0, 30.0 );
for( UINT i=0 ; i<points.size() ; i++ )
{
printf( "points[%u] x=%.1f, y=%.1f\n", i, points[i].x, , points[i]y );
}

実行結果:
points[0] x=1.0, y=10.0
points[1] x=2.0, y=20.0
points[2] x=3.0, y=30.0

template<class TYPE>
FVCL::CFvIterator< TYPE >::operator* ( ) const
inline

要素への参照

イテレータが指し示す要素への参照を得ます。

戻り値
要素への参照を返します。
配列指標が不正な場合は例外を発行します。
注意
イテレータに何も代入していない時は例外を発行します。
例外
FVCL::CFveBadAccessException
サンプルコード:
points.resize( 3 );
for( iter=points.begin() ; iter!=points.end() ; iter++ )
{
(*iter).x += 1;
(*iter).y += 10;
}
for( UINT i=0 ; i<points.size() ; i++ )
{
printf( "points[%u] x=%.1f, y=%.1f\n", i, points[i].x, , points[i]y );
}

実行結果:
points[0] x=1.0, y=10.0
points[1] x=1.0, y=10.0
points[2] x=1.0, y=10.0

template<class TYPE>
FVCL::CFvIterator< TYPE >::operator-> ( ) const
inline

要素へのポインタ

イテレータが指し示す要素へのポインタを得ます。

戻り値
要素へのポインタを返します。
配列指標が不正な場合は例外を発行します。
注意
イテレータに何も代入していない時は例外を発行します。
例外
FVCL::CFveBadAccessException
サンプルコード:
points.resize( 3 );
for( iter=points.begin() ; iter!=points.end() ; iter++ )
{
iter->x += 1;
iter->y += 10;
}
for( UINT i=0 ; i<points.size() ; i++ )
{
printf( "points[%u] x=%.1f, y=%.1f\n", i, points[i].x, , points[i]y );
}

実行結果:
points[0] x=1.0, y=10.0
points[1] x=1.0, y=10.0
points[2] x=1.0, y=10.0

template<class TYPE>
FVCL::CFvIterator< TYPE >::operator TYPE * ( ) const
inline

キャストオペレータ (TYPE*())

イテレータが指し示す要素へのポインタにキャストします。

注意
イテレータに何も代入していない時は例外を発行します。
例外
FVCL::CFveBadAccessException

メンバ詳解

template<class TYPE>
FVCL::CFvIterator< TYPE >::m_alloc
protected

アロケータクラスのオブジェクトへのポインタ

template<class TYPE>
FVCL::CFvIterator< TYPE >::m_uiIndex
protected

配列指標


Documentation copyright © 2007 FAST Corporation. [B-001864]
Generated on 2023年11月02日(木) 10時12分57秒 for WIL説明書(C++) by doxygen 1.8.11