Stxxl  1.3.2
Modules | Classes | Macros | Functions
Block management layer
Collaboration diagram for Block management layer:

Modules

 Allocation functors
 
 Block scheduling sublayer
 

Classes

struct  BID< SIZE >
 Block identifier class. More...
 
class  config
 Access point to disks properties. More...
 
class  block_manager
 Block manager class. More...
 

Macros

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

Functions

template<typename BlockType >
element_iterator_traits
< BlockType >
::element_iterator 
make_element_iterator (BlockType *blocks, unsigned_type offset)
 
template<class BIDType , class DiskAssignFunctor , class OutputIterator >
void block_manager::new_blocks_int (const unsigned_type nblocks, const DiskAssignFunctor &functor, unsigned_type offset, OutputIterator out)
 
template<unsigned BLK_SIZE>
void block_manager::delete_block (const BID< BLK_SIZE > &bid)
 Deallocates a block. More...
 
template<class BIDIteratorClass >
void block_manager::delete_blocks (const BIDIteratorClass &bidbegin, const BIDIteratorClass &bidend)
 Deallocates blocks. More...
 

Detailed Description

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

Function Documentation

template<unsigned BLK_SIZE>
void block_manager::delete_block ( const BID< BLK_SIZE > &  bid)
template<class BIDIteratorClass >
void block_manager::delete_blocks ( const BIDIteratorClass &  bidbegin,
const BIDIteratorClass &  bidend 
)

Deallocates blocks.

Deallocates blocks in the range [ bidbegin, bidend)

Parameters
bidbeginiterator object of bid_iterator concept
bidenditerator object of bid_iterator concept

References block_manager::delete_block().

Referenced by stream::sorted_runs< trigger_entry_type >::deallocate_blocks().