STXXL  1.4-dev
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Common Utilities and Support Classes

Supporting classes also useful for applications, see also Common Utilities and Helpers . More...

Classes

class  stxxl::atomic_counted_object
 Provides reference counting abilities for use with counting_ptr with mutex locking. More...
 
class  stxxl::binary_buffer
 binary_buffer represents a dynamically growable area of memory, which can be modified by appending integral data types via put() and other basic operations. More...
 
class  stxxl::binary_buffer_ref
 binary_buffer_ref represents a memory area as pointer and valid length. More...
 
class  stxxl::binary_reader
 binary_reader represents a binary_buffer_ref with an additional cursor with which the memory can be read incrementally. More...
 
class  stxxl::cmdline_parser
 
class  stxxl::const_counting_ptr< Type >
 High-performance smart pointer used as a wrapping reference counting pointer. More...
 
class  stxxl::counted_object
 Provides reference counting abilities for use with counting_ptr. More...
 
class  stxxl::counting_ptr< Type >
 High-performance smart pointer used as a wrapping reference counting pointer. More...
 
class  stxxl::external_shared_ptr< P >
 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. More...
 
class  stxxl::fake_timer
 Class fake_timer is a drop-in replacement for timer, which does nothing. More...
 
struct  stxxl::random_number< UniformRGen >
 Uniform [0, N) pseudo-random generator. More...
 
struct  stxxl::random_number32
 Fast uniform [0, 2^32) pseudo-random generator with period 2^32, random bits: 32. More...
 
struct  stxxl::random_number32_r
 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. More...
 
struct  stxxl::random_number64
 Slow and precise uniform [0, 2^64) pseudo-random generator. More...
 
class  stxxl::random_number8_r
 Fast uniform [0, 255] pseudo-random generator with period 2^8, random bits: 8 (one byte). More...
 
struct  stxxl::random_uniform_fast
 Fast uniform [0.0, 1.0) pseudo-random generator. More...
 
struct  stxxl::random_uniform_slow
 Slow and precise uniform [0.0, 1.0) pseudo-random generator period: at least 2^48, random bits: at least 31. More...
 
class  stxxl::scoped_print_timer
 Simple scoped timer, which takes a text message and prints the duration until the scope is destroyed. More...
 
class  stxxl::simple_vector< ValueType >
 Simpler non-growing vector without initialization. More...
 
class  stxxl::swap_vector< ValueType >
 Vector that avoids copying of ValueType objects in push_back() (here: swap_back()) and resize() operations. More...
 
class  stxxl::timer
 Class timer is a simple stop watch timer. More...
 

Typedefs

typedef uint_pair< uint8 > stxxl::uint40
 Construct a 40-bit unsigned integer stored in five bytes. More...
 
typedef uint_pair< uint16 > stxxl::uint48
 Construct a 48-bit unsigned integer stored in six bytes. More...
 

Functions

void stxxl::srandom_number32 (unsigned seed=get_next_seed())
 Set a seed value for random_number32. More...
 
template<class A >
void stxxl::swap (counting_ptr< A > &a1, counting_ptr< A > &a2)
 swap enclosed object with another counting pointer (no reference counts need change) More...
 
template<class A >
void stxxl::swap (const_counting_ptr< A > &a1, const_counting_ptr< A > &a2)
 swap enclosed object with another const_counting pointer (no reference counts need change) More...
 
template<class ForwardIterator , class UnaryPredicate >
ForwardIterator stxxl::swap_remove_if (ForwardIterator first, ForwardIterator last, UnaryPredicate pred)
 Transforms the range [first,last) into a range with all the elements for which pred returns true removed, and returns an iterator to the new end of that range. More...
 
double stxxl::timestamp ()
 Returns number of seconds since the epoch, high resolution. More...
 

Detailed Description

Supporting classes also useful for applications, see also Common Utilities and Helpers .

Typedef Documentation

typedef uint_pair<uint8> stxxl::uint40

Construct a 40-bit unsigned integer stored in five bytes.

Definition at line 251 of file uint_types.h.

typedef uint_pair<uint16> stxxl::uint48

Construct a 48-bit unsigned integer stored in six bytes.

Definition at line 254 of file uint_types.h.

Function Documentation

void stxxl::srandom_number32 ( unsigned  seed = get_next_seed())
inline

Set a seed value for random_number32.

Definition at line 66 of file rand.h.

References stxxl::ran32State.

template<class A >
void stxxl::swap ( counting_ptr< A > &  a1,
counting_ptr< A > &  a2 
)

swap enclosed object with another counting pointer (no reference counts need change)

Definition at line 165 of file counting_ptr.h.

References stxxl::counting_ptr< Type >::swap().

template<class A >
void stxxl::swap ( const_counting_ptr< A > &  a1,
const_counting_ptr< A > &  a2 
)

swap enclosed object with another const_counting pointer (no reference counts need change)

Definition at line 315 of file counting_ptr.h.

References stxxl::const_counting_ptr< Type >::swap().

template<class ForwardIterator , class UnaryPredicate >
ForwardIterator stxxl::swap_remove_if ( ForwardIterator  first,
ForwardIterator  last,
UnaryPredicate  pred 
)

Transforms the range [first,last) into a range with all the elements for which pred returns true removed, and returns an iterator to the new end of that range.

The function is compatible to std::remove_if, but uses std::swap instead of copy-assignment (resp. move-assignment in C++11).

Definition at line 267 of file swap_vector.h.

Referenced by stxxl::parallel_priority_queue< ValueType, CompareType, AllocStrategy, BlockSize, DefaultMemSize, MaxItems >::cleanup_internal_arrays().