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 PacketDatastate_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...
 
PacketDatadata () 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: