senf::ListParser_Container< ListPolicy > Class Template Reference

ListParser container wrapper. More...

#include <senf/Packets/ListParser.hh>

List of all members.


Detailed Description

template<class ListPolicy>
class senf::ListParser_Container< ListPolicy >

ListParser container wrapper.

This is the container wrapper used for list 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::aListCollection_t::container c (p->aListCollection());
c.insert(c.begin(), ... );
See also:
ListParser

Definition at line 137 of file ListParser.hh.


Public Types

typedef ListPolicy  policy
typedef ListPolicy::parser_type  parser_type
typedef
PacketParserBase::data_iterator 
data_iterator
typedef PacketParserBase::size_type  size_type
typedef
PacketParserBase::difference_type 
difference_type
typedef ListPolicy::element_type  value_type
typedef
detail::ListParser_Iterator
< ListParser_Container
iterator
typedef iterator  const_iterator
typedef
PacketParserBase::state_type 
state_type

Structors and default members

  ListParser_Container (parser_type const &list)
  ~ListParser_Container ()

Accessors

size_type  size () const
bool  empty () const
iterator  begin () const
iterator  end () const
value_type  front () const
value_type  back () const

Mutators

value_type  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 ListPolicy>
typedef iterator senf::ListParser_Container< ListPolicy >::
const_iterator

Definition at line 151 of file ListParser.hh.

template<class ListPolicy>
typedef PacketParserBase::data_iterator senf::ListParser_Container< ListPolicy >::
data_iterator

Definition at line 146 of file ListParser.hh.

template<class ListPolicy>
typedef PacketParserBase::difference_type senf::ListParser_Container< ListPolicy >::
difference_type

Definition at line 148 of file ListParser.hh.

template<class ListPolicy>
typedef detail::ListParser_Iterator<ListParser_Container> senf::ListParser_Container< ListPolicy >::
iterator

Definition at line 150 of file ListParser.hh.

template<class ListPolicy>
typedef ListPolicy::parser_type senf::ListParser_Container< ListPolicy >::
parser_type

Definition at line 145 of file ListParser.hh.

template<class ListPolicy>
typedef ListPolicy senf::ListParser_Container< ListPolicy >::
policy

Definition at line 144 of file ListParser.hh.

template<class ListPolicy>
typedef PacketParserBase::size_type senf::ListParser_Container< ListPolicy >::
size_type

Definition at line 147 of file ListParser.hh.

template<class ListPolicy>
typedef PacketParserBase::state_type senf::ListParser_Container< ListPolicy >::
state_type

Definition at line 152 of file ListParser.hh.

template<class ListPolicy>
typedef ListPolicy::element_type senf::ListParser_Container< ListPolicy >::
value_type

Definition at line 149 of file ListParser.hh.


Constructor & Destructor Documentation

template<class ListPolicy >
senf::ListParser_Container< ListPolicy >::
ListParser_Container ( parser_type const &  list )

Definition at line 224 of file ListParser.cti.

template<class ListPolicy >
senf::ListParser_Container< ListPolicy >::~
~ListParser_Container ()

Definition at line 232 of file ListParser.cti.


Member Function Documentation

template<class ListPolicy >
senf::ListParser_Container< ListPolicy >::value_type senf::ListParser_Container< ListPolicy >::
back ()

Definition at line 67 of file ListParser.ct.

template<class ListPolicy >
senf::ListParser_Container< ListPolicy >::iterator senf::ListParser_Container< ListPolicy >::
begin ()

Definition at line 259 of file ListParser.cti.

template<class ListPolicy >
senf::ListParser_Container< ListPolicy >::size_type senf::ListParser_Container< ListPolicy >::
bytes ()

Definition at line 370 of file ListParser.cti.

template<class ListPolicy >
void senf::ListParser_Container< ListPolicy >::
clear ()

Definition at line 145 of file ListParser.ct.

template<class ListPolicy >
senf::PacketData & senf::ListParser_Container< ListPolicy >::
data ()

Definition at line 362 of file ListParser.cti.

template<class ListPolicy >
bool senf::ListParser_Container< ListPolicy >::
empty ()

Definition at line 250 of file ListParser.cti.

template<class ListPolicy >
senf::ListParser_Container< ListPolicy >::iterator senf::ListParser_Container< ListPolicy >::
end ()

Definition at line 270 of file ListParser.cti.

template<class ListPolicy >
void senf::ListParser_Container< ListPolicy >::
erase ( iterator  f,
iterator  l )

Definition at line 299 of file ListParser.cti.

template<class ListPolicy >
void senf::ListParser_Container< ListPolicy >::
erase ( iterator  pos,
size_type  n = 1 )

Definition at line 133 of file ListParser.ct.

template<class ListPolicy >
senf::ListParser_Container< ListPolicy >::value_type senf::ListParser_Container< ListPolicy >::
front ()

Definition at line 281 of file ListParser.cti.

template<class ListPolicy >
senf::ListParser_Container< ListPolicy >::data_iterator senf::ListParser_Container< ListPolicy >::
i ()

Definition at line 347 of file ListParser.cti.

template<class ListPolicy >
void senf::ListParser_Container< ListPolicy >::
init ()

Definition at line 378 of file ListParser.cti.

template<class ListPolicy >
template<class ForwardIterator >
void senf::ListParser_Container< ListPolicy >::
insert ( iterator  pos,
ForwardIterator  f,
ForwardIterator  l )

Definition at line 128 of file ListParser.ct.

template<class ListPolicy >
template<class Value >
void senf::ListParser_Container< ListPolicy >::
insert ( iterator  pos,
size_type  n,
Value const &  t )

Definition at line 93 of file ListParser.ct.

template<class ListPolicy >
template<class Value >
void senf::ListParser_Container< ListPolicy >::
insert ( iterator  pos,
Value const &  t )

Definition at line 292 of file ListParser.cti.

template<class ListPolicy >
senf::ListParser_Container< ListPolicy >::parser_type senf::ListParser_Container< ListPolicy >::
parser ()

Definition at line 338 of file ListParser.cti.

template<class ListPolicy >
template<class Value >
void senf::ListParser_Container< ListPolicy >::
push_back ( Value const &  value,
size_type  n = 1 )

Definition at line 306 of file ListParser.cti.

template<class ListPolicy >
senf::ListParser_Container< ListPolicy >::value_type senf::ListParser_Container< ListPolicy >::
push_back_space ( size_type  n = 1 )

Definition at line 314 of file ListParser.cti.

template<class ListPolicy >
template<class Value >
void senf::ListParser_Container< ListPolicy >::
push_front ( Value const &  value,
size_type  n = 1 )

Definition at line 321 of file ListParser.cti.

template<class ListPolicy >
senf::ListParser_Container< ListPolicy >::value_type senf::ListParser_Container< ListPolicy >::
push_front_space ( size_type  n = 1 )

Definition at line 329 of file ListParser.cti.

template<class ListPolicy >
template<class Value >
void senf::ListParser_Container< ListPolicy >::
resize ( size_type  n,
Value  value )

Definition at line 168 of file ListParser.ct.

template<class ListPolicy >
void senf::ListParser_Container< ListPolicy >::
resize ( size_type  n )

Definition at line 157 of file ListParser.ct.

template<class ListPolicy >
senf::ListParser_Container< ListPolicy >::value_type senf::ListParser_Container< ListPolicy >::
shift ( iterator  pos,
size_type  n = 1 )

Definition at line 79 of file ListParser.ct.

template<class ListPolicy >
senf::ListParser_Container< ListPolicy >::size_type senf::ListParser_Container< ListPolicy >::
size ()

Definition at line 242 of file ListParser.cti.

template<class ListPolicy >
senf::ListParser_Container< ListPolicy >::state_type senf::ListParser_Container< ListPolicy >::
state ()

Definition at line 355 of file ListParser.cti.


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