Stxxl  1.4.0
Classes | Namespaces | Defines | Functions
include/stxxl/bits/stream/stream.h File Reference
#include <stxxl/bits/namespace.h>
#include <stxxl/bits/mng/buf_istream.h>
#include <stxxl/bits/mng/buf_ostream.h>
#include <stxxl/bits/common/tuple.h>
#include <stxxl/vector>
#include <stxxl/bits/compat_unique_ptr.h>
#include <stxxl/bits/stream/choose.h>
#include <stxxl/bits/stream/unique.h>
Include dependency graph for stream.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  stxxl::stream::iterator2stream< InputIterator_ >
 A model of stream that retrieves the data from an input iterator For convenience use streamify function instead of direct instantiation of iterator2stream . More...
struct  stxxl::stream::streamify_traits< InputIterator_ >
 Traits class of streamify function. More...
class  stxxl::stream::vector_iterator2stream< InputIterator_ >
 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...
struct  stxxl::stream::streamify_traits< stxxl::vector_iterator< Tp_, AllocStr_, SzTp_, DiffTp_, BlkSize_, PgTp_, PgSz_ > >
struct  stxxl::stream::streamify_traits< stxxl::const_vector_iterator< Tp_, AllocStr_, SzTp_, DiffTp_, BlkSize_, PgTp_, PgSz_ > >
class  stxxl::stream::vector_iterator2stream_sr< InputIterator_ >
 Version of iterator2stream. Switches between vector_iterator2stream and iterator2stream . More...
class  stxxl::stream::generator2stream< Generator_, T >
 A model of stream that outputs data from an adaptable generator functor For convenience use streamify function instead of direct instantiation of generator2stream . More...
struct  stxxl::stream::Stopper
class  stxxl::stream::transform< Operation_, Input1_, Input2_, Input3_, Input4_, Input5_, Input6_ >
 Processes (up to) 6 input streams using given operation functor. More...
class  stxxl::stream::transform< Operation_, Input1_, Stopper, Stopper, Stopper, Stopper, Stopper >
 Processes an input stream using given operation functor. More...
class  stxxl::stream::transform< Operation_, Input1_, Input2_, Stopper, Stopper, Stopper, Stopper >
 Processes 2 input streams using given operation functor. More...
class  stxxl::stream::transform< Operation_, Input1_, Input2_, Input3_, Stopper, Stopper, Stopper >
 Processes 3 input streams using given operation functor. More...
class  stxxl::stream::transform< Operation_, Input1_, Input2_, Input3_, Input4_, Stopper, Stopper >
 Processes 4 input streams using given operation functor. More...
class  stxxl::stream::transform< Operation_, Input1_, Input2_, Input3_, Input4_, Input5_, Stopper >
 Processes 5 input streams using given operation functor. More...
class  stxxl::stream::make_tuple< Input1_, Input2_, Input3_, Input4_, Input5_, Input6_ >
 Creates stream of 6-tuples from 6 input streams. More...
class  stxxl::stream::make_tuple< Input1_, Input2_, Stopper, Stopper, Stopper, Stopper >
 Creates stream of 2-tuples (pairs) from 2 input streams. More...
class  stxxl::stream::make_tuple< Input1_, Input2_, Input3_, Stopper, Stopper, Stopper >
 Creates stream of 3-tuples from 3 input streams. More...
class  stxxl::stream::make_tuple< Input1_, Input2_, Input3_, Input4_, Stopper, Stopper >
 Creates stream of 4-tuples from 4 input streams. More...
class  stxxl::stream::make_tuple< Input1_, Input2_, Input3_, Input4_, Input5_, Stopper >
 Creates stream of 5-tuples from 5 input streams. More...

Namespaces

namespace  stxxl
 

<stxxl> library namespace


namespace  stxxl::stream
 

Stream package subnamespace.


Defines

#define STXXL_VERBOSE_MATERIALIZE   STXXL_VERBOSE3

Functions

template<class InputIterator_ >
iterator2stream< InputIterator_ > stxxl::stream::streamify (InputIterator_ begin, InputIterator_ end)
 Input iterator range to stream converter.
template<typename Tp_ , typename AllocStr_ , typename SzTp_ , typename DiffTp_ , unsigned BlkSize_, typename PgTp_ , unsigned PgSz_>
vector_iterator2stream
< stxxl::vector_iterator< Tp_,
AllocStr_, SzTp_, DiffTp_,
BlkSize_, PgTp_, PgSz_ > > 
stxxl::stream::streamify (stxxl::vector_iterator< Tp_, AllocStr_, SzTp_, DiffTp_, BlkSize_, PgTp_, PgSz_ > begin, stxxl::vector_iterator< Tp_, AllocStr_, SzTp_, DiffTp_, BlkSize_, PgTp_, PgSz_ > 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.
template<typename Tp_ , typename AllocStr_ , typename SzTp_ , typename DiffTp_ , unsigned BlkSize_, typename PgTp_ , unsigned PgSz_>
vector_iterator2stream
< stxxl::const_vector_iterator
< Tp_, AllocStr_, SzTp_,
DiffTp_, BlkSize_, PgTp_,
PgSz_ > > 
stxxl::stream::streamify (stxxl::const_vector_iterator< Tp_, AllocStr_, SzTp_, DiffTp_, BlkSize_, PgTp_, PgSz_ > begin, stxxl::const_vector_iterator< Tp_, AllocStr_, SzTp_, DiffTp_, BlkSize_, PgTp_, PgSz_ > 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.
template<typename Tp_ , typename AllocStr_ , typename SzTp_ , typename DiffTp_ , unsigned BlkSize_, typename PgTp_ , unsigned PgSz_>
vector_iterator2stream_sr
< stxxl::vector_iterator< Tp_,
AllocStr_, SzTp_, DiffTp_,
BlkSize_, PgTp_, PgSz_ > > 
stxxl::stream::streamify_sr (stxxl::vector_iterator< Tp_, AllocStr_, SzTp_, DiffTp_, BlkSize_, PgTp_, PgSz_ > begin, stxxl::vector_iterator< Tp_, AllocStr_, SzTp_, DiffTp_, BlkSize_, PgTp_, PgSz_ > end, unsigned_type nbuffers=0)
 Version of streamify. Switches from vector_iterator2stream to iterator2stream for small ranges.
template<typename Tp_ , typename AllocStr_ , typename SzTp_ , typename DiffTp_ , unsigned BlkSize_, typename PgTp_ , unsigned PgSz_>
vector_iterator2stream_sr
< stxxl::const_vector_iterator
< Tp_, AllocStr_, SzTp_,
DiffTp_, BlkSize_, PgTp_,
PgSz_ > > 
stxxl::stream::streamify_sr (stxxl::const_vector_iterator< Tp_, AllocStr_, SzTp_, DiffTp_, BlkSize_, PgTp_, PgSz_ > begin, stxxl::const_vector_iterator< Tp_, AllocStr_, SzTp_, DiffTp_, BlkSize_, PgTp_, PgSz_ > end, unsigned_type nbuffers=0)
 Version of streamify. Switches from vector_iterator2stream to iterator2stream for small ranges.
template<class OutputIterator_ , class StreamAlgorithm_ >
OutputIterator_ stxxl::stream::materialize (StreamAlgorithm_ &in, OutputIterator_ out)
 Stores consecutively stream content to an output iterator.
template<class OutputIterator_ , class StreamAlgorithm_ >
OutputIterator_ stxxl::stream::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.
template<typename Tp_ , typename AllocStr_ , typename SzTp_ , typename DiffTp_ , unsigned BlkSize_, typename PgTp_ , unsigned PgSz_, class StreamAlgorithm_ >
stxxl::vector_iterator< Tp_,
AllocStr_, SzTp_, DiffTp_,
BlkSize_, PgTp_, PgSz_ > 
stxxl::stream::materialize (StreamAlgorithm_ &in, stxxl::vector_iterator< Tp_, AllocStr_, SzTp_, DiffTp_, BlkSize_, PgTp_, PgSz_ > outbegin, stxxl::vector_iterator< Tp_, AllocStr_, SzTp_, DiffTp_, BlkSize_, PgTp_, PgSz_ > 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.
template<typename Tp_ , typename AllocStr_ , typename SzTp_ , typename DiffTp_ , unsigned BlkSize_, typename PgTp_ , unsigned PgSz_, class StreamAlgorithm_ >
stxxl::vector_iterator< Tp_,
AllocStr_, SzTp_, DiffTp_,
BlkSize_, PgTp_, PgSz_ > 
stxxl::stream::materialize (StreamAlgorithm_ &in, stxxl::vector_iterator< Tp_, AllocStr_, SzTp_, DiffTp_, BlkSize_, PgTp_, PgSz_ > out, unsigned_type nbuffers=0)
 Stores consecutively stream content to an output stxxl::vector iterator.
template<class StreamAlgorithm_ >
void stxxl::stream::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.
template<class Generator_ >
generator2stream< Generator_ > stxxl::stream::streamify (Generator_ gen_)
 Adaptable generator to stream converter.

Define Documentation

#define STXXL_VERBOSE_MATERIALIZE   STXXL_VERBOSE3

Definition at line 27 of file stream.h.

Referenced by stxxl::stream::materialize().

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines