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

クラス テンプレートgslib::sapling::tree< Value, Allocator >

STL コンテナ風の木クラス。. [詳細]

#include <tree.h>

gslib::sapling::tree< Value, Allocator >のコラボレーション図

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

Public 型

typedef Value value_type
typedef value_typereference
typedef const value_typeconst_reference
typedef size_t size_type
typedef sibling_iterator iterator
typedef const_sibling_iterator const_iterator

Public メソッド

template<typename It> It insert (It &ioWhere, const Value &v)
void erase (iterator_base &it)
void clear ()
void root (const_reference v)
 ルートが存在しない場合はルートを作成する。 すでにルートが存在する場合は v で上書きする。

reference root ()
const_reference root () const
iterator begin ()
iterator end ()
const_iterator begin () const
const_iterator end () const
bool empty () const
 tree (const Allocator &allocator=Allocator())
void swap (tree &other)
 tree (const tree &other)
treeoperator= (const tree &other)
 ~tree ()

Static Public 変数

const size_type npos = ~0
const size_type allocation_size = sizeof ( node )
 tree が一度にアロケーションする大きさ ( メモリプールなどに利用する )


Private 型

typedef Allocator::rebind<
node >::other 
allocator_type

Private メソッド

noderoot_ptr ()
const noderoot_ptr () const
void connect_root (link *root)
void copy (const_sibling_iterator first, const_sibling_iterator last, sibling_iterator out_last)

Static Private メソッド

nodeget_node (link *lnk)
bool has_child (const link *lnk)
bool is_root_end (const link *lnk)
nodeget_parent (link *lnk)
const nodeget_parent (const link *lnk)
bool is_end (link *lnk)
bool is_back (link *lnk)
bool is_begin (link *lnk)
bool is_root (const link *lnk)

Private 変数

allocator_type allocator_
root_end end_

説明

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

STL コンテナ風の木クラス。.

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


型定義

template<typename Value, typename Allocator = std::allocator< void >>
typedef Allocator::rebind< node >::other gslib::sapling::tree< Value, Allocator >::allocator_type [private]
 

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

template<typename Value, typename Allocator = std::allocator< void >>
typedef const_sibling_iterator gslib::sapling::tree< Value, Allocator >::const_iterator
 

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

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

template<typename Value, typename Allocator = std::allocator< void >>
typedef const value_type& gslib::sapling::tree< Value, Allocator >::const_reference
 

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

template<typename Value, typename Allocator = std::allocator< void >>
typedef sibling_iterator gslib::sapling::tree< Value, Allocator >::iterator
 

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

template<typename Value, typename Allocator = std::allocator< void >>
typedef value_type& gslib::sapling::tree< Value, Allocator >::reference
 

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

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

template<typename Value, typename Allocator = std::allocator< void >>
typedef size_t gslib::sapling::tree< Value, Allocator >::size_type
 

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

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

template<typename Value, typename Allocator = std::allocator< void >>
typedef Value gslib::sapling::tree< Value, Allocator >::value_type
 

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

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


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

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

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

00652                                                                       :
00653                 allocator_( allocator ) {
00654             }
            

template<typename Value, typename Allocator = std::allocator< void >>
gslib::sapling::tree< Value, Allocator >::tree const tree< Value, Allocator > &  other  )  [inline]
 

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

参照先 gslib::sapling::tree< Value, Allocator >::const_sibling_iterator::begin(), gslib::sapling::tree< Value, Allocator >::copy(), gslib::sapling::tree< Value, Allocator >::empty(), gslib::sapling::tree< Value, Allocator >::const_sibling_iterator::end(), と gslib::sapling::tree< Value, Allocator >::root().

00676                                       {
00677                 if ( false == other.empty() ) {
00678                     root( other.root() );
00679                     const_sibling_iterator it = other.begin_sibling();
00680                     copy( it.begin(), it.end(), begin_sibling().end() );
00681                 }
00682             }

関数の呼び出しグラフ:

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

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

参照先 gslib::sapling::tree< Value, Allocator >::clear().

00690                     {
00691                 clear();
00692             }

関数の呼び出しグラフ:


関数

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

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

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

00642                                          {
00643                 return begin_sibling();
00644             }

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

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

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

00634                              {
00635                 return begin_sibling();
00636             }

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

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

参照先 gslib::sapling::tree< Value, Allocator >::begin(), と gslib::sapling::tree< Value, Allocator >::erase().

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

00590                          {
00591                 erase( begin() );
00592             }

関数の呼び出しグラフ:

template<typename Value, typename Allocator = std::allocator< void >>
void gslib::sapling::tree< Value, Allocator >::connect_root link root  )  [inline, private]
 

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

参照先 gslib::sapling::tree< Value, Allocator >::end_, gslib::sapling::tree< Value, Allocator >::link::next, gslib::sapling::tree< Value, Allocator >::root_end::parent, gslib::sapling::tree< Value, Allocator >::link::prev, と gslib::sapling::tree< Value, Allocator >::link::self.

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

00595                                             {
00596                 BOOST_ASSERT( root == root->self );
00597                 end_.next = root;
00598                 end_.prev = root;
00599                 root->next = &end_;
00600                 root->prev = &end_;
00601                 static_cast< node* >( root )->parent( &end_ );
00602             }

template<typename Value, typename Allocator = std::allocator< void >>
void gslib::sapling::tree< Value, Allocator >::copy const_sibling_iterator  first,
const_sibling_iterator  last,
sibling_iterator  out_last
[inline, private]
 

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

参照先 gslib::sapling::tree< Value, Allocator >::const_sibling_iterator::begin(), gslib::sapling::tree< Value, Allocator >::const_sibling_iterator::end(), と gslib::sapling::tree< Value, Allocator >::insert().

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

00603                                                                                                               {
00604                 for ( const_sibling_iterator it = first; it != last; ++it ) {
00605                     copy(
00606                         it.begin(),
00607                         it.end(),
00608                         insert( out_last, *it ).end() );
00609                 }
00610             }

関数の呼び出しグラフ:

template<typename Value, typename Allocator = std::allocator< void >>
bool gslib::sapling::tree< Value, Allocator >::empty  )  const [inline]
 

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

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

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

00650 { return end_.next == &end_; }

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

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

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

00646                                        {
00647                 return end_sibling();
00648             }

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

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

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

00638                            {
00639                 return end_sibling();
00640             }

template<typename Value, typename Allocator = std::allocator< void >>
void gslib::sapling::tree< Value, Allocator >::erase iterator_base it  )  [inline]
 

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

参照先 gslib::sapling::tree< Value, Allocator >::iterator_base::cur_, gslib::sapling::tree< Value, Allocator >::empty(), gslib::sapling::tree< Value, Allocator >::link::next, gslib::sapling::tree< Value, Allocator >::link::prev, と gslib::sapling::tree< Value, Allocator >::iterator_base::self().

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

00568                                             {
00569                 if ( empty() ) {
00570                     //  すでに空なので、何もしない
00571                     return;
00572                 }
00573                 
00574                 post_order_iterator first = post_order_iterator( it.self() );
00575                 first.bottom();
00576                 post_order_iterator last = post_order_iterator( it.self() );
00577                 for ( post_order_iterator j = first; j != last; ) {
00578                     post_order_iterator del( j++ );
00579                     del.self()->~node();
00580                     allocator_.deallocate( del.self(), 1 );
00581                 }
00582                 link* n = it.cur_->next;
00583                 link* p = it.cur_->prev;
00584                 p->next = n;
00585                 n->prev = p;
00586                 it.self()->~node();
00587                 allocator_.deallocate( it.self(), 1 );
00588             }

関数の呼び出しグラフ:

template<typename Value, typename Allocator = std::allocator< void >>
node* gslib::sapling::tree< Value, Allocator >::get_node link lnk  )  [inline, static, private]
 

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

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

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

00236                                                {
00237                 return static_cast< node* >( lnk->self );
00238             }

template<typename Value, typename Allocator = std::allocator< void >>
const node* gslib::sapling::tree< Value, Allocator >::get_parent const link lnk  )  [inline, static, private]
 

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

参照先 gslib::sapling::tree< Value, Allocator >::node::end(), gslib::sapling::tree< Value, Allocator >::node::parent(), と gslib::sapling::tree< Value, Allocator >::link::self.

00254                                                              {
00255                 const node* n = static_cast< const node* >( lnk->self );
00256                 return lnk == n->end() ? n : static_cast< const node* >( n->parent() );
00257             }

関数の呼び出しグラフ:

template<typename Value, typename Allocator = std::allocator< void >>
node* gslib::sapling::tree< Value, Allocator >::get_parent link lnk  )  [inline, static, private]
 

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

参照先 gslib::sapling::tree< Value, Allocator >::node::end(), gslib::sapling::tree< Value, Allocator >::node::parent(), と gslib::sapling::tree< Value, Allocator >::link::self.

参照元 gslib::sapling::tree< Value, Allocator >::insert(), gslib::sapling::tree< Value, Allocator >::is_back(), gslib::sapling::tree< Value, Allocator >::is_begin(), gslib::sapling::tree< Value, Allocator >::is_root(), gslib::sapling::tree< Value, Allocator >::const_pre_order_iterator::parent(), gslib::sapling::tree< Value, Allocator >::const_post_order_iterator::parent(), gslib::sapling::tree< Value, Allocator >::const_sibling_iterator::parent(), gslib::sapling::tree< Value, Allocator >::const_pre_order_iterator::up(), と gslib::sapling::tree< Value, Allocator >::const_post_order_iterator::up().

00249                                                  {
00250                 node* n = static_cast< node* >( lnk->self );
00251                 return lnk == n->end() ? n : static_cast< node* >( n->parent() );
00252             }

関数の呼び出しグラフ:

template<typename Value, typename Allocator = std::allocator< void >>
bool gslib::sapling::tree< Value, Allocator >::has_child const link lnk  )  [inline, static, private]
 

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

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

参照元 gslib::sapling::tree< Value, Allocator >::const_pre_order_iterator::bottom_back(), と gslib::sapling::tree< Value, Allocator >::const_pre_order_iterator::increment().

00240                                                      {
00241                 const node* n = static_cast< const node* >( lnk->self );
00242                 return n->begin() != n->end();
00243             }

関数の呼び出しグラフ:

template<typename Value, typename Allocator = std::allocator< void >>
template<typename It>
It gslib::sapling::tree< Value, Allocator >::insert It &  ioWhere,
const Value &  v
[inline]
 

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

参照先 gslib::sapling::tree< Value, Allocator >::connect_root(), gslib::sapling::tree< Value, Allocator >::empty(), gslib::sapling::tree< Value, Allocator >::end_, gslib::sapling::tree< Value, Allocator >::get_parent(), gslib::sapling::tree< Value, Allocator >::node::next(), gslib::sapling::tree< Value, Allocator >::link::next, gslib::sapling::tree< Value, Allocator >::node::parent(), gslib::sapling::tree< Value, Allocator >::link::prev, gslib::sapling::tree< Value, Allocator >::node::prev(), と gslib::sapling::tree< Value, Allocator >::root_ptr().

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

00546                                                      {
00547                 node* n;
00548                 if ( &end_ == ioWhere.cur_ ) {
00549                     BOOST_ASSERT( empty() );
00550                     n = new( allocator_.allocate( 1 ) ) node( v );
00551                     connect_root( n );
00552                 } else {
00553                     BOOST_ASSERT( root_ptr() != ioWhere.cur_ );
00554                     value_holder* w = ioWhere.cur_;
00555                     link* p = ioWhere.cur_->prev;
00556                     
00557                     n = new( allocator_.allocate( 1 ) ) node( v );
00558                     
00559                     p->next = n;
00560                     n->prev( p );
00561                     n->parent( get_parent( w ) );
00562                     n->next( w );
00563                     w->prev = n;
00564                 }       
00565                 return It( n );
00566             }

関数の呼び出しグラフ:

template<typename Value, typename Allocator = std::allocator< void >>
bool gslib::sapling::tree< Value, Allocator >::is_back link lnk  )  [inline, static, private]
 

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

参照先 gslib::sapling::tree< Value, Allocator >::node::end(), gslib::sapling::tree< Value, Allocator >::get_parent(), と gslib::sapling::tree< Value, Allocator >::node::prev().

00263                                              {
00264                 return lnk == get_parent( lnk )->end()->prev;
00265             }

関数の呼び出しグラフ:

template<typename Value, typename Allocator = std::allocator< void >>
bool gslib::sapling::tree< Value, Allocator >::is_begin link lnk  )  [inline, static, private]
 

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

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

参照元 gslib::sapling::tree< Value, Allocator >::const_pre_order_iterator::decrement(), と gslib::sapling::tree< Value, Allocator >::const_post_order_iterator::decrement().

00267                                               {
00268                 return lnk == get_parent( lnk )->begin();
00269             }

関数の呼び出しグラフ:

template<typename Value, typename Allocator = std::allocator< void >>
bool gslib::sapling::tree< Value, Allocator >::is_end link lnk  )  [inline, static, private]
 

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

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

参照元 gslib::sapling::tree< Value, Allocator >::const_pre_order_iterator::increment(), と gslib::sapling::tree< Value, Allocator >::const_post_order_iterator::increment().

00259                                             {
00260                 return lnk == get_node( lnk )->end();
00261             }

関数の呼び出しグラフ:

template<typename Value, typename Allocator = std::allocator< void >>
bool gslib::sapling::tree< Value, Allocator >::is_root const link lnk  )  [inline, static, private]
 

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

参照先 gslib::sapling::tree< Value, Allocator >::get_parent(), と gslib::sapling::tree< Value, Allocator >::is_root_end().

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

00271                                                    {
00272                 return is_root_end( get_parent( lnk ) );
00273             }

関数の呼び出しグラフ:

template<typename Value, typename Allocator = std::allocator< void >>
bool gslib::sapling::tree< Value, Allocator >::is_root_end const link lnk  )  [inline, static, private]
 

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

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

00245                                                        {
00246                 return 0 == static_cast< const root_end* >( lnk )->parent;
00247             }

template<typename Value, typename Allocator = std::allocator< void >>
tree& gslib::sapling::tree< Value, Allocator >::operator= const tree< Value, Allocator > &  other  )  [inline]
 

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

参照先 gslib::sapling::tree< Value, Allocator >::swap().

00684                                                    {
00685                 tree deadbeef( other );
00686                 deadbeef.swap( *this );
00687                 return *this;
00688             }

関数の呼び出しグラフ:

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

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

参照先 gslib::sapling::tree< Value, Allocator >::root_ptr(), gslib::sapling::tree< Value, Allocator >::node::value(), と gslib::sapling::tree< Value, Allocator >::value_type.

00630                                          {
00631                 return root_ptr() ? root_ptr()->value() : *( ( value_type* ) 0 );
00632             }

関数の呼び出しグラフ:

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

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

参照先 gslib::sapling::tree< Value, Allocator >::reference, gslib::sapling::tree< Value, Allocator >::root_ptr(), gslib::sapling::tree< Value, Allocator >::node::value(), と gslib::sapling::tree< Value, Allocator >::value_type.

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

00627                              {
00628                 return root_ptr() ? root_ptr()->value() : *( ( value_type* ) 0 );
00629             }

関数の呼び出しグラフ:

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

ルートが存在しない場合はルートを作成する。 すでにルートが存在する場合は v で上書きする。

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

参照先 gslib::sapling::tree< Value, Allocator >::empty(), gslib::sapling::tree< Value, Allocator >::end(), gslib::sapling::tree< Value, Allocator >::insert(), と gslib::sapling::tree< Value, Allocator >::root().

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

00617                                            {
00618                 if ( empty() ) {
00619                     //  root 作成
00620                     insert( end(), v );
00621                 } else {
00622                     //  root 上書き
00623                     root() = v;
00624                 }
00625             }

関数の呼び出しグラフ:

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

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

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

00283                                          {
00284                 return static_cast< node* >( end_.next->self );
00285             }

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

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

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

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

00280                              {
00281                 return static_cast< node* >( end_.next->self );
00282             }

template<typename Value, typename Allocator = std::allocator< void >>
void gslib::sapling::tree< Value, Allocator >::swap tree< Value, Allocator > &  other  )  [inline]
 

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

参照先 gslib::sapling::tree< Value, Allocator >::allocator_, gslib::sapling::tree< Value, Allocator >::connect_root(), gslib::sapling::tree< Value, Allocator >::end_, gslib::sapling::tree< Value, Allocator >::link::next, と gslib::sapling::tree< Value, Allocator >::link::prev.

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

00656                                      {
00657                 std::swap( allocator_, other.allocator_ );
00658                 if ( end_.prev == &end_ ) {
00659                     if ( other.end_.next != &other.end_ ) {
00660                         connect_root( other.end_.next );
00661                     }
00662                     other.end_.prev = &other.end_;
00663                     other.end_.next = &other.end_;
00664                 } else if ( other.end_.next == &other.end_ ) {
00665                     other.connect_root( end_.next );
00666                     end_.prev = &end_;
00667                     end_.next = &end_;
00668                 } else {
00669                     //  双方とも子を持っている
00670                     link* other_root = other.end_.next;
00671                     other.connect_root( end_.next );
00672                     connect_root( other_root );
00673                 }
00674             }

関数の呼び出しグラフ:


変数

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

tree が一度にアロケーションする大きさ ( メモリプールなどに利用する )

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

template<typename Value, typename Allocator = std::allocator< void >>
allocator_type gslib::sapling::tree< Value, Allocator >::allocator_ [private]
 

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

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

template<typename Value, typename Allocator = std::allocator< void >>
root_end gslib::sapling::tree< Value, Allocator >::end_ [private]
 

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

参照元 gslib::sapling::tree< Value, Allocator >::connect_root(), gslib::sapling::tree< Value, Allocator >::empty(), gslib::sapling::tree< Value, Allocator >::insert(), gslib::sapling::tree< Value, Allocator >::root_ptr(), と gslib::sapling::tree< Value, Allocator >::swap().

template<typename Value, typename Allocator = std::allocator< void >>
const size_type gslib::sapling::tree< Value, Allocator >::npos = ~0 [static]
 

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


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