STXXL  1.4-dev
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
stxxl::btree::normal_leaf< KeyType, DataType, KeyCmp, LogNElem, BTreeType > Class Template Reference

Detailed Description

template<class KeyType, class DataType, class KeyCmp, unsigned LogNElem, class BTreeType>
class stxxl::btree::normal_leaf< KeyType, DataType, KeyCmp, LogNElem, BTreeType >

Definition at line 33 of file iterator.h.

+ Inheritance diagram for stxxl::btree::normal_leaf< KeyType, DataType, KeyCmp, LogNElem, BTreeType >:
+ Collaboration diagram for stxxl::btree::normal_leaf< KeyType, DataType, KeyCmp, LogNElem, BTreeType >:

Classes

struct  metainfo_type
 
struct  value_compare
 

Public Types

enum  { raw_size = RawSize }
 
enum  { nelements = block_type::size - 1, max_size = nelements, min_size = nelements / 2 }
 
typedef BID< raw_sizebid_type
 
typedef typed_block< raw_size,
value_type, 0, metainfo_type
block_type
 
typedef BTreeType btree_type
 
typedef btree_const_iterator
< btree_type
const_iterator
 
typedef const value_typeconst_reference
 
typedef DataType data_type
 
typedef btree_iterator
< btree_type
iterator
 
typedef btree_iterator_base
< btree_type
iterator_base
 
typedef KeyCmp key_compare
 
typedef KeyType key_type
 
typedef node_cache
< normal_leaf, btree_type
leaf_cache_type
 
typedef value_typereference
 
typedef normal_leaf< KeyType,
DataType, KeyCmp, RawSize,
BTreeType > 
self_type
 
typedef btree_type::size_type size_type
 
typedef std::pair< key_type,
data_type
value_type
 

Public Member Functions

 normal_leaf (btree_type *btree, key_compare cmp)
 
virtual ~normal_leaf ()
 
reference back ()
 
const_reference back () const
 
key_type balance (normal_leaf &left)
 
iterator begin ()
 
const_iterator begin () const
 
void decrement_iterator (iterator_base &it) const
 
void dump ()
 
iterator end ()
 
size_type erase (const key_type &k)
 
iterator find (const key_type &k)
 
const_iterator find (const key_type &k) const
 
reference front ()
 
const_reference front () const
 
void fuse (const normal_leaf &src)
 
void increment_iterator (iterator_base &it) const
 
void init (const bid_type &my_bid_)
 
std::pair< iterator, bool > insert (const value_type &x, std::pair< key_type, bid_type > &splitter)
 
request_ptr load (const bid_type &bid)
 
iterator lower_bound (const key_type &k)
 
const_iterator lower_bound (const key_type &k) const
 
const bid_typemy_bid () const
 
reference operator[] (unsigned_type i)
 
const_reference operator[] (unsigned_type i) const
 
bool overflows () const
 
bid_typepred ()
 
const bid_typepred () const
 
request_ptr prefetch (const bid_type &bid)
 
void push_back (const value_type &x)
 
void save ()
 
unsigned size () const
 
bid_typesucc ()
 
const bid_typesucc () const
 
bool underflows () const
 
iterator upper_bound (const key_type &k)
 
const_iterator upper_bound (const key_type &k) const
 

Static Public Member Functions

static unsigned max_nelements ()
 
static unsigned min_nelements ()
 

Private Member Functions

void split (std::pair< key_type, bid_type > &splitter)
 
- Private Member Functions inherited from stxxl::noncopyable
 noncopyable ()
 

Private Attributes

block_typem_block
 
btree_typem_btree
 
key_compare m_cmp
 
value_compare m_vcmp
 

Member Typedef Documentation

template<class KeyType , class DataType , class KeyCmp , unsigned LogNElem, class BTreeType >
typedef BID<raw_size> stxxl::btree::normal_leaf< KeyType, DataType, KeyCmp, LogNElem, BTreeType >::bid_type

Definition at line 45 of file leaf.h.

template<class KeyType , class DataType , class KeyCmp , unsigned LogNElem, class BTreeType >
typedef typed_block<raw_size, value_type, 0, metainfo_type> stxxl::btree::normal_leaf< KeyType, DataType, KeyCmp, LogNElem, BTreeType >::block_type

Definition at line 53 of file leaf.h.

template<class KeyType , class DataType , class KeyCmp , unsigned LogNElem, class BTreeType >
typedef BTreeType stxxl::btree::normal_leaf< KeyType, DataType, KeyCmp, LogNElem, BTreeType >::btree_type

Definition at line 60 of file leaf.h.

template<class KeyType , class DataType , class KeyCmp , unsigned LogNElem, class BTreeType >
typedef btree_const_iterator<btree_type> stxxl::btree::normal_leaf< KeyType, DataType, KeyCmp, LogNElem, BTreeType >::const_iterator

Definition at line 64 of file leaf.h.

template<class KeyType , class DataType , class KeyCmp , unsigned LogNElem, class BTreeType >
typedef const value_type& stxxl::btree::normal_leaf< KeyType, DataType, KeyCmp, LogNElem, BTreeType >::const_reference

Definition at line 39 of file leaf.h.

template<class KeyType , class DataType , class KeyCmp , unsigned LogNElem, class BTreeType >
typedef DataType stxxl::btree::normal_leaf< KeyType, DataType, KeyCmp, LogNElem, BTreeType >::data_type

Definition at line 35 of file leaf.h.

template<class KeyType , class DataType , class KeyCmp , unsigned LogNElem, class BTreeType >
typedef btree_iterator<btree_type> stxxl::btree::normal_leaf< KeyType, DataType, KeyCmp, LogNElem, BTreeType >::iterator

Definition at line 63 of file leaf.h.

template<class KeyType , class DataType , class KeyCmp , unsigned LogNElem, class BTreeType >
typedef btree_iterator_base<btree_type> stxxl::btree::normal_leaf< KeyType, DataType, KeyCmp, LogNElem, BTreeType >::iterator_base

Definition at line 62 of file leaf.h.

template<class KeyType , class DataType , class KeyCmp , unsigned LogNElem, class BTreeType >
typedef KeyCmp stxxl::btree::normal_leaf< KeyType, DataType, KeyCmp, LogNElem, BTreeType >::key_compare

Definition at line 36 of file leaf.h.

template<class KeyType , class DataType , class KeyCmp , unsigned LogNElem, class BTreeType >
typedef KeyType stxxl::btree::normal_leaf< KeyType, DataType, KeyCmp, LogNElem, BTreeType >::key_type

Definition at line 34 of file leaf.h.

template<class KeyType , class DataType , class KeyCmp , unsigned LogNElem, class BTreeType >
typedef node_cache<normal_leaf, btree_type> stxxl::btree::normal_leaf< KeyType, DataType, KeyCmp, LogNElem, BTreeType >::leaf_cache_type

Definition at line 66 of file leaf.h.

template<class KeyType , class DataType , class KeyCmp , unsigned LogNElem, class BTreeType >
typedef value_type& stxxl::btree::normal_leaf< KeyType, DataType, KeyCmp, LogNElem, BTreeType >::reference

Definition at line 38 of file leaf.h.

template<class KeyType , class DataType , class KeyCmp , unsigned LogNElem, class BTreeType >
typedef normal_leaf<KeyType, DataType, KeyCmp, RawSize, BTreeType> stxxl::btree::normal_leaf< KeyType, DataType, KeyCmp, LogNElem, BTreeType >::self_type

Definition at line 30 of file leaf.h.

template<class KeyType , class DataType , class KeyCmp , unsigned LogNElem, class BTreeType >
typedef btree_type::size_type stxxl::btree::normal_leaf< KeyType, DataType, KeyCmp, LogNElem, BTreeType >::size_type

Definition at line 61 of file leaf.h.

template<class KeyType , class DataType , class KeyCmp , unsigned LogNElem, class BTreeType >
typedef std::pair<key_type, data_type> stxxl::btree::normal_leaf< KeyType, DataType, KeyCmp, LogNElem, BTreeType >::value_type

Definition at line 37 of file leaf.h.

Member Enumeration Documentation

template<class KeyType , class DataType , class KeyCmp , unsigned LogNElem, class BTreeType >
anonymous enum
Enumerator
raw_size 

Definition at line 41 of file leaf.h.

template<class KeyType , class DataType , class KeyCmp , unsigned LogNElem, class BTreeType >
anonymous enum
Enumerator
nelements 
max_size 
min_size 

Definition at line 54 of file leaf.h.

Constructor & Destructor Documentation

template<class KeyType , class DataType , class KeyCmp , unsigned LogNElem, class BTreeType >
virtual stxxl::btree::normal_leaf< KeyType, DataType, KeyCmp, LogNElem, BTreeType >::~normal_leaf ( )
inlinevirtual

Definition at line 162 of file leaf.h.

template<class KeyType , class DataType , class KeyCmp , unsigned LogNElem, class BTreeType >
stxxl::btree::normal_leaf< KeyType, DataType, KeyCmp, LogNElem, BTreeType >::normal_leaf ( btree_type btree,
key_compare  cmp 
)
inline

Definition at line 167 of file leaf.h.

Member Function Documentation

template<class KeyType , class DataType , class KeyCmp , unsigned LogNElem, class BTreeType >
const_reference stxxl::btree::normal_leaf< KeyType, DataType, KeyCmp, LogNElem, BTreeType >::back ( ) const
inline

Definition at line 285 of file leaf.h.

template<class KeyType , class DataType , class KeyCmp , unsigned LogNElem, class BTreeType >
iterator stxxl::btree::normal_leaf< KeyType, DataType, KeyCmp, LogNElem, BTreeType >::begin ( )
inline
template<class KeyType , class DataType , class KeyCmp , unsigned LogNElem, class BTreeType >
const_iterator stxxl::btree::normal_leaf< KeyType, DataType, KeyCmp, LogNElem, BTreeType >::begin ( ) const
inline

Definition at line 361 of file leaf.h.

template<class KeyType , class DataType , class KeyCmp , unsigned LogNElem, class BTreeType >
void stxxl::btree::normal_leaf< KeyType, DataType, KeyCmp, LogNElem, BTreeType >::decrement_iterator ( iterator_base it) const
inline
template<class KeyType , class DataType , class KeyCmp , unsigned LogNElem, class BTreeType >
void stxxl::btree::normal_leaf< KeyType, DataType, KeyCmp, LogNElem, BTreeType >::dump ( )
inline

Definition at line 295 of file leaf.h.

References STXXL_VERBOSE2.

template<class KeyType , class DataType , class KeyCmp , unsigned LogNElem, class BTreeType >
iterator stxxl::btree::normal_leaf< KeyType, DataType, KeyCmp, LogNElem, BTreeType >::end ( )
inline
template<class KeyType , class DataType , class KeyCmp , unsigned LogNElem, class BTreeType >
size_type stxxl::btree::normal_leaf< KeyType, DataType, KeyCmp, LogNElem, BTreeType >::erase ( const key_type k)
inline
template<class KeyType , class DataType , class KeyCmp , unsigned LogNElem, class BTreeType >
iterator stxxl::btree::normal_leaf< KeyType, DataType, KeyCmp, LogNElem, BTreeType >::find ( const key_type k)
inline
template<class KeyType , class DataType , class KeyCmp , unsigned LogNElem, class BTreeType >
const_iterator stxxl::btree::normal_leaf< KeyType, DataType, KeyCmp, LogNElem, BTreeType >::find ( const key_type k) const
inline

Definition at line 434 of file leaf.h.

template<class KeyType , class DataType , class KeyCmp , unsigned LogNElem, class BTreeType >
reference stxxl::btree::normal_leaf< KeyType, DataType, KeyCmp, LogNElem, BTreeType >::front ( )
inline
template<class KeyType , class DataType , class KeyCmp , unsigned LogNElem, class BTreeType >
const_reference stxxl::btree::normal_leaf< KeyType, DataType, KeyCmp, LogNElem, BTreeType >::front ( ) const
inline

Definition at line 290 of file leaf.h.

template<class KeyType , class DataType , class KeyCmp , unsigned LogNElem, class BTreeType >
void stxxl::btree::normal_leaf< KeyType, DataType, KeyCmp, LogNElem, BTreeType >::increment_iterator ( iterator_base it) const
inline
template<class KeyType , class DataType , class KeyCmp , unsigned LogNElem, class BTreeType >
void stxxl::btree::normal_leaf< KeyType, DataType, KeyCmp, LogNElem, BTreeType >::init ( const bid_type my_bid_)
inline

Definition at line 257 of file leaf.h.

template<class KeyType , class DataType , class KeyCmp , unsigned LogNElem, class BTreeType >
std::pair<iterator, bool> stxxl::btree::normal_leaf< KeyType, DataType, KeyCmp, LogNElem, BTreeType >::insert ( const value_type x,
std::pair< key_type, bid_type > &  splitter 
)
inline
template<class KeyType , class DataType , class KeyCmp , unsigned LogNElem, class BTreeType >
request_ptr stxxl::btree::normal_leaf< KeyType, DataType, KeyCmp, LogNElem, BTreeType >::load ( const bid_type bid)
inline

Definition at line 244 of file leaf.h.

References stxxl::request_interface::wait().

template<class KeyType , class DataType , class KeyCmp , unsigned LogNElem, class BTreeType >
iterator stxxl::btree::normal_leaf< KeyType, DataType, KeyCmp, LogNElem, BTreeType >::lower_bound ( const key_type k)
inline
template<class KeyType , class DataType , class KeyCmp , unsigned LogNElem, class BTreeType >
const_iterator stxxl::btree::normal_leaf< KeyType, DataType, KeyCmp, LogNElem, BTreeType >::lower_bound ( const key_type k) const
inline

Definition at line 461 of file leaf.h.

template<class KeyType , class DataType , class KeyCmp , unsigned LogNElem, class BTreeType >
static unsigned stxxl::btree::normal_leaf< KeyType, DataType, KeyCmp, LogNElem, BTreeType >::max_nelements ( )
inlinestatic
template<class KeyType , class DataType , class KeyCmp , unsigned LogNElem, class BTreeType >
static unsigned stxxl::btree::normal_leaf< KeyType, DataType, KeyCmp, LogNElem, BTreeType >::min_nelements ( )
inlinestatic
template<class KeyType , class DataType , class KeyCmp , unsigned LogNElem, class BTreeType >
const bid_type& stxxl::btree::normal_leaf< KeyType, DataType, KeyCmp, LogNElem, BTreeType >::my_bid ( ) const
inline
template<class KeyType , class DataType , class KeyCmp , unsigned LogNElem, class BTreeType >
reference stxxl::btree::normal_leaf< KeyType, DataType, KeyCmp, LogNElem, BTreeType >::operator[] ( unsigned_type  i)
inline

Definition at line 265 of file leaf.h.

template<class KeyType , class DataType , class KeyCmp , unsigned LogNElem, class BTreeType >
const_reference stxxl::btree::normal_leaf< KeyType, DataType, KeyCmp, LogNElem, BTreeType >::operator[] ( unsigned_type  i) const
inline

Definition at line 270 of file leaf.h.

template<class KeyType , class DataType , class KeyCmp , unsigned LogNElem, class BTreeType >
bool stxxl::btree::normal_leaf< KeyType, DataType, KeyCmp, LogNElem, BTreeType >::overflows ( ) const
inline
template<class KeyType , class DataType , class KeyCmp , unsigned LogNElem, class BTreeType >
const bid_type& stxxl::btree::normal_leaf< KeyType, DataType, KeyCmp, LogNElem, BTreeType >::pred ( ) const
inline

Definition at line 199 of file leaf.h.

template<class KeyType , class DataType , class KeyCmp , unsigned LogNElem, class BTreeType >
request_ptr stxxl::btree::normal_leaf< KeyType, DataType, KeyCmp, LogNElem, BTreeType >::prefetch ( const bid_type bid)
inline

Definition at line 252 of file leaf.h.

template<class KeyType , class DataType , class KeyCmp , unsigned LogNElem, class BTreeType >
void stxxl::btree::normal_leaf< KeyType, DataType, KeyCmp, LogNElem, BTreeType >::push_back ( const value_type x)
inline
template<class KeyType , class DataType , class KeyCmp , unsigned LogNElem, class BTreeType >
void stxxl::btree::normal_leaf< KeyType, DataType, KeyCmp, LogNElem, BTreeType >::save ( )
inline

Definition at line 238 of file leaf.h.

References stxxl::request_interface::wait().

template<class KeyType , class DataType , class KeyCmp , unsigned LogNElem, class BTreeType >
bid_type& stxxl::btree::normal_leaf< KeyType, DataType, KeyCmp, LogNElem, BTreeType >::succ ( )
inline
template<class KeyType , class DataType , class KeyCmp , unsigned LogNElem, class BTreeType >
const bid_type& stxxl::btree::normal_leaf< KeyType, DataType, KeyCmp, LogNElem, BTreeType >::succ ( ) const
inline

Definition at line 195 of file leaf.h.

template<class KeyType , class DataType , class KeyCmp , unsigned LogNElem, class BTreeType >
bool stxxl::btree::normal_leaf< KeyType, DataType, KeyCmp, LogNElem, BTreeType >::underflows ( ) const
inline
template<class KeyType , class DataType , class KeyCmp , unsigned LogNElem, class BTreeType >
iterator stxxl::btree::normal_leaf< KeyType, DataType, KeyCmp, LogNElem, BTreeType >::upper_bound ( const key_type k)
inline
template<class KeyType , class DataType , class KeyCmp , unsigned LogNElem, class BTreeType >
const_iterator stxxl::btree::normal_leaf< KeyType, DataType, KeyCmp, LogNElem, BTreeType >::upper_bound ( const key_type k) const
inline

Definition at line 491 of file leaf.h.

Member Data Documentation

template<class KeyType , class DataType , class KeyCmp , unsigned LogNElem, class BTreeType >
block_type* stxxl::btree::normal_leaf< KeyType, DataType, KeyCmp, LogNElem, BTreeType >::m_block
private
template<class KeyType , class DataType , class KeyCmp , unsigned LogNElem, class BTreeType >
btree_type* stxxl::btree::normal_leaf< KeyType, DataType, KeyCmp, LogNElem, BTreeType >::m_btree
private

Definition at line 83 of file leaf.h.

template<class KeyType , class DataType , class KeyCmp , unsigned LogNElem, class BTreeType >
key_compare stxxl::btree::normal_leaf< KeyType, DataType, KeyCmp, LogNElem, BTreeType >::m_cmp
private

Definition at line 85 of file leaf.h.

template<class KeyType , class DataType , class KeyCmp , unsigned LogNElem, class BTreeType >
value_compare stxxl::btree::normal_leaf< KeyType, DataType, KeyCmp, LogNElem, BTreeType >::m_vcmp
private

Definition at line 86 of file leaf.h.


The documentation for this class was generated from the following files: