17 #ifndef HH_SENF_Packets_80221Bundle_TLVParserBase_ 18 #define HH_SENF_Packets_80221Bundle_TLVParserBase_ 1 28 :
public detail::packet::IntParserOps<MIHLengthParser, boost::uint32_t>,
39 value_type
value()
const;
40 void value(value_type v);
47 return parse<UInt8Parser>(
i());
50 return parse<FlagParser<0> >(
i());
53 return parse<FlagParser<1> >(
i());
56 return parse<UIntFieldParser<2,8> >(
i());
97 # include SENF_PARSER() 119 void validateType(boost::uint8_t type)
const;
129 # include SENF_PARSER() 137 template <
class Self>
#define SENF_PARSER_INHERIT(base)
Define parser inheritance.
Parse unsigned bitfield with up to 32bit's.
Parse 8bit unsigned byte aligned integer.
TLV parser registration facility.
Return number of bytes to allocate to new object of given type.
FlagParser< 0 > extended_length_flag() const
UInt8Parser length_field() const
#define SENF_PARSER_FIELD(name, type)
Define normal parser field.
boost::uint32_t value_type
#define SENF_PARSER_FINALIZE(name)
Generate parser control members.
GenericTLVParserRegistry< MIHBaseTLVParser > Registry
static value_type const min_value
Packet data STL-sequence view.
#define SENF_PARSER_FIELD_RO(name, type)
Define parser field (read-only)
data_iterator i() const
Return beginning of data to parse.
static value_type const max_value
MIHLengthParser const & operator=(value_type other)
detail::packet::size_type size_type
Unsigned integral type.
UIntFieldParser< 2, 8 > fixed_length_field() const
MIHLengthParser(data_iterator i, state_type s)
Base class for list TLV parser.
FlagParser< 1 > underflow_flag() const
value_type capacity() const
Base class for MIH TLV parsers.
detail::packet::iterator data_iterator
Raw data iterator type.