| 
    STXXL
    1.4.1
    
   | 
 
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 265 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 236 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 253 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, Cmp, 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.