Stxxl  1.4.0
Namespaces | Classes | Typedefs | Enumerations | Functions | Variables
stxxl Namespace Reference

<stxxl> library namespace More...

Namespaces

namespace  async_schedule_local
namespace  btree
namespace  compat
namespace  helper
namespace  ksort_local
namespace  priority_queue_local
namespace  sort_helper
namespace  sort_local
namespace  stable_ksort_local
namespace  stream
 

Stream package subnamespace.


Classes

struct  RunsToBIDArrayAdaptor
struct  RunsToBIDArrayAdaptor2
struct  trigger_entry_iterator
struct  ksort_defaultkey
class  loser_tree
struct  run_cursor
struct  run_cursor2
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  io_error
class  resource_error
class  bad_ext_alloc
class  bad_parameter
class  unreachable
class  logger
class  mutex
class  scoped_mutex_lock
 Aquire a lock that's valid until the end of scope. More...
struct  new_alloc_rebind< T, T >
struct  new_alloc_rebind
class  new_alloc
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_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  random_number
 Uniform [0, N) pseudo-random generator. More...
struct  random_number64
 Slow and precise uniform [0, 2^64) pseudo-random generator. More...
class  semaphore
class  settings
class  shared_object_pointer
 Behaves much like a Pointer, plus deleteing the referred object with it's last reference and ability to unify, i.e. make and refer a copy if the original object was shared. More...
class  const_shared_object_pointer
 Behaves much like a Pointer, plus deleteing the referred object with it's last reference and ability to unify, i.e. make and refer a copy if the original object was shared. More...
class  shared_object
 Provides reference counting abilities for use with shared_object_pointer. More...
class  simple_vector
class  state
class  onoff_switch
class  timer
struct  IF
 IF template metaprogramming statement. More...
struct  IF< false, Type1, Type2 >
struct  IF_N
struct  IF_N< false, Num1, Num2 >
struct  NilCase
struct  CASE
class  SWITCH
class  SWITCH< tag, NilCase >
class  LOG2_floor
class  LOG2_floor< 1 >
class  LOG2_floor< 0 >
class  LOG2
class  LOG2< 1 >
class  LOG2< 0 >
struct  Plug
struct  tuple_base
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  choose_int_types
struct  choose_int_types< 4 >
struct  choose_int_types< 8 >
class  deque_iterator
class  const_deque_iterator
class  deque
 A deque container. More...
class  deque2
 External deque container without random access. More...
class  map
 External associative container. More...
class  column_vector
 external column-vector container for matrix multiplication More...
class  row_vector
 external row-vector container for matrix multiplication More...
class  matrix_swappable_block
 Specialized swappable_block that interprets uninitialized as containing zeros. More...
class  swappable_block_matrix
 External container for a (sub)matrix. Not intended for direct use. More...
class  matrix_iterator
 general iterator type that points to single elements inside a matrix More...
class  matrix_row_major_iterator
 row-major iterator that points to single elements inside a matrix More...
class  matrix_col_major_iterator
 column-major 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_matrix_col_major_iterator
 column-major const_iterator that points to single elements inside a matrix More...
class  matrix
 External matrix container. More...
struct  matrix_operation_statistic_dataset
struct  matrix_operation_statistic
struct  matrix_operation_statistic_data
struct  static_quadtree
 A static_quadtree holds 4^Level elements arranged in a quad tree. More...
struct  static_quadtree< ValueType, 0 >
struct  feedable_strassen_winograd
struct  feedable_strassen_winograd< ValueType, BlockSideLength, 0, AExists, BExists >
struct  matrix_to_quadtree
struct  matrix_to_quadtree< ValueType, BlockSideLength, 0 >
struct  feedable_strassen_winograd_block_grained
struct  feedable_strassen_winograd_block_grained< ValueType, BlockSideLength, 0, AExists, BExists >
struct  matrix_to_quadtree_block_grained
struct  matrix_to_quadtree_block_grained< ValueType, BlockSideLength, 0, Granularity >
struct  matrix_operations
struct  switch_major_index< BlockSideLength, false >
struct  switch_major_index< BlockSideLength, true >
struct  low_level_matrix_binary_ass_op
 c = a <op> b; for arbitrary entries More...
struct  low_level_matrix_unary_ass_op
 c <op>= a; for arbitrary entries More...
struct  low_level_matrix_unary_op
 c = <op>a; for arbitrary entries More...
struct  low_level_matrix_multiply_and_add
 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 More...
class  random_pager
 Pager with random replacement strategy. More...
class  lru_pager
 Pager with LRU replacement strategy. More...
struct  priority_queue_config
class  priority_queue
 External priority queue data structure. More...
class  PRIORITY_QUEUE_GENERATOR
 Priority queue type generator. More...
class  queue
 External FIFO queue container. More...
class  sorter
 External Sorter: use stream package objects to keep a sorted container. More...
struct  stack_config_generator
class  normal_stack
 External stack container. 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  migrating_stack
 A stack that migrates from internal memory to external when its size exceeds a certain threshold. More...
class  STACK_GENERATOR
 Stack type generator. More...
class  double_blocked_index
class  bid_vector
class  vector_iterator
 External vector iterator, model of ext_random_access_iterator concept. More...
class  const_vector_iterator
 Const external vector iterator, model of ext_random_access_iterator concept. More...
class  vector
 External vector container. More...
struct  VECTOR_GENERATOR
 External vector type generator. More...
class  vector_bufwriter
 Buffered sequential writer to a vector using overlapped I/O. More...
class  completion_handler_impl
class  completion_handler1
class  completion_handler
 Completion handler class (Loki-style) More...
struct  default_completion_handler
 Default completion handler class. More...
class  disk_queued_file
 Implementation of some file methods based on serving_request. More...
class  disk_queues
 Encapsulates disk queues. 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...
class  stats
 Collects various I/O statistics. More...
class  stats_data
class  mem_file
 Implementation of file based on new[] and memcpy. More...
class  mmap_file
 Implementation of memory mapped access file. More...
class  request
 Request with basic properties like file and offset. More...
class  request_interface
 Functional interface of a request. More...
class  request_ptr
 Implemented as reference counting smart pointer. More...
class  request_queue
class  request_queue_impl_1q
class  request_queue_impl_qwqr
class  request_queue_impl_worker
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  serving_request
 Request which serves an I/O by calling the synchronous routine of the file. More...
class  DiskGeometry
class  IC35L080AVVA07
class  sim_disk_file
 Implementation of disk emulation. More...
class  syscall_file
 Implementation of file based on UNIX syscalls. More...
class  ufs_file_base
 Base for UNIX file system implementations. More...
class  wbtl_file
 Implementation of file based on buffered writes and block remapping via a translation layer. More...
class  blocked_index
struct  TwoToOneDimArrayAdaptorBase
class  ArrayOfSequencesIterator
struct  element_iterator_traits
struct  BID
 Block identifier class. More...
struct  BID< 0 >
 Specialization of block identifier class (BID) for variable size block size. More...
class  BIDArray
struct  basic_allocation_strategy
 example disk allocation scheme functor More...
struct  striping
 striping disk allocation scheme functor More...
struct  FR
 fully randomized disk allocation scheme functor More...
struct  SR
 simple randomized disk allocation scheme functor More...
struct  RC
 randomized cycling disk allocation scheme functor More...
struct  RC_disk
struct  RC_flash
struct  single_disk
 'single disk' disk allocation scheme functor More...
struct  offset_allocator
 Allocator functor adaptor. More...
struct  interleaved_striping
struct  interleaved_FR
struct  interleaved_SR
struct  interleaved_RC
struct  first_disk_only
struct  interleaved_alloc_traits
struct  interleaved_alloc_traits< striping >
struct  interleaved_alloc_traits< FR >
struct  interleaved_alloc_traits< SR >
struct  interleaved_alloc_traits< RC >
struct  interleaved_alloc_traits< RC_disk >
struct  interleaved_alloc_traits< RC_flash >
struct  interleaved_alloc_traits< single_disk >
class  set_switch_handler
class  block_prefetcher
 Encapsulates asynchronous prefetching engine. 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  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_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  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  buf_istream
 Buffered input stream. More...
class  buf_ostream
 Buffered output stream. More...
class  buffered_writer
 Encapsulates asynchronous buffered block writing engine. More...
class  config
 Access point to disks properties. More...
class  DiskAllocator
class  block_manager
 Block manager class. More...
class  FileCreator
class  prefetch_pool
 Implements dynamically resizable prefetching pool. More...
class  read_write_pool
 Implements dynamically resizable buffered writing and prefetched reading pool. More...
class  filler_struct__
class  filler_struct__< 0 >
class  element_block
 Contains data elements for stxxl::typed_block , not intended for direct use. More...
class  block_w_bids
 Contains BID references for stxxl::typed_block , not intended for direct use. More...
class  block_w_bids< T, Size_, RawSize_, 0 >
class  block_w_info
 Contains per block information for stxxl::typed_block , not intended for direct use. More...
class  block_w_info< T_, RawSize_, NBids_, void >
class  add_filler
 Contains per block filler for stxxl::typed_block , not intended for direct use. More...
class  add_filler< BaseType_, 0 >
class  expand_struct
 Helper to compute the size of the filler , not intended for direct use. More...
class  typed_block
 Block containing elements of fixed length. More...
class  write_pool
 Implements dynamically resizable buffered writing pool. More...
class  malloc_stats
 Access to some useful malloc statistics. More...
class  malloc_setup

Typedefs

typedef settings SETTINGS
typedef long long int int64
typedef unsigned long long int uint64
typedef choose_int_types
< my_pointer_size >::int_type 
int_type
typedef choose_int_types
< my_pointer_size >
::unsigned_type 
unsigned_type
typedef unsigned_type internal_size_type
typedef uint64 external_size_type

Enumerations

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

Functions

filecreate_file (const std::string &io_impl, const std::string &filename, int options, int physical_device_id, int allocator_id)
std::string format_with_SI_IEC_unit_multiplier (uint64 number, const char *unit, int multiplier)
std::ostream & operator<< (std::ostream &o, const stats_data &s)
int register_exit_handler (void(*function)(void))
void run_exit_handlers ()
unsigned initial_seed ()
seed_generator_t & seed_generator ()
void set_seed (unsigned seed)
 set the global stxxl seed value
unsigned get_next_seed ()
 get a seed value for prng initialization, subsequent calls return a sequence of different values
void print_msg (const char *label, const std::string &msg, unsigned flags)
int version_major ()
int version_minor ()
int version_patchlevel ()
const char * get_version_string ()
template<typename MAPTYPE >
bool there (const MAPTYPE &map_, const typename MAPTYPE::key_type &key, const typename MAPTYPE::mapped_type &data)
template<typename MAPTYPE >
bool is_equal_end (const MAPTYPE &map_, typename MAPTYPE::const_iterator &iter)
template<typename value_type >
bool is_same (value_type &v1, value_type &v2)
template<typename value_type >
bool is_same (const value_type &v1, const value_type &v2)
template<typename MAPTYPE >
bool not_there (const MAPTYPE &map_, const typename MAPTYPE::key_type &key)
template<typename MAPTYPE >
bool is_empty (const MAPTYPE &map_)
template<typename MAPTYPE >
bool is_end (MAPTYPE &map_, typename MAPTYPE::iterator &iter)
template<typename MAPTYPE >
bool is_end (const MAPTYPE &map_, typename MAPTYPE::const_iterator &iter)
template<typename MAPTYPE >
bool is_size (const MAPTYPE &map_, const typename MAPTYPE::size_type size)
void compute_prefetch_schedule (const int_type *first, const int_type *last, int_type *out_first, int_type m, int_type D)
template<typename Iterator >
trigger_entry_iterator< Iterator > make_bid_iterator (Iterator iter)
void compute_prefetch_schedule (int_type *first, int_type *last, int_type *out_first, int_type m, int_type D)
template<typename run_type >
void compute_prefetch_schedule (const run_type &input, int_type *out_first, int_type m, int_type D)
template<typename bid_iterator_type >
void compute_prefetch_schedule (bid_iterator_type input_begin, bid_iterator_type input_end, int_type *out_first, int_type m, int_type D)
template<typename ExtIterator_ , typename StrictWeakOrdering_ >
void stl_in_memory_sort (ExtIterator_ first, ExtIterator_ last, StrictWeakOrdering_ cmp)
template<typename type_key >
static void count (type_key *a, type_key *aEnd, int_type *bucket, int_type K, typename type_key::key_type offset, unsigned shift)
static void exclusive_prefix_sum (int_type *bucket, int_type K)
template<typename type_key >
static void classify (type_key *a, type_key *aEnd, type_key *b, int_type *bucket, typename type_key::key_type offset, unsigned shift)
template<class T >
void sort2 (T &a, T &b)
template<class T >
void sort3 (T &a, T &b, T &c)
template<class T >
void sort4 (T &a, T &b, T &c, T &d)
template<class T >
void sort5 (T &a, T &b, T &c, T &d, T &e)
template<class T >
void insertion_sort (T *a, T *aEnd)
template<class T >
static void cleanup (T *b, int_type *bucket, int_type K)
template<typename type_key >
void l1sort (type_key *a, type_key *aEnd, type_key *b, int_type *bucket, int_type K, typename type_key::key_type offset, int shift)
template<typename type , typename type_key , typename key_extractor >
void classify_block (type *begin, type *end, type_key *&out, int_type *bucket, typename key_extractor::key_type offset, unsigned shift, key_extractor keyobj)
template<typename type , typename type_key , typename key_extractor >
void classify_block (type *begin, type *end, type_key *&out, int_type *bucket, typename type::key_type offset, unsigned shift, const int_type K, key_extractor keyobj)
template<typename ExtIterator_ , typename KeyExtractor_ >
void ksort (ExtIterator_ first_, ExtIterator_ last_, KeyExtractor_ keyobj, unsigned_type M__)
 Sort records with integer keys.
template<typename ExtIterator_ >
void ksort (ExtIterator_ first_, ExtIterator_ last_, unsigned_type M__)
 Sort records with integer keys.
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.
template<typename Tp_ , typename AllocStrategy_ , typename SzTp_ , typename DiffTp_ , unsigned BlockSize_, typename PgTp_ , unsigned PageSize_, typename RandomNumberGenerator_ >
void random_shuffle (stxxl::vector_iterator< Tp_, AllocStrategy_, SzTp_, DiffTp_, BlockSize_, PgTp_, PageSize_ > first, stxxl::vector_iterator< Tp_, AllocStrategy_, SzTp_, DiffTp_, BlockSize_, PgTp_, PageSize_ > last, RandomNumberGenerator_ &rand, unsigned_type M)
 External equivalent of std::random_shuffle (specialization for stxxl::vector)
template<typename Tp_ , typename AllocStrategy_ , typename SzTp_ , typename DiffTp_ , unsigned BlockSize_, typename PgTp_ , unsigned PageSize_>
void random_shuffle (stxxl::vector_iterator< Tp_, AllocStrategy_, SzTp_, DiffTp_, BlockSize_, PgTp_, PageSize_ > first, stxxl::vector_iterator< Tp_, AllocStrategy_, SzTp_, DiffTp_, BlockSize_, PgTp_, PageSize_ > last, unsigned_type M)
 External equivalent of std::random_shuffle (specialization for stxxl::vector)
template<typename _ExtIterator , typename _UnaryFunction >
_UnaryFunction for_each (_ExtIterator _begin, _ExtIterator _end, _UnaryFunction _functor, int_type nbuffers)
 External equivalent of std::for_each.
template<typename _ExtIterator , typename _UnaryFunction >
_UnaryFunction for_each_m (_ExtIterator _begin, _ExtIterator _end, _UnaryFunction _functor, int_type nbuffers)
 External equivalent of std::for_each (mutating)
template<typename _ExtIterator , typename _Generator >
void generate (_ExtIterator _begin, _ExtIterator _end, _Generator _generator, int_type nbuffers)
 External equivalent of std::generate.
template<typename _ExtIterator , typename _EqualityComparable >
_ExtIterator find (_ExtIterator _begin, _ExtIterator _end, const _EqualityComparable &_value, int_type nbuffers)
 External equivalent of std::find.
template<typename ExtIterator_ , typename StrictWeakOrdering_ >
void sort (ExtIterator_ first, ExtIterator_ last, StrictWeakOrdering_ cmp, unsigned_type M)
 Sort records comparison-based.
unsigned_type optimal_merge_factor (unsigned_type num_runs, unsigned_type max_concurrent_runs)
template<typename ExtIterator_ >
void stable_ksort (ExtIterator_ first, ExtIterator_ last, unsigned_type M)
 Sort records with integer keys.
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)
template<typename E >
void stxxl_util_function_error (const char *func_name, const char *expr=0, const char *error=0)
template<typename E >
bool helper_check_success (bool success, const char *func_name, const char *expr=0, const char *error=0)
template<typename E , typename INT >
bool helper_check_eq_0 (INT res, const char *func_name, const char *expr, bool res_2_strerror=false)
template<typename E , typename INT >
bool helper_check_ge_0 (INT res, const char *func_name)
template<typename E , typename INT >
bool helper_check_ne_0 (INT res, const char *func_name)
template<class _ForwardIter >
bool is_sorted_helper (_ForwardIter __first, _ForwardIter __last)
template<class _ForwardIter , class _StrictWeakOrdering >
bool is_sorted_helper (_ForwardIter __first, _ForwardIter __last, _StrictWeakOrdering __comp)
template<class _ForwardIter >
bool is_sorted (_ForwardIter __first, _ForwardIter __last)
template<class _ForwardIter , class _StrictWeakOrdering >
bool is_sorted (_ForwardIter __first, _ForwardIter __last, _StrictWeakOrdering __comp)
template<class T1 , class T2 >
bool operator== (const new_alloc< T1 > &, const new_alloc< T2 > &) throw ()
template<class T1 , class T2 >
bool operator!= (const new_alloc< T1 > &, const new_alloc< T2 > &) throw ()
void srandom_number32 (unsigned seed=0)
 Set a seed value for random_number32.
double timestamp ()
 Returns number of seconds since the epoch, high resolution.
std::vector< std::string > split (const std::string &str, const std::string &sep)
stxxl::int64 atoint64 (const char *s)
template<typename Tp >
const Tp & STXXL_MIN (const Tp &a, const Tp &b)
template<typename Tp >
const Tp & STXXL_MAX (const Tp &a, const Tp &b)
template<typename Integral >
Integral log2_ceil (Integral i)
template<typename Integral >
Integral log2_floor (Integral i)
template<typename Integral , typename Integral2 >
compat::remove_const< Integral >
::type 
div_ceil (Integral __n, Integral2 __d)
uint64 longhash1 (uint64 key_)
template<class T >
void swap_1D_arrays (T *a, T *b, unsigned_type size)
template<typename Integral >
Integral round_up_to_power_of_two (Integral n, unsigned_type power)
template<class Container >
Container::value_type pop (Container &c)
template<class Container >
Container::value_type pop_front (Container &c)
template<class Container >
Container::value_type pop_back (Container &c)
template<class Container >
Container::value_type pop_begin (Container &c)
template<class T , class VectorType >
bool operator== (const deque< T, VectorType > &a, const deque< T, VectorType > &b)
template<class T , class VectorType >
bool operator< (const deque< T, VectorType > &a, const deque< T, VectorType > &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 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 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 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 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 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)
std::ostream & operator<< (std::ostream &o, const matrix_operation_statistic_data &statsd)
template<typename Tp_ , unsigned PgSz_, typename PgTp_ , unsigned BlkSize_, typename AllocStr_ , typename SzTp_ >
bool operator== (stxxl::vector< Tp_, PgSz_, PgTp_, BlkSize_, AllocStr_, SzTp_ > &a, stxxl::vector< Tp_, PgSz_, PgTp_, BlkSize_, AllocStr_, SzTp_ > &b)
template<typename Tp_ , unsigned PgSz_, typename PgTp_ , unsigned BlkSize_, typename AllocStr_ , typename SzTp_ >
bool operator!= (stxxl::vector< Tp_, PgSz_, PgTp_, BlkSize_, AllocStr_, SzTp_ > &a, stxxl::vector< Tp_, PgSz_, PgTp_, BlkSize_, AllocStr_, SzTp_ > &b)
template<typename Tp_ , unsigned PgSz_, typename PgTp_ , unsigned BlkSize_, typename AllocStr_ , typename SzTp_ >
bool operator< (stxxl::vector< Tp_, PgSz_, PgTp_, BlkSize_, AllocStr_, SzTp_ > &a, stxxl::vector< Tp_, PgSz_, PgTp_, BlkSize_, AllocStr_, SzTp_ > &b)
template<typename Tp_ , unsigned PgSz_, typename PgTp_ , unsigned BlkSize_, typename AllocStr_ , typename SzTp_ >
bool operator> (stxxl::vector< Tp_, PgSz_, PgTp_, BlkSize_, AllocStr_, SzTp_ > &a, stxxl::vector< Tp_, PgSz_, PgTp_, BlkSize_, AllocStr_, SzTp_ > &b)
template<typename Tp_ , unsigned PgSz_, typename PgTp_ , unsigned BlkSize_, typename AllocStr_ , typename SzTp_ >
bool operator<= (stxxl::vector< Tp_, PgSz_, PgTp_, BlkSize_, AllocStr_, SzTp_ > &a, stxxl::vector< Tp_, PgSz_, PgTp_, BlkSize_, AllocStr_, SzTp_ > &b)
template<typename Tp_ , unsigned PgSz_, typename PgTp_ , unsigned BlkSize_, typename AllocStr_ , typename SzTp_ >
bool operator>= (stxxl::vector< Tp_, PgSz_, PgTp_, BlkSize_, AllocStr_, SzTp_ > &a, stxxl::vector< Tp_, PgSz_, PgTp_, BlkSize_, AllocStr_, SzTp_ > &b)
template<typename Tp_ , typename AllocStr_ , typename SzTp_ , typename DiffTp_ , unsigned BlkSize_, typename PgTp_ , unsigned PgSz_>
bool is_sorted (stxxl::vector_iterator< Tp_, AllocStr_, SzTp_, DiffTp_, BlkSize_, PgTp_, PgSz_ > __first, stxxl::vector_iterator< Tp_, AllocStr_, SzTp_, DiffTp_, BlkSize_, PgTp_, PgSz_ > __last)
template<typename Tp_ , typename AllocStr_ , typename SzTp_ , typename DiffTp_ , unsigned BlkSize_, typename PgTp_ , unsigned PgSz_, typename _StrictWeakOrdering >
bool is_sorted (stxxl::vector_iterator< Tp_, AllocStr_, SzTp_, DiffTp_, BlkSize_, PgTp_, PgSz_ > __first, stxxl::vector_iterator< Tp_, AllocStr_, SzTp_, DiffTp_, BlkSize_, PgTp_, PgSz_ > __last, _StrictWeakOrdering __comp)
std::ostream & operator<< (std::ostream &o, const stats &s)
std::string add_IEC_binary_multiplier (uint64 number, const char *unit="")
std::string add_SI_multiplier (uint64 number, const char *unit="")
std::ostream & operator<< (std::ostream &out, const request &req)
template<class request_iterator_ >
void wait_all (request_iterator_ reqs_begin, request_iterator_ reqs_end)
 Collection of functions to track statuses of a number of requests.
void wait_all (request_ptr req_array[], int count)
 Suspends calling thread until all given requests are completed.
template<class request_iterator_ >
std::iterator_traits
< request_iterator_ >
::difference_type 
cancel_all (request_iterator_ reqs_begin, request_iterator_ 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.
template<class request_iterator_ >
request_iterator_ poll_any (request_iterator_ reqs_begin, request_iterator_ reqs_end)
 Polls requests.
bool poll_any (request_ptr req_array[], int count, int &index)
 Polls requests.
template<class request_iterator_ >
request_iterator_ wait_any (request_iterator_ reqs_begin, request_iterator_ reqs_end)
 Suspends calling thread until any of requests is completed.
int wait_any (request_ptr req_array[], int count)
 Suspends calling thread until any of requests is completed.
template<typename BlockType >
element_iterator_traits
< BlockType >
::element_iterator 
make_element_iterator (BlockType *blocks, unsigned_type offset)
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.
std::ostream & operator<< (std::ostream &s, const malloc_stats &st)
 Prints current malloc statistics in a convenient way.
template<unsigned blk_sz>
bool operator== (const BID< blk_sz > &a, const BID< blk_sz > &b)
template<unsigned blk_sz>
bool operator!= (const BID< blk_sz > &a, const BID< blk_sz > &b)
template<unsigned blk_sz>
std::ostream & operator<< (std::ostream &s, const BID< blk_sz > &bid)

Variables

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

Detailed Description

<stxxl> library namespace


Typedef Documentation

Definition at line 66 of file types.h.

typedef long long int stxxl::int64
Examples:
containers/test_matrix.cpp.

Definition at line 62 of file types.h.

Definition at line 65 of file types.h.

Definition at line 36 of file settings.h.

typedef unsigned long long int stxxl::uint64
Examples:
io/test_io_sizes.cpp.

Definition at line 37 of file types.h.

Examples:
algo/test_parallel_sort.cpp.

Definition at line 63 of file types.h.


Enumeration Type Documentation

anonymous enum
Enumerator:
my_pointer_size 

Definition at line 42 of file types.h.


Function Documentation

template<size_t ALIGNMENT>
void* stxxl::aligned_alloc ( size_t  size,
size_t  meta_info_size = 0 
) [inline]

Definition at line 49 of file aligned_alloc.h.

References div_ceil(), and STXXL_VERBOSE_ALIGNED_ALLOC.

template<size_t ALIGNMENT>
void stxxl::aligned_dealloc ( void *  ptr) [inline]

Definition at line 112 of file aligned_alloc.h.

References STXXL_VERBOSE_ALIGNED_ALLOC.

stxxl::int64 stxxl::atoint64 ( const char *  s) [inline]
template<typename type_key >
static void stxxl::classify ( type_key *  a,
type_key *  aEnd,
type_key *  b,
int_type *  bucket,
typename type_key::key_type  offset,
unsigned  shift 
) [static]

Definition at line 65 of file intksort.h.

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

template<typename type , typename type_key , typename key_extractor >
void stxxl::classify_block ( type *  begin,
type *  end,
type_key *&  out,
int_type *  bucket,
typename key_extractor::key_type  offset,
unsigned  shift,
key_extractor  keyobj 
)

Definition at line 334 of file intksort.h.

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

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

Definition at line 348 of file intksort.h.

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

Definition at line 267 of file intksort.h.

References 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 run_type >
void stxxl::compute_prefetch_schedule ( const run_type &  input,
int_type *  out_first,
int_type  m,
int_type  D 
)

Definition at line 46 of file async_schedule.h.

References compute_prefetch_schedule().

template<typename bid_iterator_type >
void stxxl::compute_prefetch_schedule ( bid_iterator_type  input_begin,
bid_iterator_type  input_end,
int_type *  out_first,
int_type  m,
int_type  D 
)

Definition at line 61 of file async_schedule.h.

References compute_prefetch_schedule().

void stxxl::compute_prefetch_schedule ( const int_type *  first,
const int_type *  last,
int_type *  out_first,
int_type  m,
int_type  D 
)
template<typename type_key >
static void stxxl::count ( type_key *  a,
type_key *  aEnd,
int_type *  bucket,
int_type  K,
typename type_key::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,
int  allocator_id 
)
template<typename Integral , typename Integral2 >
compat::remove_const<Integral>::type stxxl::div_ceil ( Integral  __n,
Integral2  __d 
) [inline]
static void stxxl::exclusive_prefix_sum ( int_type *  bucket,
int_type  K 
) [static]

Definition at line 50 of file intksort.h.

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

unsigned stxxl::get_next_seed ( )

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

Definition at line 72 of file seed.cpp.

References seed_generator().

Referenced by main(), stxxl::random_number32_r::random_number32_r(), stxxl::random_uniform_slow::random_uniform_slow(), and srandom_number32().

const char* stxxl::get_version_string ( )

Definition at line 54 of file version.cpp.

References STXXL_VERSION_STRING_MA_MI_PL.

Referenced by stxxl::config::init(), and main().

template<typename E , typename INT >
bool stxxl::helper_check_eq_0 ( INT  res,
const char *  func_name,
const char *  expr,
bool  res_2_strerror = false 
) [inline]

Definition at line 81 of file error_handling.h.

template<typename E , typename INT >
bool stxxl::helper_check_ge_0 ( INT  res,
const char *  func_name 
) [inline]

Definition at line 90 of file error_handling.h.

template<typename E , typename INT >
bool stxxl::helper_check_ne_0 ( INT  res,
const char *  func_name 
) [inline]

Definition at line 99 of file error_handling.h.

template<typename E >
bool stxxl::helper_check_success ( bool  success,
const char *  func_name,
const char *  expr = 0,
const char *  error = 0 
) [inline]

Definition at line 73 of file error_handling.h.

unsigned stxxl::initial_seed ( ) [inline]

Definition at line 49 of file seed.cpp.

Referenced by seed_generator().

template<class T >
void stxxl::insertion_sort ( T *  a,
T *  aEnd 
) [inline]

Definition at line 234 of file intksort.h.

Referenced by cleanup().

template<typename MAPTYPE >
bool stxxl::is_empty ( const MAPTYPE &  map_)
Examples:
stream/test_loop.cpp.

Definition at line 84 of file map_test_handlers.h.

template<typename MAPTYPE >
bool stxxl::is_end ( MAPTYPE &  map_,
typename MAPTYPE::iterator &  iter 
)
Examples:
containers/test_map_random.cpp.

Definition at line 94 of file map_test_handlers.h.

Referenced by main().

template<typename MAPTYPE >
bool stxxl::is_end ( const MAPTYPE &  map_,
typename MAPTYPE::const_iterator &  iter 
)

Definition at line 100 of file map_test_handlers.h.

template<typename MAPTYPE >
bool stxxl::is_equal_end ( const MAPTYPE &  map_,
typename MAPTYPE::const_iterator &  iter 
)

Definition at line 48 of file map_test_handlers.h.

template<typename value_type >
bool stxxl::is_same ( value_type v1,
value_type v2 
)
Examples:
containers/test_map_random.cpp.

Definition at line 58 of file map_test_handlers.h.

Referenced by main().

template<typename value_type >
bool stxxl::is_same ( const value_type v1,
const value_type v2 
)

Definition at line 64 of file map_test_handlers.h.

template<typename MAPTYPE >
bool stxxl::is_size ( const MAPTYPE &  map_,
const typename MAPTYPE::size_type  size 
)

Definition at line 110 of file map_test_handlers.h.

template<class _ForwardIter >
bool stxxl::is_sorted ( _ForwardIter  __first,
_ForwardIter  __last 
)
template<class _ForwardIter , class _StrictWeakOrdering >
bool stxxl::is_sorted ( _ForwardIter  __first,
_ForwardIter  __last,
_StrictWeakOrdering  __comp 
)

Definition at line 60 of file is_sorted.h.

References is_sorted_helper().

template<typename Tp_ , typename AllocStr_ , typename SzTp_ , typename DiffTp_ , unsigned BlkSize_, typename PgTp_ , unsigned PgSz_>
bool stxxl::is_sorted ( stxxl::vector_iterator< Tp_, AllocStr_, SzTp_, DiffTp_, BlkSize_, PgTp_, PgSz_ >  __first,
stxxl::vector_iterator< Tp_, AllocStr_, SzTp_, DiffTp_, BlkSize_, PgTp_, PgSz_ >  __last 
)

Definition at line 1607 of file vector.h.

References is_sorted_helper().

template<typename Tp_ , typename AllocStr_ , typename SzTp_ , typename DiffTp_ , unsigned BlkSize_, typename PgTp_ , unsigned PgSz_, typename _StrictWeakOrdering >
bool stxxl::is_sorted ( stxxl::vector_iterator< Tp_, AllocStr_, SzTp_, DiffTp_, BlkSize_, PgTp_, PgSz_ >  __first,
stxxl::vector_iterator< Tp_, AllocStr_, SzTp_, DiffTp_, BlkSize_, PgTp_, PgSz_ >  __last,
_StrictWeakOrdering  __comp 
)

Definition at line 1618 of file vector.h.

References is_sorted_helper().

template<class _ForwardIter >
bool stxxl::is_sorted_helper ( _ForwardIter  __first,
_ForwardIter  __last 
)

Definition at line 23 of file is_sorted.h.

Referenced by is_sorted().

template<class _ForwardIter , class _StrictWeakOrdering >
bool stxxl::is_sorted_helper ( _ForwardIter  __first,
_ForwardIter  __last,
_StrictWeakOrdering  __comp 
)

Definition at line 38 of file is_sorted.h.

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

Definition at line 323 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]
template<typename Integral >
Integral stxxl::log2_floor ( Integral  i) [inline]

Definition at line 112 of file utils.h.

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

uint64 stxxl::longhash1 ( uint64  key_) [inline]
template<typename Iterator >
trigger_entry_iterator<Iterator> stxxl::make_bid_iterator ( Iterator  iter) [inline]
template<typename MAPTYPE >
bool stxxl::not_there ( const MAPTYPE &  map_,
const typename MAPTYPE::key_type key 
)
Examples:
containers/test_map_random.cpp.

Definition at line 74 of file map_test_handlers.h.

Referenced by main().

template<unsigned blk_sz>
bool stxxl::operator!= ( const BID< blk_sz > &  a,
const BID< blk_sz > &  b 
)
template<class T1 , class T2 >
bool stxxl::operator!= ( const new_alloc< T1 > &  ,
const new_alloc< T2 > &   
) throw () [inline]

Definition at line 135 of file new_alloc.h.

std::ostream& stxxl::operator<< ( std::ostream &  o,
const matrix_operation_statistic_data &  statsd 
)
std::ostream& stxxl::operator<< ( std::ostream &  s,
const malloc_stats &  st 
) [inline]
template<unsigned blk_sz>
std::ostream& stxxl::operator<< ( std::ostream &  s,
const BID< blk_sz > &  bid 
)

Definition at line 124 of file bid.h.

template<unsigned blk_sz>
bool stxxl::operator== ( const BID< blk_sz > &  a,
const BID< blk_sz > &  b 
)
template<class T1 , class T2 >
bool stxxl::operator== ( const new_alloc< T1 > &  ,
const new_alloc< T2 > &   
) throw () [inline]

Definition at line 128 of file new_alloc.h.

unsigned_type stxxl::optimal_merge_factor ( unsigned_type  num_runs,
unsigned_type  max_concurrent_runs 
) [inline]
template<class Container >
Container::value_type stxxl::pop ( Container &  c) [inline]

Definition at line 191 of file utils.h.

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

Definition at line 207 of file utils.h.

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

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

Definition at line 199 of file utils.h.

void stxxl::print_msg ( const char *  label,
const std::string &  msg,
unsigned  flags 
)
int stxxl::register_exit_handler ( void(*)(void)  function)

Definition at line 28 of file exithandler.cpp.

template<typename Integral >
Integral stxxl::round_up_to_power_of_two ( Integral  n,
unsigned_type  power 
) [inline]

Definition at line 34 of file exithandler.cpp.

seed_generator_t& stxxl::seed_generator ( )

Definition at line 43 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 66 of file seed.cpp.

References seed_generator().

Referenced by main().

template<class T >
void stxxl::sort2 ( T &  a,
T &  b 
) [inline]

Definition at line 79 of file intksort.h.

References std::swap().

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

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

Definition at line 87 of file intksort.h.

References std::swap().

Referenced by cleanup().

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

Definition at line 134 of file intksort.h.

References sort2(), and std::swap().

Referenced by cleanup().

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

Definition at line 187 of file intksort.h.

References sort2(), and std::swap().

Referenced by cleanup().

std::vector<std::string> stxxl::split ( const std::string &  str,
const std::string &  sep 
) [inline]
void stxxl::srandom_number32 ( unsigned  seed = 0) [inline]

Set a seed value for random_number32.

Definition at line 53 of file rand.h.

References get_next_seed(), and ran32State.

Referenced by main().

template<typename ExtIterator_ , typename StrictWeakOrdering_ >
void stxxl::stl_in_memory_sort ( ExtIterator_  first,
ExtIterator_  last,
StrictWeakOrdering_  cmp 
)
Examples:
algo/test_sort.cpp.

Definition at line 30 of file inmemsort.h.

References stxxl::simple_vector< _Tp >::begin(), make_element_iterator(), sort(), and wait_all().

Referenced by ksort(), main(), and sort().

template<typename Tp >
const Tp& stxxl::STXXL_MAX ( const Tp &  a,
const Tp &  b 
) [inline]
template<typename Tp >
const Tp& stxxl::STXXL_MIN ( const Tp &  a,
const Tp &  b 
) [inline]
template<typename E >
void stxxl::stxxl_util_function_error ( const char *  func_name,
const char *  expr = 0,
const char *  error = 0 
) [inline]

Definition at line 60 of file error_handling.h.

template<class T >
void stxxl::swap_1D_arrays ( T *  a,
T *  b,
unsigned_type  size 
) [inline]
template<typename MAPTYPE >
bool stxxl::there ( const MAPTYPE &  map_,
const typename MAPTYPE::key_type key,
const typename MAPTYPE::mapped_type &  data 
)
Examples:
containers/test_map_random.cpp.

Definition at line 30 of file map_test_handlers.h.

Referenced by main().

double stxxl::timestamp ( ) [inline]

Definition at line 36 of file version.cpp.

Referenced by main().

Definition at line 41 of file version.cpp.

Referenced by main().

Definition at line 46 of file version.cpp.

Referenced by main().


Variable Documentation

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

Definition at line 63 of file tmeta.h.

const double stxxl::program_start_time_stamp = timestamp() [static]

Definition at line 33 of file verbose.cpp.

Referenced by print_msg().

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines