senf::FlagParser< Bit > Struct Template Reference
[Integer parsers]

Parse single-bit flag. More...

#include <senf/Packets/IntParser.hh>

Inheritance diagram for senf::FlagParser< Bit >:
Inheritance graph
[legend]

List of all members.


Detailed Description

template<unsigned Bit>
struct senf::FlagParser< Bit >

Parse single-bit flag.

This parser will parse a single bit as True/False value. Bits are numbered most significant bit first as this is the customary numbering used when defining packet data structures. Bit can be arbitrary, FlagParser<75> is a valid flag parser.

When defining a compound parser with several bit fields, you need to take care of the fact, that several integer field parsers will interpret the same data bytes (but not the same bits). It is customary for several integer field parsers to start at the same byte offset with ever increasing bit offsets.

See also:
Integer parsers

Definition at line 570 of file IntParser.hh.


Public Types

typedef bool  value_type

Public Member Functions

  FlagParser (data_iterator i, state_type s)
value_type  value () const
void  value (value_type v)
FlagParser const &  operator= (value_type other)

Static Public Attributes

static size_type const  bit = Bit
static size_type const  fixed_bytes = Bit/8+1
static value_type const  min_value = 0
static value_type const  max_value = 1

Related Functions

(Note that these are not member functions.)

template<unsigned Bit>
std::ostream &  operator<< (std::ostream &os, FlagParser< Bit > const &i)
  Write parsed value to stream.

Member Typedef Documentation

template<unsigned Bit>
typedef bool senf::FlagParser< Bit >::
value_type

Reimplemented from senf::detail::packet::IntParserOps< FlagParser< Bit >, bool >.

Definition at line 578 of file IntParser.hh.


Constructor & Destructor Documentation

template<unsigned Bit>
senf::FlagParser< Bit >::
FlagParser ( data_iterator  i,
state_type  s )

Definition at line 574 of file IntParser.hh.


Member Function Documentation

template<unsigned Bit>
FlagParser const& senf::FlagParser< Bit >::
operator= ( value_type  other )

Definition at line 589 of file IntParser.hh.

template<unsigned Bit>
void senf::FlagParser< Bit >::
value ( value_type  v )

Definition at line 585 of file IntParser.hh.

template<unsigned Bit>
value_type senf::FlagParser< Bit >::
value ()

Definition at line 584 of file IntParser.hh.


Friends And Related Function Documentation

template<unsigned Bit>
std::ostream &
operator<< ( std::ostream &  os,
FlagParser< Bit > const &  i )

Write parsed value to stream.

Definition at line 595 of file IntParser.hh.


Member Data Documentation

template<unsigned Bit>
size_type const senf::FlagParser< Bit >::bit = Bit
[static]

Definition at line 579 of file IntParser.hh.

template<unsigned Bit>
size_type const senf::FlagParser< Bit >::fixed_bytes = Bit/8+1
[static]

Definition at line 580 of file IntParser.hh.

template<unsigned Bit>
value_type const senf::FlagParser< Bit >::max_value = 1
[static]

Definition at line 582 of file IntParser.hh.

template<unsigned Bit>
value_type const senf::FlagParser< Bit >::min_value = 0
[static]

Definition at line 581 of file IntParser.hh.


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