senf::VectorParser_Container< ElementParser, AuxPolicy > Class Template Reference

VectorParser container wrapper. More...

#include <senf/Packets/VectorParser.hh>

List of all members.


Detailed Description

template<class ElementParser, class AuxPolicy>
class senf::VectorParser_Container< ElementParser, AuxPolicy >

VectorParser container wrapper.

This is the container wrapper used for vector parsers. The container wrapper will stay valid after changing the collection. However the container still depends on the packet and will be invalidated if the Packet is deallocated or if the packet size is changed from without the container wrapper (more precisely, it is invalidated if the insertion/deletion happens before the vector in the packet data).

The vector container wrapper provides a complete STL random-access sequence interface.

SomePacket p (...);
SomePacket::aVectorCollection_t::container c (p->aVectorCollection());
c.insert(c.begin(), ... );
See also:
VectorParser

Definition at line 137 of file VectorParser.hh.


Public Types

typedef VectorParser
< ElementParser, AuxPolicy > 
parser_type
typedef
PacketParserBase::data_iterator 
data_iterator
typedef PacketParserBase::size_type  size_type
typedef
PacketParserBase::difference_type 
difference_type
typedef ElementParser  value_type
typedef
detail::ArrayParser_iterator
< value_type
iterator
typedef iterator  const_iterator
typedef
PacketParserBase::state_type 
state_type

Structors and default members

  VectorParser_Container (parser_type const &vector)

Accessors

size_type  size () const
bool  empty () const
iterator  begin () const
iterator  end () const
value_type  operator[] (difference_type i) const
value_type  front () const
value_type  back () const

Mutators

iterator  shift (iterator pos, size_type n=1)
template<class Value >
void  insert (iterator pos, Value const &t)
template<class Value >
void  insert (iterator pos, size_type n, Value const &t)
template<class ForwardIterator >
void  insert (iterator pos, ForwardIterator f, ForwardIterator l)
void  erase (iterator pos, size_type n=1)
void  erase (iterator f, iterator l)
void  clear ()
template<class Value >
void  push_back (Value const &value, size_type n=1)
value_type  push_back_space (size_type n=1)
template<class Value >
void  push_front (Value const &value, size_type n=1)
value_type  push_front_space (size_type n=1)
void  resize (size_type n)
template<class Value >
void  resize (size_type n, Value value)

Parser interface

parser_type  parser () const
data_iterator  i () const
state_type  state () const
PacketData data () const
size_type  bytes () const
void  init () const

Member Typedef Documentation

template<class ElementParser, class AuxPolicy>
typedef iterator senf::VectorParser_Container< ElementParser, AuxPolicy >::
const_iterator

Definition at line 150 of file VectorParser.hh.

template<class ElementParser, class AuxPolicy>
typedef PacketParserBase::data_iterator senf::VectorParser_Container< ElementParser, AuxPolicy >::
data_iterator

Definition at line 145 of file VectorParser.hh.

template<class ElementParser, class AuxPolicy>
typedef PacketParserBase::difference_type senf::VectorParser_Container< ElementParser, AuxPolicy >::
difference_type

Definition at line 147 of file VectorParser.hh.

template<class ElementParser, class AuxPolicy>
typedef detail::ArrayParser_iterator<value_type> senf::VectorParser_Container< ElementParser, AuxPolicy >::
iterator

Definition at line 149 of file VectorParser.hh.

template<class ElementParser, class AuxPolicy>
typedef VectorParser<ElementParser,AuxPolicy> senf::VectorParser_Container< ElementParser, AuxPolicy >::
parser_type

Definition at line 144 of file VectorParser.hh.

template<class ElementParser, class AuxPolicy>
typedef PacketParserBase::size_type senf::VectorParser_Container< ElementParser, AuxPolicy >::
size_type

Definition at line 146 of file VectorParser.hh.

template<class ElementParser, class AuxPolicy>
typedef PacketParserBase::state_type senf::VectorParser_Container< ElementParser, AuxPolicy >::
state_type

Definition at line 151 of file VectorParser.hh.

template<class ElementParser, class AuxPolicy>
typedef ElementParser senf::VectorParser_Container< ElementParser, AuxPolicy >::
value_type

Definition at line 148 of file VectorParser.hh.


Constructor & Destructor Documentation

template<class ElementParser , class AuxPolicy >
senf::VectorParser_Container< ElementParser, AuxPolicy >::
VectorParser_Container ( parser_type const &  vector )

Definition at line 177 of file VectorParser.cti.


Member Function Documentation

template<class ElementParser , class AuxPolicy >
senf::VectorParser_Container< ElementParser, AuxPolicy >::value_type senf::VectorParser_Container< ElementParser, AuxPolicy >::
back ()

Definition at line 233 of file VectorParser.cti.

template<class ElementParser , class AuxPolicy >
senf::VectorParser_Container< ElementParser, AuxPolicy >::iterator senf::VectorParser_Container< ElementParser, AuxPolicy >::
begin ()

Definition at line 201 of file VectorParser.cti.

template<class ElementParser , class AuxPolicy >
senf::VectorParser_Container< ElementParser, AuxPolicy >::size_type senf::VectorParser_Container< ElementParser, AuxPolicy >::
bytes ()

Definition at line 334 of file VectorParser.cti.

template<class ElementParser , class AuxPolicy >
void senf::VectorParser_Container< ElementParser, AuxPolicy >::
clear ()

Definition at line 263 of file VectorParser.cti.

template<class ElementParser , class AuxPolicy >
senf::PacketData & senf::VectorParser_Container< ElementParser, AuxPolicy >::
data ()

Definition at line 326 of file VectorParser.cti.

template<class ElementParser , class AuxPolicy >
bool senf::VectorParser_Container< ElementParser, AuxPolicy >::
empty ()

Definition at line 193 of file VectorParser.cti.

template<class ElementParser , class AuxPolicy >
senf::VectorParser_Container< ElementParser, AuxPolicy >::iterator senf::VectorParser_Container< ElementParser, AuxPolicy >::
end ()

Definition at line 209 of file VectorParser.cti.

template<class ElementParser , class AuxPolicy >
void senf::VectorParser_Container< ElementParser, AuxPolicy >::
erase ( iterator  f,
iterator  l )

Definition at line 257 of file VectorParser.cti.

template<class ElementParser , class AuxPolicy >
void senf::VectorParser_Container< ElementParser, AuxPolicy >::
erase ( iterator  pos,
size_type  n = 1 )

Definition at line 250 of file VectorParser.cti.

template<class ElementParser , class AuxPolicy >
senf::VectorParser_Container< ElementParser, AuxPolicy >::value_type senf::VectorParser_Container< ElementParser, AuxPolicy >::
front ()

Definition at line 225 of file VectorParser.cti.

template<class ElementParser , class AuxPolicy >
senf::VectorParser_Container< ElementParser, AuxPolicy >::data_iterator senf::VectorParser_Container< ElementParser, AuxPolicy >::
i ()

Definition at line 310 of file VectorParser.cti.

template<class ElementParser , class AuxPolicy >
void senf::VectorParser_Container< ElementParser, AuxPolicy >::
init ()

Definition at line 51 of file VectorParser.ct.

template<class ElementParser , class AuxPolicy >
template<class ForwardIterator >
void senf::VectorParser_Container< ElementParser, AuxPolicy >::
insert ( iterator  pos,
ForwardIterator  f,
ForwardIterator  l )

Definition at line 96 of file VectorParser.ct.

template<class ElementParser , class AuxPolicy >
template<class Value >
void senf::VectorParser_Container< ElementParser, AuxPolicy >::
insert ( iterator  pos,
size_type  n,
Value const &  t )

Definition at line 74 of file VectorParser.ct.

template<class ElementParser , class AuxPolicy >
template<class Value >
void senf::VectorParser_Container< ElementParser, AuxPolicy >::
insert ( iterator  pos,
Value const &  t )

Definition at line 243 of file VectorParser.cti.

template<class ElementParser , class AuxPolicy >
senf::VectorParser_Container< ElementParser, AuxPolicy >::value_type senf::VectorParser_Container< ElementParser, AuxPolicy >::
operator[] ( difference_type  i )

Definition at line 217 of file VectorParser.cti.

template<class ElementParser , class AuxPolicy >
senf::VectorParser_Container< ElementParser, AuxPolicy >::parser_type senf::VectorParser_Container< ElementParser, AuxPolicy >::
parser ()

Definition at line 302 of file VectorParser.cti.

template<class ElementParser , class AuxPolicy >
template<class Value >
void senf::VectorParser_Container< ElementParser, AuxPolicy >::
push_back ( Value const &  value,
size_type  n = 1 )

Definition at line 270 of file VectorParser.cti.

template<class ElementParser , class AuxPolicy >
senf::VectorParser_Container< ElementParser, AuxPolicy >::value_type senf::VectorParser_Container< ElementParser, AuxPolicy >::
push_back_space ( size_type  n = 1 )

Definition at line 278 of file VectorParser.cti.

template<class ElementParser , class AuxPolicy >
template<class Value >
void senf::VectorParser_Container< ElementParser, AuxPolicy >::
push_front ( Value const &  value,
size_type  n = 1 )

Definition at line 285 of file VectorParser.cti.

template<class ElementParser , class AuxPolicy >
senf::VectorParser_Container< ElementParser, AuxPolicy >::value_type senf::VectorParser_Container< ElementParser, AuxPolicy >::
push_front_space ( size_type  n = 1 )

Definition at line 293 of file VectorParser.cti.

template<class ElementParser , class AuxPolicy >
template<class Value >
void senf::VectorParser_Container< ElementParser, AuxPolicy >::
resize ( size_type  n,
Value  value )

Definition at line 111 of file VectorParser.ct.

template<class ElementParser , class AuxPolicy >
void senf::VectorParser_Container< ElementParser, AuxPolicy >::
resize ( size_type  n )

Definition at line 101 of file VectorParser.ct.

template<class ElementParser , class AuxPolicy >
senf::VectorParser_Container< ElementParser, AuxPolicy >::iterator senf::VectorParser_Container< ElementParser, AuxPolicy >::
shift ( iterator  pos,
size_type  n = 1 )

Definition at line 64 of file VectorParser.ct.

template<class ElementParser , class AuxPolicy >
senf::VectorParser_Container< ElementParser, AuxPolicy >::size_type senf::VectorParser_Container< ElementParser, AuxPolicy >::
size ()

Definition at line 186 of file VectorParser.cti.

template<class ElementParser , class AuxPolicy >
senf::VectorParser_Container< ElementParser, AuxPolicy >::state_type senf::VectorParser_Container< ElementParser, AuxPolicy >::
state ()

Definition at line 318 of file VectorParser.cti.


The documentation for this class was generated from the following files: