Classes | Modules | Defines | Functions

Block management layer

Collaboration diagram for Block management layer:


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


 Allocation functors
 Block scheduling sublayer


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


template<typename BlockType >
< BlockType >
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.
template<class BIDIteratorClass >
void block_manager::delete_blocks (const BIDIteratorClass &bidbegin, const BIDIteratorClass &bidend)
 Deallocates blocks.

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  )  [inherited]
template<class BIDIteratorClass >
void block_manager::delete_blocks ( const BIDIteratorClass &  bidbegin,
const BIDIteratorClass &  bidend 
) [inherited]

Deallocates blocks.

Deallocates blocks in the range [ bidbegin, bidend)

bidbegin iterator object of bid_iterator concept
bidend iterator object of bid_iterator concept

References block_manager::delete_block().

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