rpa::pipe_container< Container > Class Template Reference

#include <pipeline.h>

Inheritance diagram for rpa::pipe_container< Container >:

rpa::pipe_archiver< Container, void > rpa::pipe_circular< Container, void > rpa::pipebase< Container, CondVar > rpa::pipe_arc_base< Container, CondVar > rpa::pipe_circular< Container, CondVar > rpa::pipe_arc_aux< Container, CondVar, insertInvalidatesIterators > rpa::pipe_arc_aux< Container, CondVar, rpa::insert_invalidates_iterators< Container >::value > rpa::pipe_arc_aux< Container, CondVar, true > rpa::pipe_archiver< Container, CondVar > List of all members.

Public Types

typedef Container::iterator iterator

Public Member Functions

 pipe_container ()
 The default constructor sets the pipeline as empty.
 pipe_container (size_t nbElts)
 Sets an initial size. The value type must have a default constructor.
template<class Iter>
 pipe_container (Iter begIter, Iter endIter)
 This fills the pipeline with a defined content at init time.
 pipe_container (const Container &aCont)
iterator cont_begin (void)
iterator cont_end (void)
iterator cont_begin (void) const
iterator cont_end (void) const
template<class IterIn>
size_t push_back_range (IterIn itBeg, IterIn itEnd, size_t szReserve)

Private Member Functions

void begin (void)
void end (void)
void begin (void) const
void end (void) const

Detailed Description

template<class Container>
class rpa::pipe_container< Container >

This is just a thin wrapper around the container. The role of this template class is to give to C-style arrays, a container-like interface.


Member Typedef Documentation

template<class Container>
typedef Container::iterator rpa::pipe_container< Container >::iterator

Reimplemented in rpa::pipebase< Container, CondVar >, rpa::pipe_circular< Container, CondVar >, rpa::pipe_circular< Container, void >, rpa::pipe_archiver< Container, CondVar >, rpa::pipe_arc_base< Container, CondVar >, rpa::pipe_arc_aux< Container, CondVar, insertInvalidatesIterators >, rpa::pipe_arc_aux< Container, CondVar, true >, rpa::pipe_archiver< Container, void >, and rpa::pipe_arc_aux< Container, CondVar, rpa::insert_invalidates_iterators< Container >::value >.


Constructor & Destructor Documentation

template<class Container>
rpa::pipe_container< Container >::pipe_container (  )  [inline]

The default constructor sets the pipeline as empty.

template<class Container>
rpa::pipe_container< Container >::pipe_container ( size_t  nbElts  )  [inline]

Sets an initial size. The value type must have a default constructor.

template<class Container>
template<class Iter>
rpa::pipe_container< Container >::pipe_container ( Iter  begIter,
Iter  endIter 
) [inline]

This fills the pipeline with a defined content at init time.

template<class Container>
rpa::pipe_container< Container >::pipe_container ( const Container &  aCont  )  [inline]


Member Function Documentation

template<class Container>
void rpa::pipe_container< Container >::begin ( void   )  const [inline, private]

template<class Container>
void rpa::pipe_container< Container >::begin ( void   )  [inline, private]

The genuine begin/end methods of the container must NEVER be taken with the new begin/end methods of the pipeline. Therefore their use is forbidden.

Reimplemented in rpa::pipe_circular< Container, CondVar >, rpa::pipe_circular< Container, void >, rpa::pipe_arc_base< Container, CondVar >, and rpa::pipe_archiver< Container, void >.

template<class Container>
iterator rpa::pipe_container< Container >::cont_begin ( void   )  const [inline]

template<class Container>
iterator rpa::pipe_container< Container >::cont_begin ( void   )  [inline]

template<class Container>
iterator rpa::pipe_container< Container >::cont_end ( void   )  const [inline]

template<class Container>
iterator rpa::pipe_container< Container >::cont_end ( void   )  [inline]

template<class Container>
void rpa::pipe_container< Container >::end ( void   )  const [inline, private]

template<class Container>
void rpa::pipe_container< Container >::end ( void   )  [inline, private]

Reimplemented in rpa::pipe_circular< Container, CondVar >, rpa::pipe_circular< Container, void >, rpa::pipe_arc_base< Container, CondVar >, and rpa::pipe_archiver< Container, void >.

template<class Container>
template<class IterIn>
size_t rpa::pipe_container< Container >::push_back_range ( IterIn  itBeg,
IterIn  itEnd,
size_t  szReserve 
) [inline]

The szReserve number is greater or equal than the size of the range, and not much bigger (Less than the double ???). This helps for reserving room in the container, without having to walk twice on the iterators range. This is necessary when using output buffers in algorithms where the output is a pipeline.

This cast is necessary to select the right template specialization. For example, if std::vector, it does a 'reserve()'.


The documentation for this class was generated from the following file:
Generated on Tue Sep 25 10:20:37 2007 for rpa by  doxygen 1.4.7