Stxxl  1.4.0
Classes | Namespaces | Modules | Defines | Functions
Block management layer
Collaboration diagram for Block management layer:

Classes

class  stxxl::blocked_index< modulo >
struct  stxxl::TwoToOneDimArrayAdaptorBase< one_dim_array_type, data_type, pos_type >
class  stxxl::ArrayOfSequencesIterator< array_type, value_type, modulo >
struct  stxxl::element_iterator_traits< BlockType >
struct  stxxl::BID< SIZE >
 Block identifier class. More...
class  stxxl::config
 Access point to disks properties. More...
class  stxxl::DiskAllocator
class  stxxl::block_manager
 Block manager class. More...
class  stxxl::FileCreator
class  stxxl::filler_struct__< bytes >

Namespaces

namespace  stxxl::helper

Modules

 Allocation functors
 Block scheduling sublayer

Defines

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

Functions

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_SIZE>
void stxxl::block_manager::delete_block (const BID< BLK_SIZE > &bid)
 Deallocates a block.
template<class BIDIteratorClass >
void stxxl::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


Define Documentation

#define BLOCK_ADAPTOR_OPERATORS (   two_to_one_dim_array_adaptor_base)

Definition at line 236 of file adaptor.h.

#define STXXL_ADAPTOR_ARITHMETICS (   pos)

Definition at line 139 of file adaptor.h.

#define STXXL_DEFAULT_BLOCK_SIZE (   type)    (2 * 1024 * 1024)
Examples:
algo/test_parallel_sort.cpp.

Definition at line 247 of file mng.h.

Referenced by stxxl::deque< T, VectorType >::clear(), and main().


Function Documentation

template<unsigned BLK_SIZE>
void stxxl::block_manager::delete_block ( const BID< BLK_SIZE > &  bid)
template<class BIDIteratorClass >
void stxxl::block_manager::delete_blocks ( const BIDIteratorClass &  bidbegin,
const BIDIteratorClass &  bidend 
)

Deallocates blocks.

Deallocates blocks in the range [ bidbegin, bidend)

Parameters:
bidbeginiterator object of bid_iterator concept
bidenditerator object of bid_iterator concept
Examples:
mng/test_buf_streams.cpp, and mng/test_mng.cpp.

Definition at line 235 of file mng.h.

Referenced by stxxl::stream::basic_runs_creator< Input_, CompareType_, BlockSize_, AllocStr_ >::compute_result(), stxxl::stream::sorted_runs< TriggerEntryType, CompareType_ >::deallocate_blocks(), main(), and stxxl::priority_queue_local::ext_merger< BlockType_, Cmp_, Arity_, AllocStr_ >::sequence_state::~sequence_state().

template<typename BlockType >
element_iterator_traits<BlockType>::element_iterator stxxl::make_element_iterator ( BlockType *  blocks,
unsigned_type  offset 
) [inline]
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 
)

Definition at line 166 of file mng.h.

References FMT_BID, stxxl::file::get_allocator_id(), and STXXL_VERBOSE_BLOCK_LIFE_CYCLE.

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines