STXXL  1.4.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Block Management Layer

Group of classes which help controlling external memory space, managing disks, and allocating and deallocating blocks of external storage. More...

+ Collaboration diagram for Block Management Layer:

Modules

 Allocation Functors
 Standard allocation strategies encapsulated in functors.
 
 Block Scheduling Sublayer
 Group of classes which help in scheduling sequences of read and write requests via prefetching and buffered writing.
 
 Internals
 Internals and support classes.
 

Namespaces

 stxxl::helper
 
 stxxl::mng_local
 Block Manager Internals.
 

Classes

class  stxxl::array_of_sequences_iterator< ArrayType, ValueType, modulo >
 
struct  stxxl::BID< Size >
 Block identifier class. More...
 
struct  stxxl::BID< 0 >
 Specialization of block identifier class (BID) for variable size block size. More...
 
class  stxxl::BIDArray< BlockSize >
 
class  stxxl::block_manager
 Block manager class. More...
 
class  stxxl::blocked_index< modulo >
 
class  stxxl::config
 Access point to disks properties. Since 1.4.0: no config files are read automatically! More...
 
class  stxxl::disk_allocator
 
class  stxxl::disk_config
 Encapsulate the configuration of one "disk". The disk is actually a file I/O object which block_manager uses to read/write blocks. More...
 
struct  stxxl::element_iterator_traits< BlockType, SizeType >
 
struct  stxxl::two2one_dim_array_adapter_base< OneDimArrayType, DataType, PosType >
 
class  stxxl::typed_block< RawSize, Type, NRef, MetaInfoType >
 Block containing elements of fixed length. More...
 

Macros

#define BLOCK_ADAPTOR_OPERATORS(two_to_one_dim_array_adaptor_base)
 
#define STXXL_ADAPTOR_ARITHMETICS(pos)
 
#define STXXL_DEFAULT_BLOCK_SIZE(type)   (2 * 1024 * 1024)
 

Functions

template<unsigned BLK_SIZE>
void stxxl::block_manager::delete_block (const BID< BLK_SIZE > &bid)
 Deallocates a block. More...
 
template<class BIDIteratorClass >
void stxxl::block_manager::delete_blocks (const BIDIteratorClass &bidbegin, const BIDIteratorClass &bidend)
 Deallocates blocks. More...
 
template<typename BlockType , typename SizeType >
element_iterator_traits
< BlockType, SizeType >
::element_iterator 
stxxl::make_element_iterator (BlockType *blocks, SizeType offset)
 
template<class BIDType , class DiskAssignFunctor , class OutputIterator >
void stxxl::block_manager::new_blocks_int (const unsigned_type nblocks, const DiskAssignFunctor &functor, unsigned_type offset, OutputIterator out)
 
template<unsigned BlockSize>
bool stxxl::operator!= (const BID< BlockSize > &a, const BID< BlockSize > &b)
 
template<unsigned BlockSize>
std::ostream & stxxl::operator<< (std::ostream &s, const BID< BlockSize > &bid)
 
template<unsigned BlockSize>
bool stxxl::operator== (const BID< BlockSize > &a, const BID< BlockSize > &b)
 

Detailed Description

Group of classes which help controlling external memory space, managing disks, and allocating and deallocating blocks of external storage.

Macro Definition Documentation

#define BLOCK_ADAPTOR_OPERATORS (   two_to_one_dim_array_adaptor_base)

Definition at line 236 of file adaptor.h.

#define STXXL_ADAPTOR_ARITHMETICS (   pos)

Definition at line 137 of file adaptor.h.

#define STXXL_DEFAULT_BLOCK_SIZE (   type)    (2 * 1024 * 1024)

Definition at line 265 of file block_manager.h.

Referenced by stxxl::deque< ValueType, VectorType >::clear().

Function Documentation

template<unsigned BlockSize>
void stxxl::block_manager::delete_block ( const BID< BlockSize > &  bid)
template<class BIDType , class DiskAssignFunctor , class OutputIterator >
void stxxl::block_manager::new_blocks_int ( const unsigned_type  nblocks,
const DiskAssignFunctor &  functor,
unsigned_type  offset,
OutputIterator  out 
)
template<unsigned BlockSize>
bool stxxl::operator!= ( const BID< BlockSize > &  a,
const BID< BlockSize > &  b 
)
template<unsigned BlockSize>
std::ostream& stxxl::operator<< ( std::ostream &  s,
const BID< BlockSize > &  bid 
)

Definition at line 125 of file bid.h.

template<unsigned BlockSize>
bool stxxl::operator== ( const BID< BlockSize > &  a,
const BID< BlockSize > &  b 
)