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

クラス 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
nodeparent ()
nodenext ()
nodeprev ()
nodebegin ()
nodeend ()
const nodeparent () const
const nodenext () const
const nodeprev () const
const nodebegin () const
const nodeend () 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.h121 行で定義されています。


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

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

tree.h189 行で定義されています。

参照先 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.h167 行で定義されています。

参照先 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.h152 行で定義されています。

参照先 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.h131 行で定義されています。

参照先 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.h170 行で定義されています。

参照先 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.h155 行で定義されています。

参照先 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.h179 行で定義されています。

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.h161 行で定義されています。

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.h146 行で定義されています。

参照元 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.h185 行で定義されています。

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.h158 行で定義されています。

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.h143 行で定義されています。

参照元 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.h182 行で定義されています。

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.h164 行で定義されています。

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.h149 行で定義されています。

参照元 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.h176 行で定義されています。

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.h173 行で定義されています。

参照先 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.h122 行で定義されています。

参照元 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