Stxxl  1.4.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Classes | Public Types | Public Member Functions | Private Member Functions | Private Attributes
stxxl::btree::normal_leaf< KeyType_, DataType_, KeyCmp_, RawSize_, BTreeType > Class Template Reference

#include <leaf.h>

Inheritance diagram for stxxl::btree::normal_leaf< KeyType_, DataType_, KeyCmp_, RawSize_, BTreeType >:
Inheritance graph
[legend]
Collaboration diagram for stxxl::btree::normal_leaf< KeyType_, DataType_, KeyCmp_, RawSize_, BTreeType >:
Collaboration graph
[legend]

List of all members.

Classes

struct  InfoType
struct  value_compare

Public Types

enum  { raw_size = RawSize_ }
enum  { nelements = block_type::size - 1, max_size = nelements, min_size = nelements / 2 }
typedef normal_leaf< KeyType_,
DataType_, KeyCmp_, RawSize_,
BTreeType > 
SelfType
typedef KeyType_ key_type
typedef DataType_ data_type
typedef KeyCmp_ key_compare
typedef std::pair< key_type,
data_type
value_type
typedef value_typereference
typedef const value_typeconst_reference
typedef BID< raw_sizebid_type
typedef typed_block< raw_size,
value_type, 0, InfoType
block_type
typedef BTreeType btree_type
typedef btree_type::size_type size_type
typedef btree_iterator_base
< btree_type
iterator_base
typedef btree_iterator
< btree_type
iterator
typedef btree_const_iterator
< btree_type
const_iterator
typedef node_cache
< normal_leaf, btree_type
leaf_cache_type

Public Member Functions

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

Private Member Functions

void split (std::pair< key_type, bid_type > &splitter)

Private Attributes

block_typeblock_
btree_typebtree_
key_compare cmp_
value_compare vcmp_

Detailed Description

template<class KeyType_, class DataType_, class KeyCmp_, unsigned RawSize_, class BTreeType>
class stxxl::btree::normal_leaf< KeyType_, DataType_, KeyCmp_, RawSize_, BTreeType >

Definition at line 28 of file leaf.h.


Member Typedef Documentation

template<class KeyType_ , class DataType_ , class KeyCmp_ , unsigned RawSize_, class BTreeType >
typedef BID<raw_size> stxxl::btree::normal_leaf< KeyType_, DataType_, KeyCmp_, RawSize_, BTreeType >::bid_type

Definition at line 45 of file leaf.h.

template<class KeyType_ , class DataType_ , class KeyCmp_ , unsigned RawSize_, class BTreeType >
typedef typed_block<raw_size, value_type, 0, InfoType> stxxl::btree::normal_leaf< KeyType_, DataType_, KeyCmp_, RawSize_, BTreeType >::block_type

Definition at line 52 of file leaf.h.

template<class KeyType_ , class DataType_ , class KeyCmp_ , unsigned RawSize_, class BTreeType >
typedef BTreeType stxxl::btree::normal_leaf< KeyType_, DataType_, KeyCmp_, RawSize_, BTreeType >::btree_type

Definition at line 59 of file leaf.h.

template<class KeyType_ , class DataType_ , class KeyCmp_ , unsigned RawSize_, class BTreeType >
typedef btree_const_iterator<btree_type> stxxl::btree::normal_leaf< KeyType_, DataType_, KeyCmp_, RawSize_, BTreeType >::const_iterator

Definition at line 63 of file leaf.h.

template<class KeyType_ , class DataType_ , class KeyCmp_ , unsigned RawSize_, class BTreeType >
typedef const value_type& stxxl::btree::normal_leaf< KeyType_, DataType_, KeyCmp_, RawSize_, BTreeType >::const_reference

Definition at line 40 of file leaf.h.

template<class KeyType_ , class DataType_ , class KeyCmp_ , unsigned RawSize_, class BTreeType >
typedef DataType_ stxxl::btree::normal_leaf< KeyType_, DataType_, KeyCmp_, RawSize_, BTreeType >::data_type

Definition at line 36 of file leaf.h.

template<class KeyType_ , class DataType_ , class KeyCmp_ , unsigned RawSize_, class BTreeType >
typedef btree_iterator<btree_type> stxxl::btree::normal_leaf< KeyType_, DataType_, KeyCmp_, RawSize_, BTreeType >::iterator

Definition at line 62 of file leaf.h.

template<class KeyType_ , class DataType_ , class KeyCmp_ , unsigned RawSize_, class BTreeType >
typedef btree_iterator_base<btree_type> stxxl::btree::normal_leaf< KeyType_, DataType_, KeyCmp_, RawSize_, BTreeType >::iterator_base

Definition at line 61 of file leaf.h.

template<class KeyType_ , class DataType_ , class KeyCmp_ , unsigned RawSize_, class BTreeType >
typedef KeyCmp_ stxxl::btree::normal_leaf< KeyType_, DataType_, KeyCmp_, RawSize_, BTreeType >::key_compare

Definition at line 37 of file leaf.h.

template<class KeyType_ , class DataType_ , class KeyCmp_ , unsigned RawSize_, class BTreeType >
typedef KeyType_ stxxl::btree::normal_leaf< KeyType_, DataType_, KeyCmp_, RawSize_, BTreeType >::key_type

Definition at line 35 of file leaf.h.

template<class KeyType_ , class DataType_ , class KeyCmp_ , unsigned RawSize_, class BTreeType >
typedef node_cache<normal_leaf, btree_type> stxxl::btree::normal_leaf< KeyType_, DataType_, KeyCmp_, RawSize_, BTreeType >::leaf_cache_type

Definition at line 65 of file leaf.h.

template<class KeyType_ , class DataType_ , class KeyCmp_ , unsigned RawSize_, class BTreeType >
typedef value_type& stxxl::btree::normal_leaf< KeyType_, DataType_, KeyCmp_, RawSize_, BTreeType >::reference

Definition at line 39 of file leaf.h.

template<class KeyType_ , class DataType_ , class KeyCmp_ , unsigned RawSize_, class BTreeType >
typedef normal_leaf<KeyType_, DataType_, KeyCmp_, RawSize_, BTreeType> stxxl::btree::normal_leaf< KeyType_, DataType_, KeyCmp_, RawSize_, BTreeType >::SelfType

Definition at line 31 of file leaf.h.

template<class KeyType_ , class DataType_ , class KeyCmp_ , unsigned RawSize_, class BTreeType >
typedef btree_type::size_type stxxl::btree::normal_leaf< KeyType_, DataType_, KeyCmp_, RawSize_, BTreeType >::size_type

Definition at line 60 of file leaf.h.

template<class KeyType_ , class DataType_ , class KeyCmp_ , unsigned RawSize_, class BTreeType >
typedef std::pair<key_type, data_type> stxxl::btree::normal_leaf< KeyType_, DataType_, KeyCmp_, RawSize_, BTreeType >::value_type

Definition at line 38 of file leaf.h.


Member Enumeration Documentation

template<class KeyType_ , class DataType_ , class KeyCmp_ , unsigned RawSize_, class BTreeType >
anonymous enum
Enumerator:
raw_size 

Definition at line 42 of file leaf.h.

template<class KeyType_ , class DataType_ , class KeyCmp_ , unsigned RawSize_, class BTreeType >
anonymous enum
Enumerator:
nelements 
max_size 
min_size 

Definition at line 53 of file leaf.h.


Constructor & Destructor Documentation

template<class KeyType_ , class DataType_ , class KeyCmp_ , unsigned RawSize_, class BTreeType >
virtual stxxl::btree::normal_leaf< KeyType_, DataType_, KeyCmp_, RawSize_, BTreeType >::~normal_leaf ( ) [inline, virtual]

Definition at line 161 of file leaf.h.

template<class KeyType_ , class DataType_ , class KeyCmp_ , unsigned RawSize_, class BTreeType >
stxxl::btree::normal_leaf< KeyType_, DataType_, KeyCmp_, RawSize_, BTreeType >::normal_leaf ( btree_type btree__,
key_compare  cmp 
) [inline]

Definition at line 166 of file leaf.h.


Member Function Documentation

template<class KeyType_ , class DataType_ , class KeyCmp_ , unsigned RawSize_, class BTreeType >
reference stxxl::btree::normal_leaf< KeyType_, DataType_, KeyCmp_, RawSize_, BTreeType >::back ( ) [inline]
template<class KeyType_ , class DataType_ , class KeyCmp_ , unsigned RawSize_, class BTreeType >
const_reference stxxl::btree::normal_leaf< KeyType_, DataType_, KeyCmp_, RawSize_, BTreeType >::back ( ) const [inline]

Definition at line 285 of file leaf.h.

template<class KeyType_ , class DataType_ , class KeyCmp_ , unsigned RawSize_, class BTreeType >
key_type stxxl::btree::normal_leaf< KeyType_, DataType_, KeyCmp_, RawSize_, BTreeType >::balance ( normal_leaf< KeyType_, DataType_, KeyCmp_, RawSize_, BTreeType > &  Left) [inline]
template<class KeyType_ , class DataType_ , class KeyCmp_ , unsigned RawSize_, class BTreeType >
iterator stxxl::btree::normal_leaf< KeyType_, DataType_, KeyCmp_, RawSize_, BTreeType >::begin ( ) [inline]
template<class KeyType_ , class DataType_ , class KeyCmp_ , unsigned RawSize_, class BTreeType >
const_iterator stxxl::btree::normal_leaf< KeyType_, DataType_, KeyCmp_, RawSize_, BTreeType >::begin ( ) const [inline]

Definition at line 361 of file leaf.h.

template<class KeyType_ , class DataType_ , class KeyCmp_ , unsigned RawSize_, class BTreeType >
void stxxl::btree::normal_leaf< KeyType_, DataType_, KeyCmp_, RawSize_, BTreeType >::decrement_iterator ( iterator_base it) const [inline]
template<class KeyType_ , class DataType_ , class KeyCmp_ , unsigned RawSize_, class BTreeType >
void stxxl::btree::normal_leaf< KeyType_, DataType_, KeyCmp_, RawSize_, BTreeType >::dump ( ) [inline]

Definition at line 295 of file leaf.h.

template<class KeyType_ , class DataType_ , class KeyCmp_ , unsigned RawSize_, class BTreeType >
iterator stxxl::btree::normal_leaf< KeyType_, DataType_, KeyCmp_, RawSize_, BTreeType >::end ( ) [inline]
template<class KeyType_ , class DataType_ , class KeyCmp_ , unsigned RawSize_, class BTreeType >
size_type stxxl::btree::normal_leaf< KeyType_, DataType_, KeyCmp_, RawSize_, BTreeType >::erase ( const key_type k) [inline]
template<class KeyType_ , class DataType_ , class KeyCmp_ , unsigned RawSize_, class BTreeType >
iterator stxxl::btree::normal_leaf< KeyType_, DataType_, KeyCmp_, RawSize_, BTreeType >::find ( const key_type k) [inline]
template<class KeyType_ , class DataType_ , class KeyCmp_ , unsigned RawSize_, class BTreeType >
const_iterator stxxl::btree::normal_leaf< KeyType_, DataType_, KeyCmp_, RawSize_, BTreeType >::find ( const key_type k) const [inline]

Definition at line 435 of file leaf.h.

template<class KeyType_ , class DataType_ , class KeyCmp_ , unsigned RawSize_, class BTreeType >
reference stxxl::btree::normal_leaf< KeyType_, DataType_, KeyCmp_, RawSize_, BTreeType >::front ( ) [inline]
template<class KeyType_ , class DataType_ , class KeyCmp_ , unsigned RawSize_, class BTreeType >
const_reference stxxl::btree::normal_leaf< KeyType_, DataType_, KeyCmp_, RawSize_, BTreeType >::front ( ) const [inline]

Definition at line 290 of file leaf.h.

template<class KeyType_ , class DataType_ , class KeyCmp_ , unsigned RawSize_, class BTreeType >
void stxxl::btree::normal_leaf< KeyType_, DataType_, KeyCmp_, RawSize_, BTreeType >::fuse ( const normal_leaf< KeyType_, DataType_, KeyCmp_, RawSize_, BTreeType > &  Src) [inline]
template<class KeyType_ , class DataType_ , class KeyCmp_ , unsigned RawSize_, class BTreeType >
void stxxl::btree::normal_leaf< KeyType_, DataType_, KeyCmp_, RawSize_, BTreeType >::increment_iterator ( iterator_base it) const [inline]
template<class KeyType_ , class DataType_ , class KeyCmp_ , unsigned RawSize_, class BTreeType >
void stxxl::btree::normal_leaf< KeyType_, DataType_, KeyCmp_, RawSize_, BTreeType >::init ( const bid_type my_bid_) [inline]

Definition at line 257 of file leaf.h.

template<class KeyType_ , class DataType_ , class KeyCmp_ , unsigned RawSize_, class BTreeType >
std::pair<iterator, bool> stxxl::btree::normal_leaf< KeyType_, DataType_, KeyCmp_, RawSize_, BTreeType >::insert ( const value_type x,
std::pair< key_type, bid_type > &  splitter 
) [inline]
template<class KeyType_ , class DataType_ , class KeyCmp_ , unsigned RawSize_, class BTreeType >
request_ptr stxxl::btree::normal_leaf< KeyType_, DataType_, KeyCmp_, RawSize_, 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 RawSize_, class BTreeType >
iterator stxxl::btree::normal_leaf< KeyType_, DataType_, KeyCmp_, RawSize_, BTreeType >::lower_bound ( const key_type k) [inline]
template<class KeyType_ , class DataType_ , class KeyCmp_ , unsigned RawSize_, class BTreeType >
const_iterator stxxl::btree::normal_leaf< KeyType_, DataType_, KeyCmp_, RawSize_, BTreeType >::lower_bound ( const key_type k) const [inline]

Definition at line 463 of file leaf.h.

template<class KeyType_ , class DataType_ , class KeyCmp_ , unsigned RawSize_, class BTreeType >
unsigned stxxl::btree::normal_leaf< KeyType_, DataType_, KeyCmp_, RawSize_, BTreeType >::max_nelements ( ) const [inline]
template<class KeyType_ , class DataType_ , class KeyCmp_ , unsigned RawSize_, class BTreeType >
unsigned stxxl::btree::normal_leaf< KeyType_, DataType_, KeyCmp_, RawSize_, BTreeType >::min_nelements ( ) const [inline]
template<class KeyType_ , class DataType_ , class KeyCmp_ , unsigned RawSize_, class BTreeType >
const bid_type& stxxl::btree::normal_leaf< KeyType_, DataType_, KeyCmp_, RawSize_, BTreeType >::my_bid ( ) const [inline]
template<class KeyType_ , class DataType_ , class KeyCmp_ , unsigned RawSize_, class BTreeType >
reference stxxl::btree::normal_leaf< KeyType_, DataType_, KeyCmp_, RawSize_, BTreeType >::operator[] ( int  i) [inline]

Definition at line 265 of file leaf.h.

template<class KeyType_ , class DataType_ , class KeyCmp_ , unsigned RawSize_, class BTreeType >
const_reference stxxl::btree::normal_leaf< KeyType_, DataType_, KeyCmp_, RawSize_, BTreeType >::operator[] ( int  i) const [inline]

Definition at line 270 of file leaf.h.

template<class KeyType_ , class DataType_ , class KeyCmp_ , unsigned RawSize_, class BTreeType >
bool stxxl::btree::normal_leaf< KeyType_, DataType_, KeyCmp_, RawSize_, BTreeType >::overflows ( ) const [inline]
template<class KeyType_ , class DataType_ , class KeyCmp_ , unsigned RawSize_, class BTreeType >
bid_type& stxxl::btree::normal_leaf< KeyType_, DataType_, KeyCmp_, RawSize_, BTreeType >::pred ( ) [inline]
template<class KeyType_ , class DataType_ , class KeyCmp_ , unsigned RawSize_, class BTreeType >
const bid_type& stxxl::btree::normal_leaf< KeyType_, DataType_, KeyCmp_, RawSize_, BTreeType >::pred ( ) const [inline]

Definition at line 199 of file leaf.h.

template<class KeyType_ , class DataType_ , class KeyCmp_ , unsigned RawSize_, class BTreeType >
request_ptr stxxl::btree::normal_leaf< KeyType_, DataType_, KeyCmp_, RawSize_, BTreeType >::prefetch ( const bid_type bid) [inline]

Definition at line 252 of file leaf.h.

template<class KeyType_ , class DataType_ , class KeyCmp_ , unsigned RawSize_, class BTreeType >
void stxxl::btree::normal_leaf< KeyType_, DataType_, KeyCmp_, RawSize_, BTreeType >::push_back ( const value_type x) [inline]
template<class KeyType_ , class DataType_ , class KeyCmp_ , unsigned RawSize_, class BTreeType >
void stxxl::btree::normal_leaf< KeyType_, DataType_, KeyCmp_, RawSize_, BTreeType >::save ( ) [inline]

Definition at line 238 of file leaf.h.

References stxxl::request_interface::wait().

template<class KeyType_ , class DataType_ , class KeyCmp_ , unsigned RawSize_, class BTreeType >
unsigned stxxl::btree::normal_leaf< KeyType_, DataType_, KeyCmp_, RawSize_, BTreeType >::size ( ) const [inline]
template<class KeyType_ , class DataType_ , class KeyCmp_ , unsigned RawSize_, class BTreeType >
void stxxl::btree::normal_leaf< KeyType_, DataType_, KeyCmp_, RawSize_, BTreeType >::split ( std::pair< key_type, bid_type > &  splitter) [inline, private]
template<class KeyType_ , class DataType_ , class KeyCmp_ , unsigned RawSize_, class BTreeType >
bid_type& stxxl::btree::normal_leaf< KeyType_, DataType_, KeyCmp_, RawSize_, BTreeType >::succ ( ) [inline]
template<class KeyType_ , class DataType_ , class KeyCmp_ , unsigned RawSize_, class BTreeType >
const bid_type& stxxl::btree::normal_leaf< KeyType_, DataType_, KeyCmp_, RawSize_, BTreeType >::succ ( ) const [inline]

Definition at line 195 of file leaf.h.

template<class KeyType_ , class DataType_ , class KeyCmp_ , unsigned RawSize_, class BTreeType >
bool stxxl::btree::normal_leaf< KeyType_, DataType_, KeyCmp_, RawSize_, BTreeType >::underflows ( ) const [inline]
template<class KeyType_ , class DataType_ , class KeyCmp_ , unsigned RawSize_, class BTreeType >
iterator stxxl::btree::normal_leaf< KeyType_, DataType_, KeyCmp_, RawSize_, BTreeType >::upper_bound ( const key_type k) [inline]
template<class KeyType_ , class DataType_ , class KeyCmp_ , unsigned RawSize_, class BTreeType >
const_iterator stxxl::btree::normal_leaf< KeyType_, DataType_, KeyCmp_, RawSize_, BTreeType >::upper_bound ( const key_type k) const [inline]

Definition at line 493 of file leaf.h.


Member Data Documentation

template<class KeyType_ , class DataType_ , class KeyCmp_ , unsigned RawSize_, class BTreeType >
block_type* stxxl::btree::normal_leaf< KeyType_, DataType_, KeyCmp_, RawSize_, BTreeType >::block_ [private]
template<class KeyType_ , class DataType_ , class KeyCmp_ , unsigned RawSize_, class BTreeType >
btree_type* stxxl::btree::normal_leaf< KeyType_, DataType_, KeyCmp_, RawSize_, BTreeType >::btree_ [private]

Definition at line 82 of file leaf.h.

template<class KeyType_ , class DataType_ , class KeyCmp_ , unsigned RawSize_, class BTreeType >
key_compare stxxl::btree::normal_leaf< KeyType_, DataType_, KeyCmp_, RawSize_, BTreeType >::cmp_ [private]

Definition at line 84 of file leaf.h.

template<class KeyType_ , class DataType_ , class KeyCmp_ , unsigned RawSize_, class BTreeType >
value_compare stxxl::btree::normal_leaf< KeyType_, DataType_, KeyCmp_, RawSize_, BTreeType >::vcmp_ [private]

Definition at line 85 of file leaf.h.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines