Block manager class. More...
#include <mng.h>
Public Member Functions | |
template<class DiskAssgnFunctor , class BIDIteratorClass > | |
void | new_blocks (DiskAssgnFunctor functor, BIDIteratorClass bidbegin, BIDIteratorClass bidend) |
Allocates new blocks. | |
template<class BlockType , class DiskAssgnFunctor , class BIDIteratorClass > | |
void | new_blocks (const unsigned_type nblocks, DiskAssgnFunctor functor, BIDIteratorClass out) |
template<class BIDIteratorClass > | |
void | delete_blocks (const BIDIteratorClass &bidbegin, const BIDIteratorClass &bidend) |
Deallocates blocks. | |
template<unsigned BLK_SIZE> | |
void | delete_block (const BID< BLK_SIZE > &bid) |
Deallocates a block. |
Block manager class.
Manages allocation and deallocation of blocks in multiple/single disk setting
void block_manager::new_blocks | ( | const unsigned_type | nblocks, | |
DiskAssgnFunctor | functor, | |||
BIDIteratorClass | out | |||
) |
Allocates new blocks according to the strategy given by functor and stores block identifiers to the output iterator out
nblocks | the number of blocks to allocate | |
functor | object of model of allocation_strategy concept | |
out | iterator object of OutputIterator concept |
The BlockType
template parameter defines the type of block to allocate