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

Stream package subnamespace. More...

Classes

class  basic_runs_creator
 Forms sorted runs of data from a stream. More...
 
class  basic_runs_merger
 Merges sorted runs. More...
 
class  choose
 
class  choose< Input, 1 >
 Creates stream from a tuple stream taking the first component of each tuple. More...
 
class  choose< Input, 2 >
 Creates stream from a tuple stream taking the second component of each tuple. More...
 
class  choose< Input, 3 >
 Creates stream from a tuple stream taking the third component of each tuple. More...
 
class  choose< Input, 4 >
 Creates stream from a tuple stream taking the fourth component of each tuple. More...
 
class  choose< Input, 5 >
 Creates stream from a tuple stream taking the fifth component of each tuple. More...
 
class  choose< Input, 6 >
 Creates stream from a tuple stream taking the sixth component of each tuple. More...
 
class  compute_sorted_runs_type
 Computes sorted runs type from value type and block size. More...
 
class  concatenate
 
struct  counter
 
struct  dummy_cmp_unique
 
struct  from_sorted_sequences
 Input strategy for runs_creator class. More...
 
class  generator2stream
 A model of stream that outputs data from an adaptable generator functor. For convenience use streamify function instead of direct instantiation of generator2stream . More...
 
class  iterator2stream
 A model of stream that retrieves the data from an input iterator. For convenience use streamify function instead of direct instantiation of iterator2stream . More...
 
class  make_tuple
 Creates stream of 6-tuples from 6 input streams. More...
 
class  make_tuple< Input1, Input2, Input3, Input4, Input5, Stopper >
 Creates stream of 5-tuples from 5 input streams. More...
 
class  make_tuple< Input1, Input2, Input3, Input4, Stopper, Stopper >
 Creates stream of 4-tuples from 4 input streams. More...
 
class  make_tuple< Input1, Input2, Input3, Stopper, Stopper, Stopper >
 Creates stream of 3-tuples from 3 input streams. More...
 
class  make_tuple< Input1, Input2, Stopper, Stopper, Stopper, Stopper >
 Creates stream of 2-tuples (pairs) from 2 input streams. More...
 
class  runs_creator
 Forms sorted runs of data from a stream. More...
 
class  runs_creator< from_sorted_sequences< ValueType >, CompareType, BlockSize, AllocStr >
 Forms sorted runs of data taking elements in sorted order (element by element). More...
 
class  runs_creator< use_push< ValueType >, CompareType, BlockSize, AllocStr >
 Forms sorted runs of elements passed in push() method. More...
 
class  runs_merger
 Merges sorted runs. More...
 
class  sort
 Produces sorted stream from input stream. More...
 
struct  sorted_runs
 All sorted runs of a sort operation. More...
 
struct  Stopper
 
struct  streamify_traits
 Traits class of streamify function. More...
 
struct  streamify_traits< stxxl::const_vector_iterator< ValueType, AllocStr, SizeType, DiffType, BlockSize, PagerType, PageSize > >
 
struct  streamify_traits< stxxl::vector_iterator< ValueType, AllocStr, SizeType, DiffType, BlockSize, PagerType, PageSize > >
 
class  transform
 Processes (up to) 6 input streams using given operation functor. More...
 
class  transform< Operation, Input1, Input2, Input3, Input4, Input5, Stopper >
 Processes 5 input streams using given operation functor. More...
 
class  transform< Operation, Input1, Input2, Input3, Input4, Stopper, Stopper >
 Processes 4 input streams using given operation functor. More...
 
class  transform< Operation, Input1, Input2, Input3, Stopper, Stopper, Stopper >
 Processes 3 input streams using given operation functor. More...
 
class  transform< Operation, Input1, Input2, Stopper, Stopper, Stopper, Stopper >
 Processes 2 input streams using given operation functor. More...
 
class  transform< Operation, Input1, Stopper, Stopper, Stopper, Stopper, Stopper >
 Processes an input stream using given operation functor. More...
 
class  unique
 Equivalent to std::unique algorithms. More...
 
class  unique< Input, dummy_cmp_unique >
 Equivalent to std::unique algorithms. More...
 
struct  use_push
 Input strategy for runs_creator class. More...
 
class  vector_iterator2stream
 A model of stream that retrieves data from an external stxxl::vector iterator. It is more efficient than generic iterator2stream thanks to use of overlapping For convenience use streamify function instead of direct instantiation of vector_iterator2stream . More...
 
class  vector_iterator2stream_sr
 Version of iterator2stream. Switches between vector_iterator2stream and iterator2stream . More...
 

Functions

template<class RunsType , class CompareType >
bool check_sorted_runs (const RunsType &sruns, CompareType cmp)
 Checker for the sorted runs object created by the runs_creator . More...
 
template<class StreamAlgorithm >
void discard (StreamAlgorithm &in)
 Reads stream content and discards it. Useful where you do not need the processed stream anymore, but are just interested in side effects, or just for debugging. More...
 
template<class OutputIterator , class StreamAlgorithm >
OutputIterator materialize (StreamAlgorithm &in, OutputIterator out)
 Stores consecutively stream content to an output iterator. More...
 
template<class OutputIterator , class StreamAlgorithm >
OutputIterator materialize (StreamAlgorithm &in, OutputIterator outbegin, OutputIterator outend)
 Stores consecutively stream content to an output iterator range until end of the stream or end of the iterator range is reached. More...
 
template<typename ValueType , typename AllocStr , typename SizeType , typename DiffType , unsigned BlockSize, typename PagerType , unsigned PageSize, class StreamAlgorithm >
stxxl::vector_iterator
< ValueType, AllocStr,
SizeType, DiffType, BlockSize,
PagerType, PageSize > 
materialize (StreamAlgorithm &in, stxxl::vector_iterator< ValueType, AllocStr, SizeType, DiffType, BlockSize, PagerType, PageSize > outbegin, stxxl::vector_iterator< ValueType, AllocStr, SizeType, DiffType, BlockSize, PagerType, PageSize > outend, unsigned_type nbuffers=0)
 Stores consecutively stream content to an output stxxl::vector iterator until end of the stream or end of the iterator range is reached. More...
 
template<typename ValueType , typename AllocStr , typename SizeType , typename DiffType , unsigned BlockSize, typename PagerType , unsigned PageSize, class StreamAlgorithm >
stxxl::vector_iterator
< ValueType, AllocStr,
SizeType, DiffType, BlockSize,
PagerType, PageSize > 
materialize (StreamAlgorithm &in, stxxl::vector_iterator< ValueType, AllocStr, SizeType, DiffType, BlockSize, PagerType, PageSize > out, unsigned_type nbuffers=0)
 Stores consecutively stream content to an output stxxl::vector iterator. More...
 
template<class InputIterator >
iterator2stream< InputIterator > streamify (InputIterator begin, InputIterator end)
 Input iterator range to stream converter. More...
 
template<typename ValueType , typename AllocStr , typename SizeType , typename DiffType , unsigned BlockSize, typename PagerType , unsigned PageSize>
vector_iterator2stream
< stxxl::vector_iterator
< ValueType, AllocStr,
SizeType, DiffType, BlockSize,
PagerType, PageSize > > 
streamify (stxxl::vector_iterator< ValueType, AllocStr, SizeType, DiffType, BlockSize, PagerType, PageSize > begin, stxxl::vector_iterator< ValueType, AllocStr, SizeType, DiffType, BlockSize, PagerType, PageSize > end, unsigned_type nbuffers=0)
 Input external stxxl::vector iterator range to stream converter. It is more efficient than generic input iterator streamify thanks to use of overlapping. More...
 
template<typename ValueType , typename AllocStr , typename SizeType , typename DiffType , unsigned BlockSize, typename PagerType , unsigned PageSize>
vector_iterator2stream
< stxxl::const_vector_iterator
< ValueType, AllocStr,
SizeType, DiffType, BlockSize,
PagerType, PageSize > > 
streamify (stxxl::const_vector_iterator< ValueType, AllocStr, SizeType, DiffType, BlockSize, PagerType, PageSize > begin, stxxl::const_vector_iterator< ValueType, AllocStr, SizeType, DiffType, BlockSize, PagerType, PageSize > end, unsigned_type nbuffers=0)
 Input external stxxl::vector const iterator range to stream converter. It is more efficient than generic input iterator streamify thanks to use of overlapping. More...
 
template<class Generator >
generator2stream< Generator > streamify (Generator gen_)
 Adaptable generator to stream converter. More...
 
template<typename ValueType , typename AllocStr , typename SizeType , typename DiffType , unsigned BlockSize, typename PagerType , unsigned PageSize>
vector_iterator2stream_sr
< stxxl::vector_iterator
< ValueType, AllocStr,
SizeType, DiffType, BlockSize,
PagerType, PageSize > > 
streamify_sr (stxxl::vector_iterator< ValueType, AllocStr, SizeType, DiffType, BlockSize, PagerType, PageSize > begin, stxxl::vector_iterator< ValueType, AllocStr, SizeType, DiffType, BlockSize, PagerType, PageSize > end, unsigned_type nbuffers=0)
 Version of streamify. Switches from vector_iterator2stream to iterator2stream for small ranges. More...
 
template<typename ValueType , typename AllocStr , typename SizeType , typename DiffType , unsigned BlockSize, typename PagerType , unsigned PageSize>
vector_iterator2stream_sr
< stxxl::const_vector_iterator
< ValueType, AllocStr,
SizeType, DiffType, BlockSize,
PagerType, PageSize > > 
streamify_sr (stxxl::const_vector_iterator< ValueType, AllocStr, SizeType, DiffType, BlockSize, PagerType, PageSize > begin, stxxl::const_vector_iterator< ValueType, AllocStr, SizeType, DiffType, BlockSize, PagerType, PageSize > end, unsigned_type nbuffers=0)
 Version of streamify. Switches from vector_iterator2stream to iterator2stream for small ranges. More...
 

Detailed Description

Stream package subnamespace.