|
STXXL
1.4-dev
|
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) |
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< BlockSize > & | bid | ) |
Deallocates a block.
| bid | block identifier |
Definition at line 239 of file block_manager.h.
References FMT_BID, stxxl::file::get_allocator_id(), stxxl::BID< Size >::is_managed(), stxxl::BID< Size >::offset, stxxl::BID< Size >::size, stxxl::BID< Size >::storage, STXXL_VERBOSE_BLOCK_LIFE_CYCLE, and stxxl::BID< Size >::valid().
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::hash_map::hash_map< KeyType, MappedType, HashType, CompareType, SubBlockSize, SubBlocksPerBlock, AllocType >::_rebuild_buckets(), stxxl::hash_map::hash_map< KeyType, MappedType, HashType, CompareType, SubBlockSize, SubBlocksPerBlock, AllocType >::clear(), stxxl::stream::basic_runs_creator< Input, CompareType, BlockSize, AllocStr >::compute_result(), stxxl::stream::sorted_runs< TriggerEntryType, CompareType >::deallocate_blocks(), stxxl::hash_map::hash_map< KeyType, MappedType, HashType, CompareType, SubBlockSize, SubBlocksPerBlock, AllocType >::insert(), and stxxl::priority_queue_local::ext_merger< BlockType, CompareType, Arity, AllocStr >::sequence_state::~sequence_state().
|
inline |
Definition at line 646 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 186 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< BlockSize > & | a, |
| const BID< BlockSize > & | b | ||
| ) |
Definition at line 119 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< BlockSize > & | bid | ||
| ) |
| bool stxxl::operator== | ( | const BID< BlockSize > & | a, |
| const BID< BlockSize > & | b | ||
| ) |
Definition at line 113 of file bid.h.
References stxxl::BID< Size >::offset, stxxl::BID< Size >::size, and stxxl::BID< Size >::storage.