メインページ | ネームスペース一覧 | クラス階層 | 構成 | ファイル一覧 | ネームスペースメンバ | 構成メンバ | ファイルメンバ

クラス gslib::sapling::tree< Value, Allocator >::node

実際にアロケーションをするクラス [詳細]

gslib::sapling::tree< Value, Allocator >::nodeに対する継承グラフ

Inheritance graph
[凡例]
gslib::sapling::tree< Value, Allocator >::nodeのコラボレーション図

Collaboration graph
[凡例]
すべてのメンバ一覧

Public メソッド

size_type depth () const
node * parent ()
node * next ()
node * prev ()
node * begin ()
node * end ()
const node * parent () const
const node * next () const
const node * prev () const
const node * begin () const
const node * end () const
reference value ()
const_reference value () const
void next (link *n)
void prev (link *p)
void parent (link *p)
 node (const_reference v)

Private 変数

link self_children_
 子(開始〜終端)を格納


説明

template<typename Value, typename Allocator = std::allocator< void >>
class gslib::sapling::tree< Value, Allocator >::node

実際にアロケーションをするクラス

tree.h の 121 行で定義されています。


コンストラクタとデストラクタ

template<typename Value, typename Allocator = std::allocator< void >>
gslib::sapling::tree< Value, Allocator >::node::node (  const_reference  v  )  [inline]
 

tree.h の 189 行で定義されています。

参照先 gslib::sapling::tree< Value, Allocator >::node::self_children_.

00189                                           :
00190                     value_holder( v ),
00191                     self_children_( this ) {
00192                 }
            };


関数

template<typename Value, typename Allocator = std::allocator< void >>
const node* gslib::sapling::tree< Value, Allocator >::node::begin (   )  const [inline]
 

tree.h の 167 行で定義されています。

参照先 gslib::sapling::tree< Value, Allocator >::link::next, と gslib::sapling::tree< Value, Allocator >::node::self_children_.

00167                                           {
00168                     return static_cast< const node* >( self_children_.next );
00169                 }

template<typename Value, typename Allocator = std::allocator< void >>
node* gslib::sapling::tree< Value, Allocator >::node::begin (   )  [inline]
 

tree.h の 152 行で定義されています。

参照先 gslib::sapling::tree< Value, Allocator >::link::next, と gslib::sapling::tree< Value, Allocator >::node::self_children_.

参照元 gslib::sapling::tree< Value, Allocator >::const_post_order_iterator::bottom(), gslib::sapling::tree< Value, Allocator >::const_post_order_iterator::down(), gslib::sapling::tree< Value, Allocator >::const_pre_order_iterator::down_front(), gslib::sapling::tree< Value, Allocator >::has_child(), と gslib::sapling::tree< Value, Allocator >::is_begin().

00152                                 {
00153                     return static_cast< node* >( self_children_.next );
00154                 }

template<typename Value, typename Allocator = std::allocator< void >>
size_type gslib::sapling::tree< Value, Allocator >::node::depth (   )  const [inline]
 

戻り値:
0 root
tree::npos root end ( = tree.end() )
others distance from root

tree.h の 131 行で定義されています。

参照先 gslib::sapling::tree< Value, Allocator >::is_root(), gslib::sapling::tree< Value, Allocator >::is_root_end(), gslib::sapling::tree< Value, Allocator >::node::parent(), と gslib::sapling::tree< Value, Allocator >::size_type.

参照元 gslib::sapling::tree< Value, Allocator >::iterator_base::depth().

00131                                         {
00132                     if ( is_root_end( this ) ) {
00133                         return npos;
00134                     }
00135                     size_type i = 0;
00136                     const node* n = this;
00137                     while ( false == is_root( n ) ) {
00138                         ++i;
00139                         n = n->parent();
00140                     }
00141                     return i;
00142                 }

関数の呼び出しグラフ:

template<typename Value, typename Allocator = std::allocator< void >>
const node* gslib::sapling::tree< Value, Allocator >::node::end (   )  const [inline]
 

tree.h の 170 行で定義されています。

参照先 gslib::sapling::tree< Value, Allocator >::node::self_children_.

00170                                         {
00171                     return static_cast< const node* >( &self_children_ );
00172                 }

template<typename Value, typename Allocator = std::allocator< void >>
node* gslib::sapling::tree< Value, Allocator >::node::end (   )  [inline]
 

tree.h の 155 行で定義されています。

参照先 gslib::sapling::tree< Value, Allocator >::node::self_children_.

参照元 gslib::sapling::tree< Value, Allocator >::const_post_order_iterator::bottom(), gslib::sapling::tree< Value, Allocator >::const_pre_order_iterator::down_back(), gslib::sapling::tree< Value, Allocator >::get_parent(), gslib::sapling::tree< Value, Allocator >::has_child(), gslib::sapling::tree< Value, Allocator >::is_back(), と gslib::sapling::tree< Value, Allocator >::is_end().

00155                               {
00156                     return static_cast< node* >( &self_children_ );
00157                 }

template<typename Value, typename Allocator = std::allocator< void >>
void gslib::sapling::tree< Value, Allocator >::node::next (  link *  n  )  [inline]
 

tree.h の 179 行で定義されています。

00179                                      {
00180                     value_holder::next = n;
00181                 }

template<typename Value, typename Allocator = std::allocator< void >>
const node* gslib::sapling::tree< Value, Allocator >::node::next (   )  const [inline]
 

tree.h の 161 行で定義されています。

00161                                          {
00162                     return static_cast< const node* >( value_holder::next );
00163                 }

template<typename Value, typename Allocator = std::allocator< void >>
node* gslib::sapling::tree< Value, Allocator >::node::next (   )  [inline]
 

tree.h の 146 行で定義されています。

参照元 gslib::sapling::tree< Value, Allocator >::insert().

00146                                {
00147                     return static_cast< node* >( value_holder::next );
00148                 }

template<typename Value, typename Allocator = std::allocator< void >>
void gslib::sapling::tree< Value, Allocator >::node::parent (  link *  p  )  [inline]
 

tree.h の 185 行で定義されています。

00185                                        {
00186                     value_holder::parent = static_cast< root_end* >( p );
00187                 }

template<typename Value, typename Allocator = std::allocator< void >>
const node* gslib::sapling::tree< Value, Allocator >::node::parent (   )  const [inline]
 

tree.h の 158 行で定義されています。

00158                                            {
00159                     return static_cast< const node* >( value_holder::parent );
00160                 }

template<typename Value, typename Allocator = std::allocator< void >>
node* gslib::sapling::tree< Value, Allocator >::node::parent (   )  [inline]
 

tree.h の 143 行で定義されています。

参照元 gslib::sapling::tree< Value, Allocator >::const_post_order_iterator::decrement(), gslib::sapling::tree< Value, Allocator >::node::depth(), gslib::sapling::tree< Value, Allocator >::get_parent(), と gslib::sapling::tree< Value, Allocator >::insert().

00143                                  {
00144                     return static_cast< node* >( value_holder::parent );
00145                 }

template<typename Value, typename Allocator = std::allocator< void >>
void gslib::sapling::tree< Value, Allocator >::node::prev (  link *  p  )  [inline]
 

tree.h の 182 行で定義されています。

00182                                      {
00183                     value_holder::prev = p;
00184                 }

template<typename Value, typename Allocator = std::allocator< void >>
const node* gslib::sapling::tree< Value, Allocator >::node::prev (   )  const [inline]
 

tree.h の 164 行で定義されています。

00164                                          {
00165                     return static_cast< const node* >( value_holder::prev );
00166                 }

template<typename Value, typename Allocator = std::allocator< void >>
node* gslib::sapling::tree< Value, Allocator >::node::prev (   )  [inline]
 

tree.h の 149 行で定義されています。

参照元 gslib::sapling::tree< Value, Allocator >::const_pre_order_iterator::down_back(), gslib::sapling::tree< Value, Allocator >::insert(), と gslib::sapling::tree< Value, Allocator >::is_back().

00149                                {
00150                     return static_cast< node* >( value_holder::prev );
00151                 }

template<typename Value, typename Allocator = std::allocator< void >>
const_reference gslib::sapling::tree< Value, Allocator >::node::value (   )  const [inline]
 

tree.h の 176 行で定義されています。

00176                                               {
00177                     return value_holder::value;
00178                 }

template<typename Value, typename Allocator = std::allocator< void >>
reference gslib::sapling::tree< Value, Allocator >::node::value (   )  [inline]
 

tree.h の 173 行で定義されています。

参照先 gslib::sapling::tree< Value, Allocator >::reference.

参照元 gslib::sapling::tree< Value, Allocator >::root().

00173                                     {
00174                     return value_holder::value;
00175                 }


変数

template<typename Value, typename Allocator = std::allocator< void >>
link gslib::sapling::tree< Value, Allocator >::node::self_children_ [private]
 

子(開始〜終端)を格納

tree.h の 122 行で定義されています。

参照元 gslib::sapling::tree< Value, Allocator >::node::begin(), gslib::sapling::tree< Value, Allocator >::node::end(), と gslib::sapling::tree< Value, Allocator >::node::node().


このクラスの説明は次のファイルから生成されました:
saplingに対してSat Nov 27 15:04:07 2004に生成されました。 doxygen 1.3.6