#include <tree.h>
gslib::sapling::tree< Value, Allocator >::const_pre_order_iteratorに対する継承グラフ
Public メソッド | |
void | increment () |
void | decrement () |
const_pre_order_iterator | parent () |
const_pre_order_iterator | next () |
const_pre_order_iterator | prev () |
const_pre_order_iterator | begin () |
const_pre_order_iterator | end () |
const_pre_order_iterator () | |
const_pre_order_iterator (const value_holder *lnk) | |
Private メソッド | |
void | down_front () |
void | down_back () |
void | up () |
void | bottom_back () |
下がれるところまで下がる | |
フレンド | |
class | tree |
|
|
00537 : iterator_base( const_cast< value_holder* >( lnk ) ) {} |
|
参照先 gslib::sapling::tree< Value, Allocator >::const_pre_order_iterator::const_pre_order_iterator(), と gslib::sapling::tree< Value, Allocator >::iterator_base::self().
00528 { 00529 BOOST_ASSERT( cur_ && self() ); 00530 return const_pre_order_iterator( self()->begin() ); 00531 } |
関数の呼び出しグラフ:
|
関数の呼び出しグラフ:
|
参照先 gslib::sapling::tree< Value, Allocator >::const_pre_order_iterator::bottom_back(), gslib::sapling::tree< Value, Allocator >::is_begin(), gslib::sapling::tree< Value, Allocator >::is_root(), gslib::sapling::tree< Value, Allocator >::is_root_end(), と gslib::sapling::tree< Value, Allocator >::const_pre_order_iterator::up().
00505 { 00506 if ( false == is_root_end( cur_ ) && ( is_root( cur_ ) || is_begin( cur_ ) ) ) { 00507 up(); 00508 } else { 00509 iterator_base::link_prev(); 00510 bottom_back(); 00511 } 00512 } |
関数の呼び出しグラフ:
|
関数の呼び出しグラフ:
|
関数の呼び出しグラフ:
|
00533 { 00534 return *this; 00535 } |
|
参照先 gslib::sapling::tree< Value, Allocator >::const_pre_order_iterator::down_front(), gslib::sapling::tree< Value, Allocator >::has_child(), gslib::sapling::tree< Value, Allocator >::is_end(), gslib::sapling::tree< Value, Allocator >::is_root_end(), と gslib::sapling::tree< Value, Allocator >::const_pre_order_iterator::up().
00490 { 00491 if ( is_root_end( cur_ ) ) { 00492 iterator_base::link_next(); 00493 } else if ( has_child( cur_ ) ) { 00494 down_front(); 00495 } else { 00496 iterator_base::link_next(); 00497 while ( false == is_root_end( cur_ ) && is_end( cur_ ) ) { 00498 // 終端である限り上がり続ける 00499 up(); 00500 iterator_base::link_next(); 00501 } 00502 } 00503 } |
関数の呼び出しグラフ:
|
参照先 gslib::sapling::tree< Value, Allocator >::const_pre_order_iterator::const_pre_order_iterator(), と gslib::sapling::tree< Value, Allocator >::iterator_base::self().
00518 { 00519 BOOST_ASSERT( cur_ && self() ); 00520 return const_pre_order_iterator( self()->next() ); 00521 } |
関数の呼び出しグラフ:
|
参照先 gslib::sapling::tree< Value, Allocator >::const_pre_order_iterator::const_pre_order_iterator(), gslib::sapling::tree< Value, Allocator >::get_parent(), と gslib::sapling::tree< Value, Allocator >::iterator_base::self().
00513 { 00514 BOOST_ASSERT( cur_ && self() ); 00515 return const_pre_order_iterator( get_parent( cur_ ) ); 00516 } |
関数の呼び出しグラフ:
|
参照先 gslib::sapling::tree< Value, Allocator >::const_pre_order_iterator::const_pre_order_iterator(), と gslib::sapling::tree< Value, Allocator >::iterator_base::self().
00523 { 00524 BOOST_ASSERT( cur_ && self() ); 00525 return const_pre_order_iterator( self()->prev() ); 00526 } |
関数の呼び出しグラフ:
|
関数の呼び出しグラフ:
|
gslib::sapling::tree< Value, Allocator >::iterator_baseを再定義しています。 |