#include <senf/Packets/VectorParser.hh>
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(), ... );
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 |
typedef iterator senf::VectorParser_Container< ElementParser, AuxPolicy >:: | ||||
const_iterator | ||||
Definition at line 150 of file VectorParser.hh.
typedef PacketParserBase::data_iterator senf::VectorParser_Container< ElementParser, AuxPolicy >:: | ||||
data_iterator | ||||
Definition at line 145 of file VectorParser.hh.
typedef PacketParserBase::difference_type senf::VectorParser_Container< ElementParser, AuxPolicy >:: | ||||
difference_type | ||||
Definition at line 147 of file VectorParser.hh.
typedef detail::ArrayParser_iterator<value_type> senf::VectorParser_Container< ElementParser, AuxPolicy >:: | ||||
iterator | ||||
Definition at line 149 of file VectorParser.hh.
typedef VectorParser<ElementParser,AuxPolicy> senf::VectorParser_Container< ElementParser, AuxPolicy >:: | ||||
parser_type | ||||
Definition at line 144 of file VectorParser.hh.
typedef PacketParserBase::size_type senf::VectorParser_Container< ElementParser, AuxPolicy >:: | ||||
size_type | ||||
Definition at line 146 of file VectorParser.hh.
typedef PacketParserBase::state_type senf::VectorParser_Container< ElementParser, AuxPolicy >:: | ||||
state_type | ||||
Definition at line 151 of file VectorParser.hh.
typedef ElementParser senf::VectorParser_Container< ElementParser, AuxPolicy >:: | ||||
value_type | ||||
Definition at line 148 of file VectorParser.hh.
senf::VectorParser_Container< ElementParser, AuxPolicy >:: | ||||
VectorParser_Container | ( | parser_type const & | vector | ) |
Definition at line 177 of file VectorParser.cti.
senf::VectorParser_Container< ElementParser, AuxPolicy >::value_type senf::VectorParser_Container< ElementParser, AuxPolicy >:: | ||||
back | () | |||
Definition at line 233 of file VectorParser.cti.
senf::VectorParser_Container< ElementParser, AuxPolicy >::iterator senf::VectorParser_Container< ElementParser, AuxPolicy >:: | ||||
begin | () | |||
Definition at line 201 of file VectorParser.cti.
senf::VectorParser_Container< ElementParser, AuxPolicy >::size_type senf::VectorParser_Container< ElementParser, AuxPolicy >:: | ||||
bytes | () | |||
Definition at line 334 of file VectorParser.cti.
void senf::VectorParser_Container< ElementParser, AuxPolicy >:: | ||||
clear | () | |||
Definition at line 263 of file VectorParser.cti.
senf::PacketData & senf::VectorParser_Container< ElementParser, AuxPolicy >:: | ||||
data | () | |||
Definition at line 326 of file VectorParser.cti.
bool senf::VectorParser_Container< ElementParser, AuxPolicy >:: | ||||
empty | () | |||
Definition at line 193 of file VectorParser.cti.
senf::VectorParser_Container< ElementParser, AuxPolicy >::iterator senf::VectorParser_Container< ElementParser, AuxPolicy >:: | ||||
end | () | |||
Definition at line 209 of file VectorParser.cti.
void senf::VectorParser_Container< ElementParser, AuxPolicy >:: | ||||
erase | ( | iterator | f, | |
iterator | l | ) | ||
Definition at line 257 of file VectorParser.cti.
void senf::VectorParser_Container< ElementParser, AuxPolicy >:: | ||||
erase | ( | iterator | pos, | |
size_type |
n = 1
|
) | ||
Definition at line 250 of file VectorParser.cti.
senf::VectorParser_Container< ElementParser, AuxPolicy >::value_type senf::VectorParser_Container< ElementParser, AuxPolicy >:: | ||||
front | () | |||
Definition at line 225 of file VectorParser.cti.
senf::VectorParser_Container< ElementParser, AuxPolicy >::data_iterator senf::VectorParser_Container< ElementParser, AuxPolicy >:: | ||||
i | () | |||
Definition at line 310 of file VectorParser.cti.
void senf::VectorParser_Container< ElementParser, AuxPolicy >:: | ||||
init | () | |||
Definition at line 51 of file VectorParser.ct.
void senf::VectorParser_Container< ElementParser, AuxPolicy >:: | ||||
insert | ( | iterator | pos, | |
ForwardIterator | f, | |||
ForwardIterator | l | ) | ||
Definition at line 96 of file VectorParser.ct.
void senf::VectorParser_Container< ElementParser, AuxPolicy >:: | ||||
insert | ( | iterator | pos, | |
size_type | n, | |||
Value const & | t | ) | ||
Definition at line 74 of file VectorParser.ct.
void senf::VectorParser_Container< ElementParser, AuxPolicy >:: | ||||
insert | ( | iterator | pos, | |
Value const & | t | ) | ||
Definition at line 243 of file VectorParser.cti.
senf::VectorParser_Container< ElementParser, AuxPolicy >::value_type senf::VectorParser_Container< ElementParser, AuxPolicy >:: | ||||
operator[] | ( | difference_type | i | ) |
Definition at line 217 of file VectorParser.cti.
senf::VectorParser_Container< ElementParser, AuxPolicy >::parser_type senf::VectorParser_Container< ElementParser, AuxPolicy >:: | ||||
parser | () | |||
Definition at line 302 of file VectorParser.cti.
void senf::VectorParser_Container< ElementParser, AuxPolicy >:: | ||||
push_back | ( | Value const & | value, | |
size_type |
n = 1
|
) | ||
Definition at line 270 of file VectorParser.cti.
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.
void senf::VectorParser_Container< ElementParser, AuxPolicy >:: | ||||
push_front | ( | Value const & | value, | |
size_type |
n = 1
|
) | ||
Definition at line 285 of file VectorParser.cti.
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.
void senf::VectorParser_Container< ElementParser, AuxPolicy >:: | ||||
resize | ( | size_type | n, | |
Value | value | ) | ||
Definition at line 111 of file VectorParser.ct.
void senf::VectorParser_Container< ElementParser, AuxPolicy >:: | ||||
resize | ( | size_type | n | ) |
Definition at line 101 of file VectorParser.ct.
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.
senf::VectorParser_Container< ElementParser, AuxPolicy >::size_type senf::VectorParser_Container< ElementParser, AuxPolicy >:: | ||||
size | () | |||
Definition at line 186 of file VectorParser.cti.
senf::VectorParser_Container< ElementParser, AuxPolicy >::state_type senf::VectorParser_Container< ElementParser, AuxPolicy >:: | ||||
state | () | |||
Definition at line 318 of file VectorParser.cti.