Fixed size collection of fixed size elements. More...
#include <senf/Packets/ArrayParser.hh>
Public Types | |
typedef ElementParser | value_type |
typedef detail::ArrayParser_iterator< value_type > | iterator |
typedef iterator | const_iterator |
Public Types inherited from senf::PacketParserBase | |
typedef detail::packet::iterator | data_iterator |
Raw data iterator type. More... | |
typedef detail::packet::size_type | size_type |
Unsigned integral type. More... | |
typedef detail::packet::difference_type | difference_type |
Signed integral type. More... | |
typedef detail::packet::byte | byte |
Unsigned 8bit value, the raw value type. More... | |
typedef PacketData * | state_type |
Type of the 'state' parameter. More... | |
typedef PacketParserBase | parser_base_type |
Base type of the next parser. More... | |
Public Member Functions | |
ArrayParser (data_iterator i, state_type s) | |
void | init () const |
iterator | begin () const |
iterator | end () const |
value_type | operator[] (difference_type i) const |
Public Member Functions inherited from senf::PacketParserBase | |
data_iterator | i () const |
Return beginning of data to parse. More... | |
data_iterator | i (size_type offset) const |
Return iterator offset bytes from the start. More... | |
state_type | state () const |
Return state of this parser. More... | |
PacketData & | data () const |
Access the packets raw data container. More... | |
void | init () const |
Default implementation. More... | |
Static Public Member Functions | |
static size_type | size () |
Static Public Attributes | |
static size_type const | fixed_bytes = elements*ElementParser::fixed_bytes |
Additional Inherited Members | |
Protected Member Functions inherited from senf::PacketParserBase | |
ParserProtector | protect () const |
PacketParserBase (data_iterator i, state_type s) | |
Standard constructor. More... | |
PacketParserBase (data_iterator i, state_type s, size_type size) | |
Size checking constructor. More... | |
bool | check (size_type size) const |
Check size of data container. More... | |
void | validate (size_type size) const |
Validate size of data container. More... | |
template<class Parser > | |
Parser | parse (data_iterator i) const |
Create sub-parser. More... | |
template<class Parser , class Arg > | |
Parser | parse (Arg const &arg, data_iterator i) const |
Create sub-parser. More... | |
template<class Parser > | |
Parser | parse (size_type n) const |
Create sub-parser. More... | |
template<class Parser , class Arg > | |
Parser | parse (Arg const &arg, size_type n) const |
Create sub-parser. More... | |
void | defaultInit () const |
Default implementation. More... | |
Packet | packet () const |
Get packet this parser is parsing from. More... | |
void | resize (size_type oldSize, size_type newSize) |
Resize data container. More... | |
Fixed size collection of fixed size elements.
ArrayParser will parse a sequence of fixed size parsers. The number of array elements is given by the elements template parameter and is fixed at compile time.
Each element will be parsed by ElementParser, which can be any fixed size parser. The array models an STL random-access sequence with the restriction that elements cannot be added or removed since the size is fixed.
Definition at line 66 of file ArrayParser.hh.
typedef iterator senf::ArrayParser< elements, ElementParser >::const_iterator |
Definition at line 79 of file ArrayParser.hh.
typedef detail::ArrayParser_iterator<value_type> senf::ArrayParser< elements, ElementParser >::iterator |
Definition at line 78 of file ArrayParser.hh.
typedef ElementParser senf::ArrayParser< elements, ElementParser >::value_type |
Definition at line 77 of file ArrayParser.hh.
senf::ArrayParser< elements, ElementParser >::ArrayParser | ( | data_iterator | i, |
state_type | s | ||
) |
iterator senf::ArrayParser< elements, ElementParser >::begin | ( | ) | const |
iterator senf::ArrayParser< elements, ElementParser >::end | ( | ) | const |
void senf::ArrayParser< elements, ElementParser >::init | ( | ) | const |
value_type senf::ArrayParser< elements, ElementParser >::operator[] | ( | difference_type | i | ) | const |
|
static |
|
static |
Definition at line 70 of file ArrayParser.hh.