senf::ArrayParser< elements, ElementParser > Struct Template Reference
[Collection parsers]

Fixed size collection of fixed size elements. More...

#include <senf/Packets/ArrayParser.hh>

Inheritance diagram for senf::ArrayParser< elements, ElementParser >:
Inheritance graph
[legend]

List of all members.


Detailed Description

template<unsigned elements, class ElementParser>
struct senf::ArrayParser< elements, ElementParser >

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 75 of file ArrayParser.hh.


Public Types

typedef ElementParser  value_type
typedef
detail::ArrayParser_iterator
< value_type
iterator
typedef iterator  const_iterator

Public Member Functions

  ArrayParser (data_iterator i, state_type s)
void  init () const
  Default implementation.
iterator  begin () const
iterator  end () const
value_type  operator[] (difference_type i) const

Static Public Member Functions

static size_type  size ()

Static Public Attributes

static size_type const  fixed_bytes = elements*ElementParser::fixed_bytes

Member Typedef Documentation

template<unsigned elements, class ElementParser>
typedef iterator senf::ArrayParser< elements, ElementParser >::
const_iterator

Definition at line 88 of file ArrayParser.hh.

template<unsigned elements, class ElementParser>
typedef detail::ArrayParser_iterator<value_type> senf::ArrayParser< elements, ElementParser >::
iterator

Definition at line 87 of file ArrayParser.hh.

template<unsigned elements, class ElementParser>
typedef ElementParser senf::ArrayParser< elements, ElementParser >::
value_type

Definition at line 86 of file ArrayParser.hh.


Constructor & Destructor Documentation

template<unsigned elements, class ElementParser >
senf::ArrayParser< elements, ElementParser >::
ArrayParser ( data_iterator  i,
state_type  s )

Definition at line 38 of file ArrayParser.cti.


Member Function Documentation

template<unsigned elements, class ElementParser >
senf::ArrayParser< elements, ElementParser >::iterator senf::ArrayParser< elements, ElementParser >::
begin ()

Definition at line 53 of file ArrayParser.cti.

template<unsigned elements, class ElementParser >
senf::ArrayParser< elements, ElementParser >::iterator senf::ArrayParser< elements, ElementParser >::
end ()

Reimplemented from senf::PacketParserBase.

Definition at line 61 of file ArrayParser.cti.

template<unsigned elements, class ElementParser >
void senf::ArrayParser< elements, ElementParser >::
init ()

Default implementation.

This is just an empty default implementation. Re-implement this member in your own parsers if needed.

Reimplemented from senf::PacketParserBase.

Definition at line 37 of file ArrayParser.ct.

template<unsigned elements, class ElementParser >
senf::ArrayParser< elements, ElementParser >::value_type senf::ArrayParser< elements, ElementParser >::
operator[] ( difference_type  i )

Definition at line 69 of file ArrayParser.cti.

template<unsigned elements, class ElementParser >
senf::ArrayParser< elements, ElementParser >::size_type senf::ArrayParser< elements, ElementParser >::
size ()

Definition at line 46 of file ArrayParser.cti.


Member Data Documentation

template<unsigned elements, class ElementParser>
size_type const senf::ArrayParser< elements, ElementParser >::fixed_bytes = elements*ElementParser::fixed_bytes
[static]

Definition at line 79 of file ArrayParser.hh.


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