8 #ifndef _FVITERATOR_H_INCLUDED_ 9 #define _FVITERATOR_H_INCLUDED_ 22 #pragma pack(push,_FVCL_PACKING) 58 this->m_alloc = pAllocator;
59 this->m_uiIndex = uiIndex;
102 if( this->m_alloc != ope.
m_alloc )
return false;
103 if( this->m_uiIndex != ope.
m_uiIndex )
return false;
110 return (
operator == (ope)) ?
false :
true;
116 if( this->m_alloc == NULL )
118 UINT index = this->m_uiIndex + iCount;
119 if( !(index<=this->m_alloc->
GetCount()) )
127 if( this->m_alloc == NULL )
129 UINT index = this->m_uiIndex + iCount;
130 if( !(index<=this->m_alloc->
GetCount()) )
138 if( this->m_alloc == NULL )
140 UINT index = this->m_uiIndex - iCount;
141 if( !(index<=this->m_alloc->
GetCount()) )
149 if( this->m_alloc == NULL )
151 UINT index = this->m_uiIndex - iCount;
152 if( !(index<=this->m_alloc->
GetCount()) )
160 if( this->m_alloc == NULL )
162 if( !(this->m_uiIndex < this->m_alloc->
GetCount()) )
171 if( this->m_alloc == NULL )
173 if( !(this->m_uiIndex < this->m_alloc->
GetCount()) )
183 if( this->m_alloc == NULL )
185 if( this->m_alloc->
GetCount() == 0 )
187 if( this->m_uiIndex == 0 )
196 if( this->m_alloc == NULL )
198 if( this->m_alloc->
GetCount() == 0 )
200 if( this->m_uiIndex == 0 )
210 if( this->m_alloc == NULL )
213 UINT iPos = this->m_uiIndex + iSize;
214 if( !(iPos<=this->m_alloc->
GetCount()) )
217 this->m_uiIndex = iPos;
224 if( this->m_alloc == NULL )
227 UINT iPos = this->m_uiIndex - iSize;
228 if( !(iPos<=this->m_alloc->
GetCount()) )
231 this->m_uiIndex = iPos;
238 if( this->m_alloc == NULL )
242 return this->m_alloc->
GetItem( index );
247 if( this->m_alloc == NULL )
249 return this->m_alloc->
GetItem( this->m_uiIndex );
254 if( this->m_alloc == NULL )
256 return this->m_alloc->
GetBuffer( this->m_uiIndex );
260 operator TYPE*()
const 262 if( this->m_alloc == NULL )
264 return this->m_alloc->
GetBuffer( this->m_uiIndex );
272 #endif // _FVITERATOR_H_INCLUDED_ INT difference_type
イテレータの差を表す型
Definition: FvIterator.h:43
TYPE & reference
要素の参照型
Definition: FvIterator.h:47
TYPE * pointer
要素のポインタ型
Definition: FvIterator.h:45
配列確保テンプレートクラスの基本クラス
Definition: FvAllocator.h:34
virtual ~CFvIterator()
デストラクタ
Definition: FvIterator.h:69
FVCLのネームスペース
Definition: EVCbasicDeclare.txt:9
CFvIterator< TYPE > & operator--()
前置形式の単項デクリメントオペレータ (-X)
Definition: FvIterator.h:181
FVCLの基底クラス
Definition: FvObject.h:23
CFvIterator(const CFvIterator< TYPE > &object)
コピーコンストラクタ
Definition: FvIterator.h:63
virtual reference GetItem(size_type uiIndex) const =0
配列の要素の取得
CFvIterator< TYPE > & operator++()
前置形式の単項インクリメントオペレータ (++X)
Definition: FvIterator.h:158
pointer operator->() const
要素へのポインタ
Definition: FvIterator.h:252
const TYPE * const_pointer
要素のポインタ型(const付き)
Definition: FvIterator.h:46
ランダムアクセスイテレータ
Definition: _STLDeclare.h:81
const INT INVALID_PARAMETER
パラメータが無効です。
Definition: FvErrors.h:24
int INT
整数型(32ビット)
Definition: FvDefs.h:36
配列走査テンプレートクラス
Definition: FvIterator.h:38
reference operator[](difference_type index) const
要素への参照
Definition: FvIterator.h:236
CFvIterator< TYPE > operator-(difference_type iCount) const
減算オペレータ (-)
Definition: FvIterator.h:136
パラメータ不正例外クラス
Definition: FveBadParamException.h:18
bool operator!=(const CFvIterator< TYPE > &ope) const
比較オペレータ (!=)
Definition: FvIterator.h:108
UINT size_type
サイズ型
Definition: FvIterator.h:44
CFvAllocator< TYPE > * m_alloc
アロケータクラスのオブジェクトへのポインタ
Definition: FvIterator.h:51
TYPE value_type
要素の型
Definition: FvIterator.h:42
CFvIterator< TYPE > & operator-=(difference_type iSize)
減算代入オペレータ (-=)
Definition: FvIterator.h:222
アクセス違反例外クラス
Definition: FveBadAccessException.h:18
virtual pointer GetBuffer(size_type uiIndex=0) const =0
配列の要素へのアドレス取得
std::random_access_iterator_tag iterator_category
イテレータカテゴリ
Definition: FvIterator.h:41
const TYPE & const_reference
要素の参照型(const付き)
Definition: FvIterator.h:48
CFvIterator< TYPE > & operator=(const CFvIterator< TYPE > &ope)
代入オペレータ (=)
Definition: FvIterator.h:92
CFvAllocator< TYPE > * GetAllocator() const
配列確保クラスの取得
Definition: FvIterator.h:79
virtual size_type GetCount() const
配列の要素数の取得
Definition: FvAllocator.h:69
unsigned int UINT
整数型(32ビット)[符号なし]
Definition: FvDefs.h:37
size_type m_uiIndex
配列指標
Definition: FvIterator.h:52
size_type GetIndex() const
配列指標の取得
Definition: FvIterator.h:85
CFvIterator(size_type uiIndex=0, CFvAllocator< TYPE > *pAllocator=NULL)
コンストラクタ
Definition: FvIterator.h:56
CFvIterator< TYPE > & operator+=(difference_type iSize)
加算代入オペレータ (+=)
Definition: FvIterator.h:208
const INT NOT_ALLOCATED
領域が確保されていません。
Definition: FvErrors.h:37
bool operator==(const CFvIterator< TYPE > &ope) const
比較オペレータ (==)
Definition: FvIterator.h:100
reference operator*() const
要素への参照
Definition: FvIterator.h:245
CFvIterator< TYPE > operator+(difference_type iCount) const
加算オペレータ (+)
Definition: FvIterator.h:114