senf::StringParser< LengthParser > Class Template Reference

#include <senf/Packets/StringParser.hh>

Inheritance diagram for senf::StringParser< LengthParser >:

Public Types

typedef LengthParser length_t
 
typedef std::string value_type
 
- 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

 StringParser (data_iterator i, state_type s)
 
LengthParser ::value_type length () const
 
size_type bytes () const
 
value_type value () const
 
void value (value_type v)
 
 operator value_type () const
 
StringParser const & operator= (value_type other)
 
bool empty () const
 
void clear ()
 
bool operator== (value_type const &other) 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 Attributes

static const size_type init_bytes = senf::init_bytes<LengthParser>::value
 

Protected Member Functions

LengthParser length_ () const
 
- 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...
 

Detailed Description

template<class LengthParser = senf::UInt16Parser>
class senf::StringParser< LengthParser >

Definition at line 33 of file StringParser.hh.

Member Typedef Documentation

◆ length_t

template<class LengthParser = senf::UInt16Parser>
typedef LengthParser senf::StringParser< LengthParser >::length_t

Definition at line 40 of file StringParser.hh.

◆ value_type

template<class LengthParser = senf::UInt16Parser>
typedef std::string senf::StringParser< LengthParser >::value_type

Definition at line 40 of file StringParser.hh.

Constructor & Destructor Documentation

◆ StringParser()

template<class LengthParser = senf::UInt16Parser>
senf::StringParser< LengthParser >::StringParser ( data_iterator  i,
state_type  s 
)

Member Function Documentation

◆ bytes()

template<class LengthParser = senf::UInt16Parser>
size_type senf::StringParser< LengthParser >::bytes ( ) const

◆ clear()

template<class LengthParser = senf::UInt16Parser>
void senf::StringParser< LengthParser >::clear ( )

◆ empty()

template<class LengthParser = senf::UInt16Parser>
bool senf::StringParser< LengthParser >::empty ( ) const

◆ length()

template<class LengthParser = senf::UInt16Parser>
LengthParser ::value_type senf::StringParser< LengthParser >::length ( ) const

◆ length_()

template<class LengthParser = senf::UInt16Parser>
LengthParser senf::StringParser< LengthParser >::length_ ( ) const
protected

◆ operator value_type()

template<class LengthParser = senf::UInt16Parser>
senf::StringParser< LengthParser >::operator value_type ( ) const

◆ operator=()

template<class LengthParser = senf::UInt16Parser>
StringParser const& senf::StringParser< LengthParser >::operator= ( value_type  other)

◆ operator==()

template<class LengthParser = senf::UInt16Parser>
bool senf::StringParser< LengthParser >::operator== ( value_type const &  other) const

◆ value() [1/2]

template<class LengthParser = senf::UInt16Parser>
value_type senf::StringParser< LengthParser >::value ( ) const

◆ value() [2/2]

template<class LengthParser = senf::UInt16Parser>
void senf::StringParser< LengthParser >::value ( value_type  v)

Member Data Documentation

◆ init_bytes

template<class LengthParser = senf::UInt16Parser>
const size_type senf::StringParser< LengthParser >::init_bytes = senf::init_bytes<LengthParser>::value
static

Definition at line 43 of file StringParser.hh.


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