STXXL
1.4.0
|
Group of classes which help controlling external memory space, managing disks, and allocating and deallocating blocks of external storage. More...
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< array_type, value_type, 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< BLK_SIZE > |
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 > |
struct | stxxl::two2one_dim_array_adapter_base< one_dim_array_type, data_type, pos_type > |
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 > | |
element_iterator_traits < BlockType > ::element_iterator | stxxl::make_element_iterator (BlockType *blocks, unsigned_type 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 blk_sz> | |
bool | stxxl::operator!= (const BID< blk_sz > &a, const BID< blk_sz > &b) |
template<unsigned blk_sz> | |
std::ostream & | stxxl::operator<< (std::ostream &s, const BID< blk_sz > &bid) |
template<unsigned blk_sz> | |
bool | stxxl::operator== (const BID< blk_sz > &a, const BID< blk_sz > &b) |
Group of classes which help controlling external memory space, managing disks, and allocating and deallocating blocks of external storage.
#define BLOCK_ADAPTOR_OPERATORS | ( | two_to_one_dim_array_adaptor_base | ) |
#define STXXL_DEFAULT_BLOCK_SIZE | ( | type | ) | (2 * 1024 * 1024) |
Definition at line 270 of file block_manager.h.
Referenced by stxxl::deque< ValueType, VectorType >::clear().
void stxxl::block_manager::delete_block | ( | const BID< BLK_SIZE > & | bid | ) |
Deallocates a block.
bid | block identifier |
Definition at line 240 of file block_manager.h.
References FMT_BID, stxxl::BID< SIZE >::is_managed(), stxxl::BID< SIZE >::offset, stxxl::BID< SIZE >::size, stxxl::BID< SIZE >::storage, and STXXL_VERBOSE_BLOCK_LIFE_CYCLE.
Referenced by stxxl::sort_local::create_runs(), stxxl::ksort_local::create_runs(), stxxl::ksort(), stxxl::sort_local::merge_runs(), stxxl::ksort_local::merge_runs(), and stxxl::sort().
void stxxl::block_manager::delete_blocks | ( | const BIDIteratorClass & | bidbegin, |
const BIDIteratorClass & | bidend | ||
) |
Deallocates blocks.
Deallocates blocks in the range [ bidbegin, bidend)
bidbegin | iterator object of bid_iterator concept |
bidend | iterator object of bid_iterator concept |
Definition at line 258 of file block_manager.h.
Referenced by stxxl::stream::basic_runs_creator< Input_, CompareType_, BlockSize_, AllocStr_ >::compute_result(), stxxl::stream::sorted_runs< TriggerEntryType, CompareType >::deallocate_blocks(), and stxxl::priority_queue_local::ext_merger< BlockType_, Cmp_, Arity_, AllocStr_ >::sequence_state::~sequence_state().
|
inline |
Definition at line 631 of file adaptor.h.
Referenced by stxxl::ksort_local::check_ksorted_runs(), stxxl::sort_local::check_sorted_runs(), stxxl::stream::check_sorted_runs(), stxxl::sort_local::create_runs(), stxxl::stream::basic_runs_creator< stream::use_push< ValueType >, cmp_type, BlockSize_, alloc_strategy_type >::fetch(), stxxl::stream::basic_runs_creator< stream::use_push< ValueType >, cmp_type, BlockSize_, alloc_strategy_type >::fill_with_max_value(), stxxl::stream::runs_creator< use_push< ValueType_ >, CompareType_, BlockSize_, AllocStr_ >::fill_with_max_value(), stxxl::stream::basic_runs_creator< stream::use_push< ValueType >, cmp_type, BlockSize_, alloc_strategy_type >::sort_run(), stxxl::stream::runs_creator< use_push< ValueType_ >, CompareType_, BlockSize_, AllocStr_ >::sort_run(), and stxxl::stl_in_memory_sort().
void stxxl::block_manager::new_blocks_int | ( | const unsigned_type | nblocks, |
const DiskAssignFunctor & | functor, | ||
unsigned_type | offset, | ||
OutputIterator | out | ||
) |
Definition at line 189 of file block_manager.h.
References FMT_BID, stxxl::simple_vector< ValueType >::memzero(), stxxl::simple_vector< ValueType >::resize(), stxxl::STXXL_MAX(), and STXXL_VERBOSE_BLOCK_LIFE_CYCLE.
bool stxxl::operator!= | ( | const BID< blk_sz > & | a, |
const BID< blk_sz > & | b | ||
) |
Definition at line 120 of file bid.h.
References stxxl::BID< SIZE >::offset, stxxl::BID< SIZE >::size, and stxxl::BID< SIZE >::storage.
std::ostream& stxxl::operator<< | ( | std::ostream & | s, |
const BID< blk_sz > & | bid | ||
) |
bool stxxl::operator== | ( | const BID< blk_sz > & | a, |
const BID< blk_sz > & | b | ||
) |
Definition at line 114 of file bid.h.
References stxxl::BID< SIZE >::offset, stxxl::BID< SIZE >::size, and stxxl::BID< SIZE >::storage.