STXXL  1.4-dev
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
stxxl Namespace Reference

STXXL library namespace More...

Namespaces

 async_schedule_local
 
 btree
 
 compat
 
 hash_map
 External memory hash-map.
 
 helper
 
 ksort_local
 
 matrix_local
 matrix low-level operations and tools
 
 mng_local
 Block Manager Internals.
 
 parallel
 
 potentially_parallel
 this namespace provides parallel or sequential algorithms depending on the compilation settings. it should be used by all components, where parallelism is optional.
 
 ppq_local
 
 priority_queue_local
 
 sort_helper
 
 sort_local
 
 stable_ksort_local
 
 stream
 Stream package subnamespace.
 

Classes

class  addressable_fifo_queue
 An internal fifo queue that allows removing elements addressed with (a copy of) themselves. More...
 
class  addressable_priority_queue
 An internal priority queue that allows removing elements addressed with (a copy of) themselves. More...
 
struct  aligned_alloc_settings
 
class  array_of_sequences_iterator
 
class  atomic_counted_object
 Provides reference counting abilities for use with counting_ptr with mutex locking. More...
 
class  bad_ext_alloc
 
class  bad_parameter
 
struct  basic_allocation_strategy
 Example disk allocation scheme functor. More...
 
struct  BID
 Block identifier class. More...
 
struct  BID< 0 >
 Specialization of block identifier class (BID) for variable size block size. More...
 
class  BIDArray
 
class  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  binary_buffer_ref
 binary_buffer_ref represents a memory area as pointer and valid length. More...
 
class  binary_reader
 binary_reader represents a binary_buffer_ref with an additional cursor with which the memory can be read incrementally. More...
 
class  block_manager
 Block manager class. More...
 
class  block_prefetcher
 Encapsulates asynchronous prefetching engine. More...
 
class  block_scheduler
 Schedules swapping of blocks and provides blocks for temporary storage. More...
 
class  block_scheduler_algorithm
 Interface of a block scheduling algorithm. More...
 
class  block_scheduler_algorithm_offline_lfd
 Block scheduling algorithm caching via the longest forward distance policy (offline). More...
 
class  block_scheduler_algorithm_offline_lru_prefetching
 Block scheduling algorithm caching via the least recently used policy (offline), and prefetching in addition. More...
 
class  block_scheduler_algorithm_online_lru
 Block scheduling algorithm caching via the least recently used policy (online). More...
 
class  block_scheduler_algorithm_simulation
 Pseudo block scheduling algorithm only recording the request sequence. More...
 
class  blocked_index
 
class  buf_istream
 Buffered input stream. More...
 
class  buf_istream_reverse
 Buffered input stream, reading the items in the blocks in reverse order. More...
 
class  buf_ostream
 Buffered output stream. More...
 
class  buffered_writer
 Encapsulates asynchronous buffered block writing engine. More...
 
struct  CASE
 
struct  choose_int_types
 
struct  choose_int_types< 4 >
 
struct  choose_int_types< 8 >
 
class  cmdline_parser
 
class  column_vector
 external column-vector container for matrix multiplication More...
 
struct  compat_hash
 
struct  compat_hash_map
 
struct  compat_hash_multimap
 
struct  compat_unique_ptr
 
class  completion_handler
 Completion handler class (Loki-style). More...
 
class  completion_handler1
 
class  completion_handler_impl
 
class  condition_variable
 
class  config
 Access point to disks properties. Since 1.4.0: no config files are read automatically! More...
 
class  const_counting_ptr
 High-performance smart pointer used as a wrapping reference counting pointer. More...
 
class  const_deque_iterator
 
class  const_matrix_col_major_iterator
 column-major const_iterator that points to single elements inside a matrix More...
 
class  const_matrix_iterator
 general const_iterator type that points to single elements inside a matrix More...
 
class  const_matrix_row_major_iterator
 row-major const_iterator that points to single elements inside a matrix More...
 
class  const_vector_iterator
 Const external vector iterator, model of ext_random_access_iterator concept. More...
 
class  counted_object
 Provides reference counting abilities for use with counting_ptr. More...
 
class  counting_ptr
 High-performance smart pointer used as a wrapping reference counting pointer. More...
 
class  custom_stats_counter
 This class provides a statistical counter that can easily be deactivated using a typedef to dummy_custom_stats_counter. More...
 
class  deque
 A deque container.
Introduction to deque container: see STXXL Deque tutorial.
Design and Internals of deque container: see Deque. More...
 
class  deque_iterator
 
class  disk_allocator
 
class  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...
 
class  disk_queued_file
 Implementation of some file methods based on serving_request. More...
 
class  disk_queues
 Encapsulates disk queues. More...
 
class  double_blocked_index
 
class  dummy_custom_stats_counter
 Dummy class for custom_stats_counter. More...
 
struct  element_iterator_traits
 
class  external_shared_ptr
 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  fake_timer
 Class fake_timer is a drop-in replacement for timer, which does nothing. More...
 
class  file
 Defines interface of file. More...
 
class  fileperblock_file
 Implementation of file based on other files, dynamically allocate one file per block. Allows for dynamic disk space consumption. More...
 
struct  first_disk_only
 
struct  FR
 Fully randomized disk allocation scheme functor. More...
 
class  grow_shrink_stack
 Efficient implementation that uses prefetching and overlapping using internal buffers. More...
 
class  grow_shrink_stack2
 Efficient implementation that uses prefetching and overlapping using (shared) buffers pools. More...
 
class  IC35L080AVVA07
 
struct  IF
 IF template metaprogramming statement. More...
 
struct  IF< false, Type1, Type2 >
 
struct  IF_N
 If Flag is true then IF<>::result is Num1 otherwise of IF<>::result is Num2. More...
 
struct  IF_N< false, Num1, Num2 >
 
struct  interleaved_alloc_traits
 
struct  interleaved_alloc_traits< FR >
 
struct  interleaved_alloc_traits< RC >
 
struct  interleaved_alloc_traits< RC_disk >
 
struct  interleaved_alloc_traits< RC_flash >
 
struct  interleaved_alloc_traits< single_disk >
 
struct  interleaved_alloc_traits< SR >
 
struct  interleaved_alloc_traits< striping >
 
struct  interleaved_FR
 
struct  interleaved_RC
 
struct  interleaved_SR
 
struct  interleaved_striping
 
class  io_error
 
struct  ksort_defaultkey
 
class  linuxaio_file
 Implementation of file based on the Linux kernel interface for asynchronous I/O. More...
 
class  linuxaio_queue
 Queue for linuxaio_file(s) More...
 
class  linuxaio_request
 Request for an linuxaio_file. More...
 
class  LOG2
 
class  LOG2< 0 >
 
class  LOG2< 1 >
 
class  LOG2_floor
 
class  LOG2_floor< 0 >
 
class  LOG2_floor< 1 >
 
class  logger
 
class  loser_tree
 
class  lru_pager
 Pager with LRU replacement strategy. More...
 
class  malloc_setup
 
class  malloc_stats
 Access to some useful malloc statistics. More...
 
class  map
 External associative container (map).
Introduction to map container: see STXXL Map (B+-tree) tutorial.
Design and Internals of map container: see Map (B+-tree). More...
 
class  matrix
 External matrix container.
Introduction to matrix container: see STXXL Matrix tutorial.
Design and Internals of matrix container: see Matrix. More...
 
class  matrix_col_major_iterator
 column-major iterator that points to single elements inside a matrix More...
 
class  matrix_iterator
 general iterator type that points to single elements inside a matrix More...
 
struct  matrix_operation_statistic
 
struct  matrix_operation_statistic_data
 
struct  matrix_operation_statistic_dataset
 
class  matrix_row_major_iterator
 row-major iterator that points to single elements inside a matrix More...
 
class  matrix_swappable_block
 Specialized swappable_block that interprets uninitialized as containing zeros. More...
 
class  mem_file
 Implementation of file based on new[] and memcpy. More...
 
class  migrating_stack
 A stack that migrates from internal memory to external when its size exceeds a certain threshold. More...
 
class  mmap_file
 Implementation of memory mapped access file. More...
 
class  mutex
 
class  new_alloc
 
struct  new_alloc_rebind
 
struct  new_alloc_rebind< Type, Type >
 
struct  NilCase
 
class  noncopyable
 
class  normal_stack
 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
More...
 
struct  offset_allocator
 Allocator functor adaptor. More...
 
class  onoff_switch
 
class  parallel_priority_queue
 Parallelized External Memory Priority Queue. More...
 
struct  Plug
 
class  prefetch_pool
 Implements dynamically resizable prefetching pool. More...
 
class  priority_queue
 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. More...
 
struct  priority_queue_config
 
class  PRIORITY_QUEUE_GENERATOR
 Priority queue type generator.
Introduction to priority queue container: see STXXL Priority Queue tutorial.
Design and Internals of priority queue container: see Priority Queue. More...
 
class  queue
 External FIFO queue container.
Introduction to queue container: see STXXL Queue tutorial
Design and Internals of queue container: see Queue. More...
 
struct  random_number
 Uniform [0, N) pseudo-random generator. More...
 
struct  random_number32
 Fast uniform [0, 2^32) pseudo-random generator with period 2^32, random bits: 32. More...
 
struct  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  random_number64
 Slow and precise uniform [0, 2^64) pseudo-random generator. More...
 
class  random_number8_r
 Fast uniform [0, 255] pseudo-random generator with period 2^8, random bits: 8 (one byte). More...
 
class  random_pager
 Pager with random replacement strategy. More...
 
struct  random_uniform_fast
 Fast uniform [0.0, 1.0) pseudo-random generator. More...
 
struct  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...
 
struct  RC
 Randomized cycling disk allocation scheme functor. More...
 
struct  RC_disk
 
struct  RC_flash
 
class  read_write_pool
 Implements dynamically resizable buffered writing and prefetched reading pool. More...
 
class  request
 Request object encapsulating basic properties like file and offset. More...
 
class  request_interface
 Functional interface of a request. More...
 
class  request_queue
 Interface of a request_queue to which requests can be added and canceled. More...
 
class  request_queue_impl_1q
 Implementation of a local request queue having only one queue for both read and write requests, thus having only one thread. More...
 
class  request_queue_impl_qwqr
 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. More...
 
class  request_queue_impl_worker
 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. More...
 
class  request_with_state
 Request with completion state. More...
 
class  request_with_waiters
 Request that is aware of threads waiting for it to complete. More...
 
class  resource_error
 
class  row_vector
 external row-vector container for matrix multiplication More...
 
struct  run_cursor
 
struct  run_cursor2
 
struct  runs2bid_array_adaptor
 
struct  runs2bid_array_adaptor2
 
class  scoped_mutex_lock
 Aquire a lock that's valid until the end of scope. More...
 
class  scoped_print_timer
 Simple scoped timer, which takes a text message and prints the duration until the scope is destroyed. More...
 
class  semaphore
 
class  sequence
 External sequence or deque container without random access.
Introduction to sequence container: see STXXL Sequence tutorial.
Design and Internals of sequence container: see Queue. More...
 
class  serving_request
 Request which serves an I/O by calling the synchronous routine of the file. More...
 
class  set_switch_handler
 
class  settings
 
class  sim_disk_file
 Implementation of disk emulation. More...
 
class  simdisk_geometry
 
class  simple_vector
 Simpler non-growing vector without initialization. More...
 
struct  single_disk
 'Single disk' disk allocation scheme functor. More...
 
class  singleton
 
class  sorter
 External sorter container.
Introduction to sorter container: see STXXL Sorter tutorial.
Design and Internals of sorter container: see Sorter. More...
 
struct  SR
 Simple randomized disk allocation scheme functor. More...
 
struct  stack_config_generator
 
class  STACK_GENERATOR
 Stack type generator
Introduction to stack container: see STXXL Stack tutorial.
Design and Internals of stack container: see Stack. More...
 
class  state
 
class  stats
 Collects various I/O statistics. More...
 
class  stats_data
 
struct  striping
 Striping disk allocation scheme functor. More...
 
class  swap_vector
 Vector that avoids copying of ValueType objects in push_back() (here: swap_back()) and resize() operations. More...
 
class  swappable_block
 Virtualization of a block of data. Holds information for allocating and swapping. To use in cooperation with block_scheduler. More...
 
class  swappable_block_matrix
 External container for a (sub)matrix. Not intended for direct use. More...
 
class  SWITCH
 
class  SWITCH< tag, NilCase >
 
class  syscall_file
 Implementation of file based on UNIX syscalls. More...
 
class  timer
 Class timer is a simple stop watch timer. More...
 
struct  trigger_entry_iterator
 
struct  tuple
 k-Tuple data type More...
 
struct  tuple< T1, Plug, Plug, Plug, Plug >
 Partial specialization for 1- tuple. More...
 
struct  tuple< T1, T2, Plug, Plug, Plug, Plug >
 Partial specialization for 2- tuple (equivalent to std::pair) More...
 
struct  tuple< T1, T2, T3, Plug, Plug, Plug >
 Partial specialization for 3- tuple (triple) More...
 
struct  tuple< T1, T2, T3, T4, Plug, Plug >
 Partial specialization for 4- tuple. More...
 
struct  tuple< T1, T2, T3, T4, T5, Plug >
 Partial specialization for 5- tuple. More...
 
struct  tuple_base
 
struct  tuple_greater1st
 
struct  tuple_less1st
 
struct  tuple_less1st_less2nd
 
struct  tuple_less2nd
 
struct  tuple_less2nd_less1st
 
struct  two2one_dim_array_adapter_base
 
class  typed_block
 Block containing elements of fixed length. More...
 
class  ufs_file_base
 Base for UNIX file system implementations. More...
 
class  uint_pair
 Construct an 40-bit or 48-bit unsigned integer stored in five or six bytes. More...
 
class  unordered_map
 An external memory implementation of the STL unordered_map container, which is based on an external memory hash map. More...
 
class  unreachable
 
class  vector
 External vector container.
Introduction to vector container: see STXXL Vector tutorial.
Design and Internals of vector container: see Vector. More...
 
class  vector_bufreader
 Buffered sequential reader from a vector using overlapped I/O. More...
 
class  vector_bufreader_iterator
 Adapter for vector_bufreader to match iterator requirements of C++11 range-based loop construct. More...
 
class  vector_bufreader_reverse
 Buffered sequential reverse reader from a vector using overlapped I/O. More...
 
class  vector_bufwriter
 Buffered sequential writer to a vector using overlapped I/O. More...
 
struct  VECTOR_GENERATOR
 External vector type generator. More...
 
class  vector_iterator
 External vector iterator, model of ext_random_access_iterator concept. More...
 
class  wbtl_file
 Implementation of file based on buffered writes and block remapping via a translation layer. More...
 
class  wfs_file_base
 Base for Windows file system implementations. More...
 
class  wincall_file
 Implementation of file based on Windows native I/O calls. More...
 
class  winner_tree
 The class winner_tree is a binary tournament tree. More...
 
class  write_pool
 Implements dynamically resizable buffered writing pool. More...
 

Typedefs

typedef uint64 external_size_type
 
typedef mutex fastmutex
 
typedef short int16
 
typedef int int32
 
typedef long long int int64
 
typedef char int8
 
typedef choose_int_types
< my_pointer_size >::int_type 
int_type
 
typedef unsigned_type internal_size_type
 
typedef counting_ptr< requestrequest_ptr
 A reference counting pointer for request. More...
 
typedef scoped_mutex_lock scoped_fast_mutex_lock
 
typedef settings SETTINGS
 
typedef unsigned short uint16
 
typedef unsigned int uint32
 
typedef uint_pair< uint8uint40
 Construct a 40-bit unsigned integer stored in five bytes. More...
 
typedef uint_pair< uint16uint48
 Construct a 48-bit unsigned integer stored in six bytes. More...
 
typedef unsigned long long int uint64
 
typedef unsigned char uint8
 
typedef choose_int_types
< my_pointer_size >
::unsigned_type 
unsigned_type
 

Enumerations

enum  { my_pointer_size = sizeof(void*) }
 
enum  pager_type { random, lru }
 
enum  stack_behaviour { normal, grow_shrink, grow_shrink2 }
 
enum  stack_externality { external, migrating, internal }
 

Functions

template<typename HighType >
class stxxl::uint_pair __attribute__ ((packed))
 
std::string add_IEC_binary_multiplier (uint64 number, const char *unit="")
 
std::string add_SI_multiplier (uint64 number, const char *unit="")
 
template<size_t Alignment>
void * aligned_alloc (size_t size, size_t meta_info_size=0)
 
template<size_t Alignment>
void aligned_dealloc (void *ptr)
 
stxxl::int64 atoi64 (const char *s)
 
stxxl::uint64 atouint64 (const char *s)
 
template<class RequestIterator >
std::iterator_traits
< RequestIterator >
::difference_type 
cancel_all (RequestIterator reqs_begin, RequestIterator reqs_end)
 Cancel requests. The specified requests are canceled unless already being processed. However, cancelation cannot be guaranteed. Cancelled requests must still be waited for in order to ensure correct operation. More...
 
int check_library_version ()
 Check for a mismatch between library and headers. More...
 
void check_sort_settings ()
 
template<typename TypeKey >
static void classify (TypeKey *a, TypeKey *aEnd, TypeKey *b, int_type *bucket, typename TypeKey::key_type offset, unsigned shift)
 
template<typename Type , typename TypeKey , typename KeyExtractor >
void classify_block (Type *begin, Type *end, TypeKey *&out, int_type *bucket, typename KeyExtractor::key_type offset, unsigned shift, KeyExtractor keyobj)
 
template<typename Type , typename TypeKey , typename KeyExtractor >
void classify_block (Type *begin, Type *end, TypeKey *&out, int_type *bucket, typename Type::key_type offset, unsigned shift, const int_type K, KeyExtractor keyobj)
 
template<class Type >
static void cleanup (Type *b, int_type *bucket, int_type K)
 
void compute_prefetch_schedule (const int_type *first, const int_type *last, int_type *out_first, int_type m, int_type D)
 
void compute_prefetch_schedule (int_type *first, int_type *last, int_type *out_first, int_type m, int_type D)
 
template<typename RunType >
void compute_prefetch_schedule (const RunType &input, int_type *out_first, int_type m, int_type D)
 
template<typename BidIteratorType >
void compute_prefetch_schedule (BidIteratorType input_begin, BidIteratorType input_end, int_type *out_first, int_type m, int_type D)
 
template<typename TypeKey >
static void count (TypeKey *a, TypeKey *aEnd, int_type *bucket, int_type K, typename TypeKey::key_type offset, unsigned shift)
 
filecreate_file (const std::string &io_impl, const std::string &filename, int options, int physical_device_id=file::DEFAULT_QUEUE, int disk_allocator_id=file::NO_ALLOCATOR)
 create fileio object from io_impl string and a few parameters More...
 
filecreate_file (disk_config &config, int mode, int disk_allocator_id=file::NO_ALLOCATOR)
 create fileio object from disk_config parameter More...
 
template<typename Integral , typename Integral2 >
compat::remove_const< Integral >
::type 
div_ceil (Integral n, Integral2 d)
 
bool do_parallel_merge ()
 
static void exclusive_prefix_sum (int_type *bucket, int_type K)
 
static bool exist_file (const std::string &path)
 
template<typename ExtIterator , typename EqualityComparable >
ExtIterator find (ExtIterator begin, ExtIterator end, const EqualityComparable &value, int_type nbuffers=0)
 External equivalent of std::find, see stxxl::find. More...
 
template<typename ExtIterator , typename UnaryFunction >
UnaryFunction for_each (ExtIterator begin, ExtIterator end, UnaryFunction functor, int_type nbuffers=0)
 External equivalent of std::for_each, see stxxl::for_each. More...
 
template<typename ExtIterator , typename UnaryFunction >
UnaryFunction for_each_m (ExtIterator begin, ExtIterator end, UnaryFunction functor, int_type nbuffers=0)
 External equivalent of std::for_each (mutating), see stxxl::for_each_m (mutating). More...
 
std::string format_IEC_size (uint64 number)
 Format a byte size using IEC (Ki, Mi, Gi, Ti) suffixes (powers of two). Returns "123 Ki" or similar. More...
 
std::string format_SI_size (uint64 number)
 Format a byte size using SI (K, M, G, T) suffixes (powers of ten). Returns "123 M" or similar. More...
 
std::string format_with_SI_IEC_unit_multiplier (uint64 number, const char *unit="", int multiplier=1000)
 
template<typename ExtIterator , typename Generator >
void generate (ExtIterator begin, ExtIterator end, Generator generator, int_type nbuffers=0)
 External equivalent of std::generate, see stxxl::generate. More...
 
const char * get_library_version_string ()
 returns "X.Y.Z" version string of library More...
 
const char * get_library_version_string_long ()
 returns longer "X.Y.Z (feature) (version)" string of library More...
 
unsigned get_next_seed ()
 get a seed value for prng initialization, subsequent calls return a sequence of different values More...
 
const char * get_version_string ()
 Return "X.Y.Z" version string (of headers) More...
 
const char * get_version_string_long ()
 Return longer "X.Y.Z (feature) (version)" version string (of headers) More...
 
template<typename IntegerType >
unsigned int ilog2_ceil (const IntegerType &i)
 calculate the log2 ceiling of an integer type (by repeated bit shifts) More...
 
template<typename IntegerType >
unsigned int ilog2_floor (IntegerType i)
 calculate the log2 floor of an integer type (by repeated bit shifts) More...
 
unsigned initial_seed ()
 
template<class Type >
void insertion_sort (Type *a, Type *aEnd)
 
template<typename RandomAccessIterator , typename StrictWeakOrdering >
bool is_heap (RandomAccessIterator first, RandomAccessIterator last, StrictWeakOrdering comp=std::less< typename std::iterator_traits< RandomAccessIterator >::value_type >())
 
template<class ForwardIterator , class StrictWeakOrdering >
bool is_sorted (ForwardIterator first, ForwardIterator last, StrictWeakOrdering comp)
 
template<class ForwardIterator >
bool is_sorted (ForwardIterator first, ForwardIterator last)
 
template<typename ValueType , typename AllocStr , typename SizeType , typename DiffType , unsigned BlockSize, typename PagerType , unsigned PageSize>
bool is_sorted (stxxl::vector_iterator< ValueType, AllocStr, SizeType, DiffType, BlockSize, PagerType, PageSize > first, stxxl::vector_iterator< ValueType, AllocStr, SizeType, DiffType, BlockSize, PagerType, PageSize > last)
 
template<typename ValueType , typename AllocStr , typename SizeType , typename DiffType , unsigned BlockSize, typename PagerType , unsigned PageSize, typename StrictWeakOrdering >
bool is_sorted (stxxl::vector_iterator< ValueType, AllocStr, SizeType, DiffType, BlockSize, PagerType, PageSize > first, stxxl::vector_iterator< ValueType, AllocStr, SizeType, DiffType, BlockSize, PagerType, PageSize > last, StrictWeakOrdering comp)
 
template<typename ExtIterator , typename KeyExtractor >
void ksort (ExtIterator first, ExtIterator last, KeyExtractor keyobj, unsigned_type M)
 Sort records with integer keys, see stxxl::ksort -- Sorting Integer Keys. More...
 
template<typename ExtIterator >
void ksort (ExtIterator first, ExtIterator last, unsigned_type M)
 Sort records with integer keys, see stxxl::ksort -- Sorting Integer Keys. More...
 
template<typename TypeKey >
void l1sort (TypeKey *a, TypeKey *aEnd, TypeKey *b, int_type *bucket, int_type K, typename TypeKey::key_type offset, int shift)
 
template<typename Integral >
Integral log2_ceil (Integral i)
 calculate the log2 floor of an integral type using math.h More...
 
template<typename Integral >
Integral log2_floor (Integral i)
 calculate the log2 ceiling of an integral type using math.h More...
 
size_t longhash1 (uint64 key_)
 
template<typename Iterator >
trigger_entry_iterator< Iterator > make_bid_iterator (Iterator iter)
 
template<typename BlockType , typename SizeType >
element_iterator_traits
< BlockType, SizeType >
::element_iterator 
make_element_iterator (BlockType *blocks, SizeType offset)
 
static HANDLE open_file_impl (const std::string &filename, int mode)
 
template<unsigned BlockSize>
bool operator!= (const BID< BlockSize > &a, const BID< BlockSize > &b)
 
template<class Type1 , class Type2 >
bool operator!= (const new_alloc< Type1 > &, const new_alloc< Type2 > &) throw ()
 
template<class KeyType , class DataType , class CompareType , unsigned RawNodeSize, unsigned RawLeafSize, class PDAllocStrategy >
bool operator!= (const map< KeyType, DataType, CompareType, RawNodeSize, RawLeafSize, PDAllocStrategy > &a, const map< KeyType, DataType, CompareType, RawNodeSize, RawLeafSize, PDAllocStrategy > &b)
 
template<typename ValueType , unsigned PageSize, typename PagerType , unsigned BlockSize, typename AllocStr , typename SizeType >
bool operator!= (stxxl::vector< ValueType, PageSize, PagerType, BlockSize, AllocStr, SizeType > &a, stxxl::vector< ValueType, PageSize, PagerType, BlockSize, AllocStr, SizeType > &b)
 
template<class KeyType , class DataType , class CompareType , unsigned RawNodeSize, unsigned RawLeafSize, class PDAllocStrategy >
bool operator< (const map< KeyType, DataType, CompareType, RawNodeSize, RawLeafSize, PDAllocStrategy > &a, const map< KeyType, DataType, CompareType, RawNodeSize, RawLeafSize, PDAllocStrategy > &b)
 
template<class ValueType , class VectorType >
bool operator< (const deque< ValueType, VectorType > &a, const deque< ValueType, VectorType > &b)
 
template<typename ValueType , unsigned PageSize, typename PagerType , unsigned BlockSize, typename AllocStr , typename SizeType >
bool operator< (stxxl::vector< ValueType, PageSize, PagerType, BlockSize, AllocStr, SizeType > &a, stxxl::vector< ValueType, PageSize, PagerType, BlockSize, AllocStr, SizeType > &b)
 
std::ostream & operator<< (std::ostream &o, const matrix_operation_statistic_data &statsd)
 
std::ostream & operator<< (std::ostream &out, const request &req)
 
std::ostream & operator<< (std::ostream &s, const malloc_stats &st)
 Prints current malloc statistics in a convenient way. More...
 
template<unsigned BlockSize>
std::ostream & operator<< (std::ostream &s, const BID< BlockSize > &bid)
 
std::ostream & operator<< (std::ostream &o, const stats_data &s)
 
std::ostream & operator<< (std::ostream &o, const stats &s)
 
template<class KeyType , class DataType , class CompareType , unsigned RawNodeSize, unsigned RawLeafSize, class PDAllocStrategy >
bool operator<= (const map< KeyType, DataType, CompareType, RawNodeSize, RawLeafSize, PDAllocStrategy > &a, const map< KeyType, DataType, CompareType, RawNodeSize, RawLeafSize, PDAllocStrategy > &b)
 
template<typename ValueType , unsigned PageSize, typename PagerType , unsigned BlockSize, typename AllocStr , typename SizeType >
bool operator<= (stxxl::vector< ValueType, PageSize, PagerType, BlockSize, AllocStr, SizeType > &a, stxxl::vector< ValueType, PageSize, PagerType, BlockSize, AllocStr, SizeType > &b)
 
template<unsigned BlockSize>
bool operator== (const BID< BlockSize > &a, const BID< BlockSize > &b)
 
template<class Type1 , class Type2 >
bool operator== (const new_alloc< Type1 > &, const new_alloc< Type2 > &) throw ()
 
template<class KeyType , class DataType , class CompareType , unsigned RawNodeSize, unsigned RawLeafSize, class PDAllocStrategy >
bool operator== (const map< KeyType, DataType, CompareType, RawNodeSize, RawLeafSize, PDAllocStrategy > &a, const map< KeyType, DataType, CompareType, RawNodeSize, RawLeafSize, PDAllocStrategy > &b)
 
template<class ValueType , class VectorType >
bool operator== (const deque< ValueType, VectorType > &a, const deque< ValueType, VectorType > &b)
 
template<typename ValueType , unsigned PageSize, typename PagerType , unsigned BlockSize, typename AllocStr , typename SizeType >
bool operator== (stxxl::vector< ValueType, PageSize, PagerType, BlockSize, AllocStr, SizeType > &a, stxxl::vector< ValueType, PageSize, PagerType, BlockSize, AllocStr, SizeType > &b)
 
template<class KeyType , class DataType , class CompareType , unsigned RawNodeSize, unsigned RawLeafSize, class PDAllocStrategy >
bool operator> (const map< KeyType, DataType, CompareType, RawNodeSize, RawLeafSize, PDAllocStrategy > &a, const map< KeyType, DataType, CompareType, RawNodeSize, RawLeafSize, PDAllocStrategy > &b)
 
template<typename ValueType , unsigned PageSize, typename PagerType , unsigned BlockSize, typename AllocStr , typename SizeType >
bool operator> (stxxl::vector< ValueType, PageSize, PagerType, BlockSize, AllocStr, SizeType > &a, stxxl::vector< ValueType, PageSize, PagerType, BlockSize, AllocStr, SizeType > &b)
 
template<class KeyType , class DataType , class CompareType , unsigned RawNodeSize, unsigned RawLeafSize, class PDAllocStrategy >
bool operator>= (const map< KeyType, DataType, CompareType, RawNodeSize, RawLeafSize, PDAllocStrategy > &a, const map< KeyType, DataType, CompareType, RawNodeSize, RawLeafSize, PDAllocStrategy > &b)
 
template<typename ValueType , unsigned PageSize, typename PagerType , unsigned BlockSize, typename AllocStr , typename SizeType >
bool operator>= (stxxl::vector< ValueType, PageSize, PagerType, BlockSize, AllocStr, SizeType > &a, stxxl::vector< ValueType, PageSize, PagerType, BlockSize, AllocStr, SizeType > &b)
 
unsigned_type optimal_merge_factor (unsigned_type num_runs, unsigned_type max_concurrent_runs)
 
bool parse_SI_IEC_size (const std::string &str, uint64 &size, char def_unit=0)
 Parse a string like "343KB" or "44 GiB" into the corresponding size in bytes. Returns the number of bytes and sets ok = true if the string could be parsed correctly. If no units indicator is given, use def_unit in k/m/g/t/p (powers of ten) or in K/M/G/T/P (power of two). More...
 
template<class RequestIterator >
RequestIterator poll_any (RequestIterator reqs_begin, RequestIterator reqs_end)
 Polls requests. More...
 
bool poll_any (request_ptr req_array[], size_t count, size_t &index)
 Polls requests. More...
 
template<class Container >
Container::value_type pop (Container &c)
 
template<class Container >
Container::value_type pop_back (Container &c)
 
template<class Container >
Container::value_type pop_begin (Container &c)
 
template<class Container >
Container::value_type pop_front (Container &c)
 
void print_library_version_mismatch ()
 Check and print mismatch between header and library versions. More...
 
void print_msg (const char *label, const std::string &msg, unsigned flags)
 
static void print_stacktrace (FILE *out=stderr, unsigned int max_frames=64)
 
template<typename ExtIterator , typename RandomNumberGenerator , unsigned BlockSize, unsigned PageSize, typename AllocStrategy >
void random_shuffle (ExtIterator first, ExtIterator last, RandomNumberGenerator &rand, unsigned_type M, AllocStrategy AS=STXXL_DEFAULT_ALLOC_STRATEGY())
 External equivalent of std::random_shuffle. More...
 
template<typename Type , typename AllocStrategy , typename SizeType , typename DiffType , unsigned BlockSize, typename PageType , unsigned PageSize, typename RandomNumberGenerator >
void random_shuffle (stxxl::vector_iterator< Type, AllocStrategy, SizeType, DiffType, BlockSize, PageType, PageSize > first, stxxl::vector_iterator< Type, AllocStrategy, SizeType, DiffType, BlockSize, PageType, PageSize > last, RandomNumberGenerator &rand, unsigned_type M)
 External equivalent of std::random_shuffle (specialization for stxxl::vector) More...
 
template<typename Type , typename AllocStrategy , typename SizeType , typename DiffType , unsigned BlockSize, typename PageType , unsigned PageSize>
void random_shuffle (stxxl::vector_iterator< Type, AllocStrategy, SizeType, DiffType, BlockSize, PageType, PageSize > first, stxxl::vector_iterator< Type, AllocStrategy, SizeType, DiffType, BlockSize, PageType, PageSize > last, unsigned_type M)
 External equivalent of std::random_shuffle (specialization for stxxl::vector) More...
 
int register_exit_handler (void(*function)(void))
 
template<typename Integral >
static Integral round_up_to_power_of_two (Integral n)
 
template<typename Integral >
Integral round_up_to_power_of_two (Integral n, unsigned_type power)
 round n up to next larger multiple of 2^power. example: (48,4) = 64, (48,3) = 48. More...
 
void run_exit_handlers ()
 
seed_generator_t & seed_generator ()
 
void set_seed (unsigned seed)
 set the global stxxl seed value More...
 
template<typename ExtIterator , typename StrictWeakOrdering >
void sort (ExtIterator first, ExtIterator last, StrictWeakOrdering cmp, unsigned_type M)
 Sort records comparison-based, see stxxl::sort -- Sorting Comparison-Based. More...
 
template<unsigned BlockSize, class RandomAccessIterator , class CmpType , class AllocStr >
void sort (RandomAccessIterator begin, RandomAccessIterator end, CmpType cmp, unsigned_type MemSize, AllocStr AS)
 Sorts range of any random access iterators externally. More...
 
template<class Type >
void sort2 (Type &a, Type &b)
 
template<class Type >
void sort3 (Type &a, Type &b, Type &c)
 
template<class Type >
void sort4 (Type &a, Type &b, Type &c, Type &d)
 
template<class Type >
void sort5 (Type &a, Type &b, Type &c, Type &d, Type &e)
 
unsigned sort_memory_usage_factor ()
 
static std::vector< std::string > split (const std::string &str, const std::string &sep, unsigned int min_fields=0, unsigned int limit_fields=std::numeric_limits< unsigned int >::max())
 Split a string by given separator string. Returns a vector of strings with at least min_fields and at most limit_fields. More...
 
void srandom_number32 (unsigned seed=get_next_seed())
 Set a seed value for random_number32. More...
 
template<typename ExtIterator >
void stable_ksort (ExtIterator first, ExtIterator last, unsigned_type M)
 Sort records with integer keys. More...
 
template<typename ExtIterator , typename StrictWeakOrdering >
void stl_in_memory_sort (ExtIterator first, ExtIterator last, StrictWeakOrdering cmp)
 
template<typename Type >
const Type & STXXL_MAX (const Type &a, const Type &b)
 
template<typename Type >
const Type & STXXL_MIN (const Type &a, const Type &b)
 
template<typename U >
void STXXL_UNUSED (const U &)
 
template<class A >
void 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 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 Type >
void swap_1D_arrays (Type *a, Type *b, unsigned_type size)
 
template<class ForwardIterator , class UnaryPredicate >
ForwardIterator 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 timestamp ()
 Returns number of seconds since the epoch, high resolution. More...
 
template<typename Type >
std::string to_str (const Type &t)
 Format any ostream-able type into a string. More...
 
int version_integer ()
 return integer version number of the STXXL library More...
 
int version_major ()
 return X if the STXXL library version is X.Y.Z More...
 
int version_minor ()
 return Y if the STXXL library version is X.Y.Z More...
 
int version_patch ()
 return Z if the STXXL library version is X.Y.Z More...
 
template<class RequestIterator >
void wait_all (RequestIterator reqs_begin, RequestIterator reqs_end)
 Collection of functions to track statuses of a number of requests. More...
 
void wait_all (request_ptr req_array[], size_t count)
 Suspends calling thread until all given requests are completed. More...
 
template<class RequestIterator >
RequestIterator wait_any (RequestIterator reqs_begin, RequestIterator reqs_end)
 Suspends calling thread until any of requests is completed. More...
 
size_t wait_any (request_ptr req_array[], size_t count)
 Suspends calling thread until any of requests is completed. More...
 

Variables

const int DEFAULT = ~(~0u >> 1)
 
static const double program_start_time_stamp = timestamp()
 
unsigned ran32State = get_next_seed()
 

Detailed Description

STXXL library namespace

Typedef Documentation

Examples:
examples/applications/skew3.cpp.

Definition at line 67 of file types.h.

Definition at line 106 of file mutex.h.

typedef short stxxl::int16

Definition at line 34 of file types.h.

typedef int stxxl::int32

Definition at line 36 of file types.h.

typedef long long int stxxl::int64

Definition at line 38 of file types.h.

typedef char stxxl::int8

Definition at line 32 of file types.h.

Definition at line 63 of file types.h.

Examples:
examples/applications/skew3.cpp.

Definition at line 66 of file types.h.

Definition at line 158 of file mutex.h.

Definition at line 35 of file settings.h.

typedef unsigned short stxxl::uint16

Definition at line 35 of file types.h.

typedef unsigned int stxxl::uint32

Definition at line 37 of file types.h.

typedef unsigned long long int stxxl::uint64
typedef unsigned char stxxl::uint8

Definition at line 33 of file types.h.

Enumeration Type Documentation

anonymous enum
Enumerator
my_pointer_size 

Definition at line 43 of file types.h.

Function Documentation

template<typename HighType >
class stxxl::uint_pair stxxl::__attribute__ ( (packed)  )
template<size_t Alignment>
void* stxxl::aligned_alloc ( size_t  size,
size_t  meta_info_size = 0 
)
inline
template<size_t Alignment>
void stxxl::aligned_dealloc ( void *  ptr)
inline

Definition at line 117 of file aligned_alloc.h.

References free(), and STXXL_VERBOSE_ALIGNED_ALLOC.

stxxl::int64 stxxl::atoi64 ( const char *  s)
inline

Definition at line 122 of file utils.h.

stxxl::uint64 stxxl::atouint64 ( const char *  s)
inline
Examples:
examples/algo/phonebills_genlog.cpp.

Definition at line 133 of file utils.h.

int stxxl::check_library_version ( )
inline

Check for a mismatch between library and headers.

Definition at line 76 of file version.h.

References STXXL_VERSION_MAJOR, STXXL_VERSION_MINOR, STXXL_VERSION_PATCH, version_major(), version_minor(), and version_patch().

Referenced by print_library_version_mismatch().

template<typename TypeKey >
static void stxxl::classify ( TypeKey *  a,
TypeKey *  aEnd,
TypeKey *  b,
int_type *  bucket,
typename TypeKey::key_type  offset,
unsigned  shift 
)
static

Definition at line 62 of file intksort.h.

Referenced by stxxl::ksort_local::create_runs(), l1sort(), and stable_ksort().

template<typename Type , typename TypeKey , typename KeyExtractor >
void stxxl::classify_block ( Type *  begin,
Type *  end,
TypeKey *&  out,
int_type *  bucket,
typename KeyExtractor::key_type  offset,
unsigned  shift,
KeyExtractor  keyobj 
)

Definition at line 329 of file intksort.h.

Referenced by stxxl::ksort_local::create_runs(), and stable_ksort().

template<typename Type , typename TypeKey , typename KeyExtractor >
void stxxl::classify_block ( Type *  begin,
Type *  end,
TypeKey *&  out,
int_type *  bucket,
typename Type::key_type  offset,
unsigned  shift,
const int_type  K,
KeyExtractor  keyobj 
)

Definition at line 343 of file intksort.h.

References STXXL_UNUSED().

template<class Type >
static void stxxl::cleanup ( Type *  b,
int_type *  bucket,
int_type  K 
)
static

Definition at line 261 of file intksort.h.

References check_sort_settings(), insertion_sort(), sort(), sort2(), sort3(), sort4(), and sort5().

Referenced by l1sort().

void stxxl::compute_prefetch_schedule ( int_type *  first,
int_type *  last,
int_type *  out_first,
int_type  m,
int_type  D 
)
inline

Definition at line 35 of file async_schedule.h.

References compute_prefetch_schedule().

template<typename RunType >
void stxxl::compute_prefetch_schedule ( const RunType &  input,
int_type *  out_first,
int_type  m,
int_type  D 
)
template<typename BidIteratorType >
void stxxl::compute_prefetch_schedule ( BidIteratorType  input_begin,
BidIteratorType  input_end,
int_type *  out_first,
int_type  m,
int_type  D 
)
template<typename TypeKey >
static void stxxl::count ( TypeKey *  a,
TypeKey *  aEnd,
int_type *  bucket,
int_type  K,
typename TypeKey::key_type  offset,
unsigned  shift 
)
static
file * stxxl::create_file ( const std::string &  io_impl,
const std::string &  filename,
int  options,
int  physical_device_id = file::DEFAULT_QUEUE,
int  disk_allocator_id = file::NO_ALLOCATOR 
)

create fileio object from io_impl string and a few parameters

Definition at line 27 of file create_file.cpp.

References stxxl::disk_config::direct, and stxxl::disk_config::queue.

Referenced by stxxl::block_manager::block_manager().

static void stxxl::exclusive_prefix_sum ( int_type *  bucket,
int_type  K 
)
inlinestatic

Definition at line 48 of file intksort.h.

Referenced by stxxl::ksort_local::create_runs(), l1sort(), and stable_ksort().

static bool stxxl::exist_file ( const std::string &  path)
inlinestatic

Definition at line 35 of file config.cpp.

Referenced by stxxl::config::find_config().

std::string stxxl::format_IEC_size ( uint64  number)

Format a byte size using IEC (Ki, Mi, Gi, Ti) suffixes (powers of two). Returns "123 Ki" or similar.

Definition at line 111 of file utils.cpp.

Referenced by stxxl::custom_stats_counter< ValueType >::as_memory_amount(), and stxxl::scoped_print_timer::~scoped_print_timer().

std::string stxxl::format_SI_size ( uint64  number)

Format a byte size using SI (K, M, G, T) suffixes (powers of ten). Returns "123 M" or similar.

Definition at line 94 of file utils.cpp.

const char * stxxl::get_library_version_string ( )

returns "X.Y.Z" version string of library

Definition at line 40 of file version.cpp.

References get_version_string().

Referenced by print_library_version_mismatch().

const char * stxxl::get_library_version_string_long ( )

returns longer "X.Y.Z (feature) (version)" string of library

Definition at line 45 of file version.cpp.

References get_version_string_long().

unsigned stxxl::get_next_seed ( )

get a seed value for prng initialization, subsequent calls return a sequence of different values

Definition at line 73 of file seed.cpp.

References seed_generator().

const char* stxxl::get_version_string ( )
inline

Return "X.Y.Z" version string (of headers)

Definition at line 32 of file version.h.

References STXXL_VERSION_STRING.

Referenced by get_library_version_string().

const char* stxxl::get_version_string_long ( )
inline

Return longer "X.Y.Z (feature) (version)" version string (of headers)

Definition at line 38 of file version.h.

References stringify, STXXL_VERSION_GIT_SHA1, STXXL_VERSION_PHASE, and STXXL_VERSION_STRING.

Referenced by stxxl::config::config(), and get_library_version_string_long().

template<typename IntegerType >
unsigned int stxxl::ilog2_floor ( IntegerType  i)

calculate the log2 floor of an integer type (by repeated bit shifts)

Definition at line 178 of file utils.h.

Referenced by stxxl::ksort_local::create_runs(), stxxl::winner_tree< stxxl::parallel_priority_queue::external_min_comparator >::double_num_slots(), ilog2_ceil(), and stable_ksort().

unsigned stxxl::initial_seed ( )
inline

Definition at line 48 of file seed.cpp.

Referenced by seed_generator().

template<class Type >
void stxxl::insertion_sort ( Type *  a,
Type *  aEnd 
)
inline

Definition at line 228 of file intksort.h.

Referenced by cleanup().

template<typename RandomAccessIterator , typename StrictWeakOrdering >
bool stxxl::is_heap ( RandomAccessIterator  first,
RandomAccessIterator  last,
StrictWeakOrdering  comp = std::less<typename std::iterator_traits<RandomAccessIterator> ::value_type>() 
)
template<class ForwardIterator >
bool stxxl::is_sorted ( ForwardIterator  first,
ForwardIterator  last 
)

Definition at line 40 of file is_sorted.h.

References is_sorted().

template<typename TypeKey >
void stxxl::l1sort ( TypeKey *  a,
TypeKey *  aEnd,
TypeKey *  b,
int_type *  bucket,
int_type  K,
typename TypeKey::key_type  offset,
int  shift 
)

Definition at line 317 of file intksort.h.

References classify(), cleanup(), count(), and exclusive_prefix_sum().

Referenced by stxxl::ksort_local::create_runs(), and stable_ksort().

template<typename Integral >
Integral stxxl::log2_ceil ( Integral  i)
inline

calculate the log2 floor of an integral type using math.h

Definition at line 162 of file utils.h.

template<typename Integral >
Integral stxxl::log2_floor ( Integral  i)
inline

calculate the log2 ceiling of an integral type using math.h

Definition at line 169 of file utils.h.

static HANDLE stxxl::open_file_impl ( const std::string &  filename,
int  mode 
)
static
template<class Type1 , class Type2 >
bool stxxl::operator!= ( const new_alloc< Type1 > &  ,
const new_alloc< Type2 > &   
)
throw (
)
inline

Definition at line 134 of file new_alloc.h.

std::ostream& stxxl::operator<< ( std::ostream &  s,
const malloc_stats &  st 
)
inline

Prints current malloc statistics in a convenient way.

Definition at line 119 of file malloc.h.

References STXXL_UNUSED().

template<class Type1 , class Type2 >
bool stxxl::operator== ( const new_alloc< Type1 > &  ,
const new_alloc< Type2 > &   
)
throw (
)
inline

Definition at line 127 of file new_alloc.h.

unsigned_type stxxl::optimal_merge_factor ( unsigned_type  num_runs,
unsigned_type  max_concurrent_runs 
)
inline
bool stxxl::parse_SI_IEC_size ( const std::string &  str,
uint64 &  size,
char  def_unit = 0 
)

Parse a string like "343KB" or "44 GiB" into the corresponding size in bytes. Returns the number of bytes and sets ok = true if the string could be parsed correctly. If no units indicator is given, use def_unit in k/m/g/t/p (powers of ten) or in K/M/G/T/P (power of two).

Parse a string like "343KB" or " 44 GiB " into the corresponding size in bytes.

Definition at line 24 of file utils.cpp.

Referenced by stxxl::disk_config::parse_line(), stxxl::cmdline_parser::argument_bytes32::process(), and stxxl::cmdline_parser::argument_bytes64::process().

template<class Container >
Container::value_type stxxl::pop ( Container &  c)
inline

Definition at line 279 of file utils.h.

template<class Container >
Container::value_type stxxl::pop_back ( Container &  c)
inline

Definition at line 295 of file utils.h.

Referenced by stxxl::deque< ValueType, VectorType >::resize().

template<class Container >
Container::value_type stxxl::pop_front ( Container &  c)
inline

Definition at line 287 of file utils.h.

void stxxl::print_library_version_mismatch ( )
inline

Check and print mismatch between header and library versions.

Definition at line 88 of file version.h.

References check_library_version(), get_library_version_string(), STXXL_ERRMSG, and STXXL_VERSION_STRING.

Referenced by stxxl::config::config().

static void stxxl::print_stacktrace ( FILE *  out = stderr,
unsigned int  max_frames = 64 
)
inlinestatic

Print a demangled stack backtrace of the caller function to FILE* out.

Definition at line 27 of file stacktrace.h.

References free(), and malloc().

int stxxl::register_exit_handler ( void(*)(void)  function)
template<typename Integral >
Integral stxxl::round_up_to_power_of_two ( Integral  n,
unsigned_type  power 
)
inline

round n up to next larger multiple of 2^power. example: (48,4) = 64, (48,3) = 48.

Definition at line 266 of file utils.h.

void stxxl::run_exit_handlers ( )

Definition at line 34 of file exithandler.cpp.

seed_generator_t& stxxl::seed_generator ( )

Definition at line 42 of file seed.cpp.

References initial_seed().

Referenced by get_next_seed(), and set_seed().

void stxxl::set_seed ( unsigned  seed)

set the global stxxl seed value

Definition at line 67 of file seed.cpp.

References seed_generator().

template<class Type >
void stxxl::sort2 ( Type &  a,
Type &  b 
)
inline

Definition at line 76 of file intksort.h.

Referenced by cleanup(), sort4(), and sort5().

template<class Type >
void stxxl::sort3 ( Type &  a,
Type &  b,
Type &  c 
)
inline

Definition at line 84 of file intksort.h.

Referenced by cleanup().

template<class Type >
void stxxl::sort4 ( Type &  a,
Type &  b,
Type &  c,
Type &  d 
)
inline

Definition at line 130 of file intksort.h.

References sort2().

Referenced by cleanup().

template<class Type >
void stxxl::sort5 ( Type &  a,
Type &  b,
Type &  c,
Type &  d,
Type &  e 
)
inline

Definition at line 182 of file intksort.h.

References sort2().

Referenced by cleanup().

static std::vector<std::string> stxxl::split ( const std::string &  str,
const std::string &  sep,
unsigned int  min_fields = 0,
unsigned int  limit_fields = std::numeric_limits<unsigned int>::max() 
)
inlinestatic

Split a string by given separator string. Returns a vector of strings with at least min_fields and at most limit_fields.

Definition at line 56 of file utils.h.

Referenced by stxxl::parallel::equally_split(), stxxl::btree::normal_leaf< KeyType, DataType, KeyCmp, LogNElem, BTreeType >::insert(), stxxl::disk_config::parse_fileio(), stxxl::disk_config::parse_line(), stxxl::parallel::prepare_unguarded(), and stxxl::parallel::prepare_unguarded_sentinel().

template<typename ExtIterator , typename StrictWeakOrdering >
void stxxl::stl_in_memory_sort ( ExtIterator  first,
ExtIterator  last,
StrictWeakOrdering  cmp 
)
template<class Type >
void stxxl::swap_1D_arrays ( Type *  a,
Type *  b,
unsigned_type  size 
)
inline
template<typename Type >
std::string stxxl::to_str ( const Type &  t)

Format any ostream-able type into a string.

Definition at line 97 of file utils.h.

Referenced by stxxl::disk_config::parse_line().

int stxxl::version_integer ( )

return integer version number of the STXXL library

Definition at line 35 of file version.cpp.

References STXXL_VERSION_INTEGER.

int stxxl::version_major ( )

return X if the STXXL library version is X.Y.Z

Definition at line 20 of file version.cpp.

References STXXL_VERSION_MAJOR.

Referenced by check_library_version().

int stxxl::version_minor ( )

return Y if the STXXL library version is X.Y.Z

Definition at line 25 of file version.cpp.

References STXXL_VERSION_MINOR.

Referenced by check_library_version().

int stxxl::version_patch ( )

return Z if the STXXL library version is X.Y.Z

Definition at line 30 of file version.cpp.

References STXXL_VERSION_PATCH.

Referenced by check_library_version().

Variable Documentation

const int stxxl::DEFAULT = ~(~0u >> 1)

Definition at line 61 of file tmeta.h.

const double stxxl::program_start_time_stamp = timestamp()
static

Definition at line 31 of file verbose.cpp.

Referenced by print_msg().

unsigned stxxl::ran32State = get_next_seed()

Definition at line 20 of file rand.cpp.

Referenced by stxxl::random_number32::operator()(), and srandom_number32().