|
STXXL
1.4-dev
|
| STL namespace | |
| Template class providing some numeric_limits fields for uint_pair types | |
STXXL library namespace | |
| External memory hash-map | |
| Cache of blocks contained in an external memory hash map. Uses the stxxl::lru_pager as eviction algorithm | |
| Used inside block_cache for buffering write requests of cached blocks | |
| Used to scan external memory with prefetching | |
| Buffered writing of values. New Blocks are allocated as needed | |
| Main implementation of external memory hash map | |
| Comparator object for values as required by stxxl::sort | |
| Construct an equality predicate from the comparison operator | |
| Functor to extracts the actual value from a HashedValue-struct | |
| Will return from its input-stream all values that are to be stored in the given bucket | |
| Extracts the value-part (ignoring the hashvalue); required by HashingStream (see above) | |
| Stream for filtering duplicates | |
| Additional information about a stored value: | |
| Stream interface for all value-pairs currently stored in the map | |
| Tuning parameters for external memory hash map | |
| Matrix low-level operations and tools | |
| C = a [op] b; for arbitrary entries | |
| Multiplies matrices A and B, adds result to C, for arbitrary entries param pointer to blocks of A,B,C; elements in blocks have to be in row-major | |
| C [op]= a; for arbitrary entries | |
| C =[op] a; for arbitrary entries | |
| A static_quadtree holds 4^Level elements arranged in a quad tree | |
| Block Manager Internals | |
Contains per block filler for stxxl::typed_block , not intended for direct use | |
Contains BID references for stxxl::typed_block , not intended for direct use | |
Contains per block information for stxxl::typed_block , not intended for direct use | |
Contains data elements for stxxl::typed_block , not intended for direct use | |
| Helper to compute the size of the filler , not intended for direct use | |
| Alternative to std::not2, typedefs first_argument_type and second_argument_type not needed | |
| Constructs predicate for equality from strict weak ordering predicate | |
| Iterator wrapper supporting an implicit supremum at the end of the sequence, dominating all comparisons | |
| Compare a pair of types lexcigraphically, ascending | |
| Compare a pair of types lexcigraphically, descending | |
| Internal representation of a loser tree player/node | |
| Internal representation of a loser tree player/node | |
| Internal representation of a loser tree player/node | |
| Internal representation of a loser tree player/node | |
| This namespace provides parallel or sequential algorithms depending on the compilation settings. it should be used by all components, where parallelism is optional | |
| External array stores a sorted sequence of values on the hard disk and allows access to the first block (containing the smallest values) | |
| Internal arrays store a sorted sequence of values in RAM, which will be merged together into the deletion buffer when it needs to be refilled | |
| The minima_tree contains minima from all sources inside the PPQ | |
| WinnerTree-Comparator for the head winner tree. It accesses all relevant data structures from the priority queue | |
| Comparator for the insertion heaps winner tree | |
| Comparator for the internal arrays winner tree | |
| A random-access iterator class for block oriented data | |
| External merger, based on the loser tree data structure | |
| Similar to std::stack, with the following differences: | |
| Similar to std::priority_queue, with the following differences: | |
| Inverts the order of a comparison functor by swapping its arguments | |
| Loser tree from Knuth, "Sorting and Searching", Section 5.4.1 | |
| Type of nodes in the loser tree | |
| Stream package subnamespace | |
| Forms sorted runs of data from a stream | |
| Merges sorted runs | |
| Creates stream from a tuple stream taking the first component of each tuple | |
| Creates stream from a tuple stream taking the second component of each tuple | |
| Creates stream from a tuple stream taking the third component of each tuple | |
| Creates stream from a tuple stream taking the fourth component of each tuple | |
| Creates stream from a tuple stream taking the fifth component of each tuple | |
| Creates stream from a tuple stream taking the sixth component of each tuple | |
| Computes sorted runs type from value type and block size | |
Input strategy for runs_creator class | |
A model of stream that outputs data from an adaptable generator functor. For convenience use streamify function instead of direct instantiation of generator2stream | |
A model of stream that retrieves the data from an input iterator. For convenience use streamify function instead of direct instantiation of iterator2stream | |
| Creates stream of 6-tuples from 6 input streams | |
| Creates stream of 5-tuples from 5 input streams | |
| Creates stream of 4-tuples from 4 input streams | |
| Creates stream of 3-tuples from 3 input streams | |
| Creates stream of 2-tuples (pairs) from 2 input streams | |
| Forms sorted runs of data from a stream | |
| Forms sorted runs of data taking elements in sorted order (element by element) | |
| Forms sorted runs of elements passed in push() method | |
| Merges sorted runs | |
| Produces sorted stream from input stream | |
| All sorted runs of a sort operation | |
Traits class of streamify function | |
| Processes (up to) 6 input streams using given operation functor | |
| Processes 5 input streams using given operation functor | |
| Processes 4 input streams using given operation functor | |
| Processes 3 input streams using given operation functor | |
| Processes 2 input streams using given operation functor | |
| Processes an input stream using given operation functor | |
| Equivalent to std::unique algorithms | |
| Equivalent to std::unique algorithms | |
Input strategy for runs_creator class | |
A model of stream that retrieves data from an external stxxl::vector iterator. It is more efficient than generic iterator2stream thanks to use of overlapping For convenience use streamify function instead of direct instantiation of vector_iterator2stream | |
Version of iterator2stream. Switches between vector_iterator2stream and iterator2stream | |
| An internal fifo queue that allows removing elements addressed with (a copy of) themselves | |
| An internal priority queue that allows removing elements addressed with (a copy of) themselves | |
| Provides reference counting abilities for use with counting_ptr with mutex locking | |
| Example disk allocation scheme functor | |
| Block identifier class | |
| Specialization of block identifier class (BID) for variable size block size | |
| Binary_buffer represents a dynamically growable area of memory, which can be modified by appending integral data types via put() and other basic operations | |
| Binary_buffer_ref represents a memory area as pointer and valid length | |
| Binary_reader represents a binary_buffer_ref with an additional cursor with which the memory can be read incrementally | |
| Block manager class | |
| Encapsulates asynchronous prefetching engine | |
| Schedules swapping of blocks and provides blocks for temporary storage | |
| Interface of a block scheduling algorithm | |
| Block scheduling algorithm caching via the longest forward distance policy (offline) | |
| Block scheduling algorithm caching via the least recently used policy (offline), and prefetching in addition | |
| Block scheduling algorithm caching via the least recently used policy (online) | |
| Pseudo block scheduling algorithm only recording the request sequence | |
| Buffered input stream | |
| Buffered input stream, reading the items in the blocks in reverse order | |
| Buffered output stream | |
| Encapsulates asynchronous buffered block writing engine | |
| Base class of all options and parameters | |
| Specialization of argument for SI/IEC suffixes byte size options or parameters | |
| Specialization of argument for SI/IEC suffixes byte size options or parameters | |
| Specialization of argument for double options or parameters | |
| Specialization of argument for boolean flags (can only be set to true) | |
| Specialization of argument for integer options or parameters | |
| Specialization of argument for string options or parameters | |
| Specialization of argument for multiple string options or parameters | |
| Specialization of argument for unsigned integer options or parameters | |
| External column-vector container for matrix multiplication | |
| Completion handler class (Loki-style) | |
| Access point to disks properties. Since 1.4.0: no config files are read automatically! | |
| High-performance smart pointer used as a wrapping reference counting pointer | |
| Column-major const_iterator that points to single elements inside a matrix | |
| General const_iterator type that points to single elements inside a matrix | |
| Row-major const_iterator that points to single elements inside a matrix | |
Const external vector iterator, model of ext_random_access_iterator concept | |
| Provides reference counting abilities for use with counting_ptr | |
| High-performance smart pointer used as a wrapping reference counting pointer | |
| This class provides a statistical counter that can easily be deactivated using a typedef to dummy_custom_stats_counter | |
| A deque container. Introduction to deque container: see STXXL Deque tutorial. Design and Internals of deque container: see Deque | |
| Encapsulate the configuration of one "disk". The disk is actually a file I/O object which block_manager uses to read/write blocks | |
| Implementation of some file methods based on serving_request | |
| Encapsulates disk queues | |
| Dummy class for custom_stats_counter | |
| This class takes a shared pointer, increments its reference count and wraps it in a way that the resulting object can be copied, dumped to disk, and destroyed without affecting the refcount | |
| Class fake_timer is a drop-in replacement for timer, which does nothing | |
| Defines interface of file | |
| Implementation of file based on other files, dynamically allocate one file per block. Allows for dynamic disk space consumption | |
| Fully randomized disk allocation scheme functor | |
| Efficient implementation that uses prefetching and overlapping using internal buffers | |
| Efficient implementation that uses prefetching and overlapping using (shared) buffers pools | |
| IF template metaprogramming statement | |
If Flag is true then IF<>::result is Num1 otherwise of IF<>::result is Num2 | |
Implementation of file based on the Linux kernel interface for asynchronous I/O | |
| Queue for linuxaio_file(s) | |
| Request for an linuxaio_file | |
| Pager with LRU replacement strategy | |
| Access to some useful malloc statistics | |
| External associative container (map). Introduction to map container: see STXXL Map (B+-tree) tutorial. Design and Internals of map container: see Map (B+-tree) | |
| External matrix container. Introduction to matrix container: see STXXL Matrix tutorial. Design and Internals of matrix container: see Matrix | |
| Column-major iterator that points to single elements inside a matrix | |
| General iterator type that points to single elements inside a matrix | |
| Row-major iterator that points to single elements inside a matrix | |
| Specialized swappable_block that interprets uninitialized as containing zeros | |
| Implementation of file based on new[] and memcpy | |
| A stack that migrates from internal memory to external when its size exceeds a certain threshold | |
| Implementation of memory mapped access file | |
| External stack container. Introduction to stack container: see STXXL Stack tutorial. Design and Internals of stack container: see Stack Conservative implementation. Fits best if your access pattern consists of irregularly mixed push'es and pop's. For semantics of the methods see documentation of the STL std::stack. To gain full bandwidth of disks StackConfig::BlocksPerPage must >= number of disks | |
| Allocator functor adaptor | |
| Parallelized External Memory Priority Queue | |
| Unary operator which returns true if the external array has run empty | |
| Unary operator which returns true if the internal array has run empty | |
| Compares the largest accessible value of two external arrays | |
| Compares the largest value of the block hinted the latest of two external arrays | |
| Inverse comparison functor | |
| A struct containing the local insertion heap and other information local to a processor | |
| Struct of all statistical counters and timers. Turn on/off statistics using the stats_counter and stats_timer typedefs | |
| Implements dynamically resizable prefetching pool | |
| External priority queue data structure Introduction to priority queue container: see STXXL Priority Queue tutorial. Design and Internals of priority queue container: see Priority Queue | |
| Priority queue type generator. Introduction to priority queue container: see STXXL Priority Queue tutorial. Design and Internals of priority queue container: see Priority Queue | |
| External FIFO queue container. Introduction to queue container: see STXXL Queue tutorial Design and Internals of queue container: see Queue | |
| Uniform [0, N) pseudo-random generator | |
| Fast uniform [0, 2^32) pseudo-random generator with period 2^32, random bits: 32 | |
| Fast uniform [0, 2^32) pseudo-random generator with period 2^32, random bits: 32. Reentrant variant of random_number32 that keeps it's private state | |
| Slow and precise uniform [0, 2^64) pseudo-random generator | |
| Fast uniform [0, 255] pseudo-random generator with period 2^8, random bits: 8 (one byte) | |
| Pager with random replacement strategy | |
| Fast uniform [0.0, 1.0) pseudo-random generator | |
| Slow and precise uniform [0.0, 1.0) pseudo-random generator period: at least 2^48, random bits: at least 31 | |
| Randomized cycling disk allocation scheme functor | |
| Implements dynamically resizable buffered writing and prefetched reading pool | |
| Request object encapsulating basic properties like file and offset | |
| Functional interface of a request | |
| Interface of a request_queue to which requests can be added and canceled | |
| Implementation of a local request queue having only one queue for both read and write requests, thus having only one thread | |
| Implementation of a local request queue having two queues, one for read and one for write requests, thus having two threads. This is the default implementation | |
| Implementation of request queue worker threads. Worker threads can be started by start_thread and stopped with stop_thread. The queue state is checked before termination and updated afterwards | |
| Request with completion state | |
| Request that is aware of threads waiting for it to complete | |
| External row-vector container for matrix multiplication | |
| Aquire a lock that's valid until the end of scope | |
| Simple scoped timer, which takes a text message and prints the duration until the scope is destroyed | |
| External sequence or deque container without random access. Introduction to sequence container: see STXXL Sequence tutorial. Design and Internals of sequence container: see Queue | |
| Request which serves an I/O by calling the synchronous routine of the file | |
| Implementation of disk emulation | |
| Simpler non-growing vector without initialization | |
| 'Single disk' disk allocation scheme functor | |
| External sorter container. Introduction to sorter container: see STXXL Sorter tutorial. Design and Internals of sorter container: see Sorter | |
| Simple randomized disk allocation scheme functor | |
| Stack type generator Introduction to stack container: see STXXL Stack tutorial. Design and Internals of stack container: see Stack | |
| Collects various I/O statistics | |
| Striping disk allocation scheme functor | |
| Vector that avoids copying of ValueType objects in push_back() (here: swap_back()) and resize() operations | |
| Virtualization of a block of data. Holds information for allocating and swapping. To use in cooperation with block_scheduler | |
| External container for a (sub)matrix. Not intended for direct use | |
| Implementation of file based on UNIX syscalls | |
| Class timer is a simple stop watch timer | |
| K-Tuple data type | |
Partial specialization for 1- tuple | |
Partial specialization for 2- tuple (equivalent to std::pair) | |
Partial specialization for 3- tuple (triple) | |
Partial specialization for 4- tuple | |
Partial specialization for 5- tuple | |
| Block containing elements of fixed length | |
| Base for UNIX file system implementations | |
| Construct an 40-bit or 48-bit unsigned integer stored in five or six bytes | |
| An external memory implementation of the STL unordered_map container, which is based on an external memory hash map | |
| External vector container. Introduction to vector container: see STXXL Vector tutorial. Design and Internals of vector container: see Vector | |
| Buffered sequential reader from a vector using overlapped I/O | |
| Adapter for vector_bufreader to match iterator requirements of C++11 range-based loop construct | |
| Buffered sequential reverse reader from a vector using overlapped I/O | |
| Buffered sequential writer to a vector using overlapped I/O | |
| External vector type generator | |
External vector iterator, model of ext_random_access_iterator concept | |
| Implementation of file based on buffered writes and block remapping via a translation layer | |
| Base for Windows file system implementations | |
| Implementation of file based on Windows native I/O calls | |
| The class winner_tree is a binary tournament tree | |
| Collection of stats from the winner_tree | |
| Implements dynamically resizable buffered writing pool | |
1.8.5