8 #ifndef _FVMULTIDATA_H_INCLUDED_ 9 #define _FVMULTIDATA_H_INCLUDED_ 21 #pragma pack(push,_FVCL_PACKING) 76 virtual reference
at( size_type _Pos )
78 return this->
m_alloc->GetItem(_Pos);
82 virtual const_reference
at( size_type _Pos )
const 84 return this->
m_alloc->GetItem(_Pos);
90 return this->
m_alloc->GetItem( 0 );
94 virtual const_reference
front()
const 96 return this->
m_alloc->GetItem( 0 );
106 virtual const_reference
back()
const 118 virtual const_iterator
begin()
const 130 virtual const_iterator
end()
const 138 return this->
m_alloc->GetCapacity();
150 return (this->
m_alloc->GetCount()==0 ?
true :
false);
154 virtual iterator
erase( iterator _First, iterator _Last )
156 size_type uiPos = _First.
GetIndex();
164 virtual iterator
erase( iterator _Where )
166 return erase( _Where, _Where );
182 virtual void insert( iterator _Where, size_type _Count, const_reference _Val )
188 virtual iterator
insert( iterator _Where, const_reference _Val )
190 size_type uiPos = _Where.
GetIndex();
191 this->
m_alloc->Insert( uiPos, 1, _Val );
198 return this->
m_alloc->PushBack( _Val );
204 return this->
m_alloc->PopBack();
208 virtual bool resize( size_type _Newsize, const_reference _Val )
210 return this->
m_alloc->Resize( _Newsize, &_Val );
214 virtual bool resize( size_type _Newsize )
216 return this->
m_alloc->Resize( _Newsize, NULL );
222 this->
m_alloc->Reserve( _Count );
228 return this->
m_alloc->GetCount();
236 if( alloc == NULL )
return false;
237 if( alloc != this->
m_alloc )
return false;
243 virtual bool SwapItem( iterator _Where1, iterator _Where2 )
247 if( alloc1 == NULL )
return false;
248 if( alloc2 == NULL )
return false;
249 if( alloc1 != this->
m_alloc )
return false;
250 if( alloc2 != this->
m_alloc )
return false;
259 return this->
m_alloc->GetItem( uiIndex );
265 return this->
m_alloc->GetItem( uiIndex );
278 size_type uiCapacity = 0;
279 uiCapacity = ope.
m_alloc->GetCapacity() - this->
m_alloc->GetCapacity();
280 if( !this->
m_alloc->Reserve( uiCapacity ) )
284 for( size_type iCnt=0 ; iCnt<this->
m_alloc->GetCount() ; iCnt++ )
298 #endif // _FVMULTIDATA_H_INCLUDED_ virtual bool push_back(const_reference _Val)
配列への要素の追加
Definition: FvMultiData.h:196
virtual INT GetDataID() const =0
データIDの取得
virtual CFvObject & operator=(const CFvObject &src)
代入オペレータ
virtual void clear()
配列の開放
Definition: FvMultiData.h:142
virtual void reserve(size_type _Count)
配列容量の追加
Definition: FvMultiData.h:220
配列確保テンプレートクラスの基本クラス
Definition: FvAllocator.h:34
FVCLのネームスペース
Definition: EVCbasicDeclare.txt:9
領域確保不可例外クラス
Definition: FveBadAllocException.h:18
virtual void insert(iterator _Where, size_type _Count, const_reference _Val)
配列への要素の挿入
Definition: FvMultiData.h:182
FVCLの基底クラス
Definition: FvObject.h:23
CFvMultiData(const CFvMultiData< TYPE > &object)
コピーコンストラクタ
Definition: FvMultiData.h:55
TYPE & reference
参照型
Definition: FvMultiData.h:41
const INT FAILED_TO_ALLOCATE
メモリの確保に失敗しました。
Definition: FvErrors.h:15
int INT
整数型(32ビット)
Definition: FvDefs.h:36
配列走査テンプレートクラス
Definition: FvIterator.h:38
virtual size_type capacity() const
配列の許容量の取得
Definition: FvMultiData.h:136
virtual bool SwapItem(iterator _Where1, iterator _Where2)
配列要素の位置入れ替え
Definition: FvMultiData.h:243
virtual iterator end()
配列末尾の次の位置の取得
Definition: FvMultiData.h:124
virtual const_iterator begin() const
配列の先頭位置の取得
Definition: FvMultiData.h:118
virtual bool resize(size_type _Newsize, const_reference _Val)
配列の再確保
Definition: FvMultiData.h:208
virtual bool empty() const
要素の存在の確認
Definition: FvMultiData.h:148
virtual const_reference back() const
配列末尾の要素の取得
Definition: FvMultiData.h:106
virtual bool ChangeOrder(iterator _Where, INT _Order)
配列要素の順序入れ替え
Definition: FvMultiData.h:233
CFvIterator< TYPE > iterator
イテレータ型
Definition: FvMultiData.h:44
virtual CFvAllocator< TYPE > & get_allocator()
アロケータクラスの取得
Definition: FvMultiData.h:170
const TYPE & const_reference
参照型(const付き)
Definition: FvMultiData.h:42
CFvAllocator< TYPE > * m_alloc
アロケータクラスのオブジェクトへのポインタ
Definition: FvMultiData.h:291
const iterator const_iterator
イテレータ型(const付き)
Definition: FvMultiData.h:45
const TYPE * const_pointer
ポインタ型(const付き)
Definition: FvMultiData.h:40
virtual iterator begin()
配列の先頭位置の取得
Definition: FvMultiData.h:112
virtual iterator erase(iterator _Where)
要素の削除
Definition: FvMultiData.h:164
CFvAllocator< TYPE > * GetAllocator() const
配列確保クラスの取得
Definition: FvIterator.h:79
virtual ~CFvMultiData()
デストラクタ
Definition: FvMultiData.h:61
virtual iterator erase(iterator _First, iterator _Last)
要素の削除
Definition: FvMultiData.h:154
unsigned int UINT
整数型(32ビット)[符号なし]
Definition: FvDefs.h:37
size_type GetIndex() const
配列指標の取得
Definition: FvIterator.h:85
配列テンプレートクラスの基本クラス
Definition: FvMultiData.h:36
virtual bool resize(size_type _Newsize)
配列の再確保
Definition: FvMultiData.h:214
virtual reference at(size_type _Pos)
配列の任意の位置の要素取得
Definition: FvMultiData.h:76
virtual reference operator[](size_type uiIndex)
添字オペレータ
Definition: FvMultiData.h:257
virtual const_reference at(size_type _Pos) const
配列の任意の位置の要素取得
Definition: FvMultiData.h:82
UINT size_type
サイズ型
Definition: FvMultiData.h:43
virtual bool pop_back()
配列末尾の要素の削除
Definition: FvMultiData.h:202
CFvMultiData()
コンストラクタ
Definition: FvMultiData.h:49
virtual CFvMultiData< TYPE > & operator=(const CFvMultiData< TYPE > &ope)
代入オペレータ(=)
Definition: FvMultiData.h:269
TYPE * pointer
ポインタ型
Definition: FvMultiData.h:39
virtual reference back()
配列末尾の要素の取得
Definition: FvMultiData.h:100
virtual iterator insert(iterator _Where, const_reference _Val)
配列への要素の挿入
Definition: FvMultiData.h:188
virtual reference front()
配列の先頭の要素取得
Definition: FvMultiData.h:88
virtual const_reference front() const
配列の先頭の要素取得
Definition: FvMultiData.h:94
virtual bool GetPointer(INT id, void **val) const =0
インスタンスのthisポインタの取得
virtual size_type size() const
配列の要素数の取得
Definition: FvMultiData.h:226
virtual const_iterator end() const
配列末尾の次の位置の取得
Definition: FvMultiData.h:130
virtual const CFvAllocator< TYPE > & get_allocator() const
アロケータクラスの取得
Definition: FvMultiData.h:176