#include <lodge_list.h>
gslib::static_container::lodge_list< Value >に対する継承グラフ
Public 型 | |
typedef list_link | link |
typedef list_node< Value > | node |
typedef abstruct_list_node_pool< Value > | pool |
typedef boost::call_traits< Value >::param_type | param_type |
Public メソッド | |
lodge_list (pool &ioPool) | |
lodge_list (const lodge_list &other) | |
~lodge_list () | |
lodge_list & | operator= (const lodge_list &other) |
iterator | begin () |
iterator | end () |
const_iterator | begin () const |
const_iterator | end () const |
reference | push_back () |
Value * | allocate (iterator pos=end()) |
ノードは、pos の直前に連結される | |
void | insert (iterator pos, param_type v) |
prev = pos - 1 とすると、元々 prev, pos と接続されていたものが、prev, v, pos の順に接続される。 | |
template<typename It> void | insert (iterator pos, It first, It last) |
prev = pos - 1 とすると、元々 prev, pos と接続されていたものが、prev, v, pos の順に接続される。 | |
void | push_front (param_type v) |
先頭に追加 | |
void | push_back (param_type v) |
末尾に追加 | |
void | erase (iterator pos) |
pos で示される要素を削除 | |
void | erase (iterator first, iterator last) |
区間 [ first, last ) を削除 | |
void | clear () |
クリア(全要素削除) | |
void | pop_front () |
先頭を削除 | |
void | pop_back () |
末尾を削除 | |
void | remove (const Value &value) |
値 value を持つ要素を削除する | |
template<typename Pred> void | remove_if (Pred pred) |
pred( *it ) が true を返すときに it を削除する | |
size_type | size () const |
サイズ取得 | |
bool | empty () const |
空かどうか? | |
reference | front () |
先頭を取得 | |
param_type | front () const |
先頭を取得 | |
reference | back () |
末尾を取得 | |
param_type | back () const |
末尾を取得 | |
Private メソッド | |
void | init () |
Static Private メソッド | |
void | destruct (Value &v) |
Private 変数 | |
link | end_ |
pool * | pool_ |
lodge_list 利用中に list_node_pool を破棄してはならない。
http://www.alc.co.jp/ で、 lodge = 【自動-1】 泊まる、宿泊{しゅくはく}する、下宿{げしゅく}する とあったので、命名したが、もっと良い名前があれば、随時募集。
lodge_list.h の 80 行で定義されています。
|
lodge_list.h の 82 行で定義されています。 |
|
lodge_list.h の 83 行で定義されています。 |
|
lodge_list.h の 87 行で定義されています。 |
|
gslib::static_container::list< Value, MaxSize >, と gslib::static_container::list< std::pair< Key, Value >, MaxSize >で再定義されています。 lodge_list.h の 85 行で定義されています。 |
|
lodge_list.h の 230 行で定義されています。
|
|
lodge_list.h の 233 行で定義されています。
|
|
lodge_list.h の 237 行で定義されています。
00237 { 00238 clear(); 00239 } |
|
ノードは、pos の直前に連結される
lodge_list.h の 273 行で定義されています。 参照元 gslib::static_container::lodge_list< std::pair< Key, Value > >::insert().
|
|
末尾を取得
lodge_list.h の 393 行で定義されています。
00393 { 00394 return *( --end() ); 00395 } |
|
末尾を取得
lodge_list.h の 389 行で定義されています。
00389 { 00390 return *( --end() ); 00391 } |
|
lodge_list.h の 256 行で定義されています。
00256 { 00257 return const_iterator( end_.next ); 00258 } |
|
|
|
lodge_list.h の 89 行で定義されています。 参照元 gslib::static_container::lodge_list< std::pair< Key, Value > >::erase().
00089 { 00090 static_container::destruct< Value >( v ); 00091 } |
|
空かどうか?
lodge_list.h の 376 行で定義されています。
|
|
lodge_list.h の 259 行で定義されています。
00259 {
00260 return const_iterator( &end_ );
00261 }
|
|
|
区間 [ first, last ) を削除
lodge_list.h の 328 行で定義されています。
00328 { 00329 // 解放 00330 std::for_each( first, last, destruct ); 00331 // node を pool に返す 00332 pool_->deallocate( first.getNode(), last.getNode() ); 00333 } |
|
|
先頭を取得
lodge_list.h の 385 行で定義されています。
00385 { 00386 return *begin(); 00387 } |
|
先頭を取得
lodge_list.h の 381 行で定義されています。
00381 { 00382 return *begin(); 00383 } |
|
lodge_list.h の 224 行で定義されています。 参照元 gslib::static_container::lodge_list< std::pair< Key, Value > >::lodge_list().
|
|
prev = pos - 1 とすると、元々 prev, pos と接続されていたものが、prev, v, pos の順に接続される。
lodge_list.h の 300 行で定義されています。
00300 { 00301 for ( ; first != last; ++first ) { 00302 Value* val = allocate( pos ); 00303 // コンストラクタ呼び出し 00304 new( val ) Value( *first ); 00305 } 00306 } |
|
prev = pos - 1 とすると、元々 prev, pos と接続されていたものが、prev, v, pos の順に接続される。
lodge_list.h の 289 行で定義されています。 参照元 gslib::static_container::list< std::pair< Key, Value >, MaxSize >::list(), gslib::static_container::lodge_list< std::pair< Key, Value > >::lodge_list(), gslib::static_container::lodge_list< std::pair< Key, Value > >::operator=(), gslib::static_container::list< std::pair< Key, Value >, MaxSize >::operator=(), gslib::static_container::lodge_list< std::pair< Key, Value > >::push_back(), と gslib::static_container::lodge_list< std::pair< Key, Value > >::push_front().
00289 { 00290 Value* val = allocate( pos ); 00291 // コンストラクタ呼び出し 00292 new( val ) Value( v ); 00293 } |
|
lodge_list.h の 241 行で定義されています。
|
|
末尾を削除
lodge_list.h の 346 行で定義されています。
|
|
先頭を削除
lodge_list.h の 341 行で定義されています。
|
|
末尾に追加
lodge_list.h の 314 行で定義されています。
|
|
lodge_list.h の 263 行で定義されています。
|
|
先頭に追加
lodge_list.h の 309 行で定義されています。
|
|
値 value を持つ要素を削除する
lodge_list.h の 351 行で定義されています。
00351 { 00352 remove_if( std::bind2nd( std::equal_to< value_type >(), value ) ); 00353 } |
|
pred( *it ) が true を返すときに it を削除する
lodge_list.h の 360 行で定義されています。 参照元 gslib::static_container::lodge_list< std::pair< Key, Value > >::remove().
|
|
サイズ取得
lodge_list.h の 371 行で定義されています。
|
|
lodge_list.h の 221 行で定義されています。 |
|
lodge_list.h の 222 行で定義されています。 参照元 gslib::static_container::lodge_list< std::pair< Key, Value > >::operator=(). |