senf::BitsetParser< N, Endianness > Struct Template Reference

#include <senf/Packets/BitsetParser.hh>

Inheritance diagram for senf::BitsetParser< N, Endianness >:

Classes

class  reference
 

Public Types

typedef std::bitset< N > 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

 BitsetParser (data_iterator i, state_type s)
 
void set ()
 
void set (std::size_t pos, bool v=true)
 
void reset ()
 
void reset (std::size_t pos)
 
void flip ()
 
void flip (std::size_t pos)
 
bool any () const
 
bool none () const
 
bool all () const
 
bool test (std::size_t pos) const
 
bool operator[] (std::size_t pos) const
 
reference operator[] (std::size_t pos)
 
std::size_t size () const
 
std::size_t count () const
 
void value (value_type const &bset)
 
value_type value () 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 size_type const fixed_bytes = N/8 + boost::static_unsigned_min<1u, N % 8>::value
 

Additional Inherited Members

- 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<std::size_t N, typename Endianness>
struct senf::BitsetParser< N, Endianness >

Definition at line 44 of file BitsetParser.hh.

Member Typedef Documentation

◆ value_type

template<std::size_t N, typename Endianness>
typedef std::bitset<N> senf::BitsetParser< N, Endianness >::value_type

Definition at line 50 of file BitsetParser.hh.

Constructor & Destructor Documentation

◆ BitsetParser()

template<std::size_t N, typename Endianness>
senf::BitsetParser< N, Endianness >::BitsetParser ( data_iterator  i,
state_type  s 
)
inline

Definition at line 47 of file BitsetParser.hh.

Member Function Documentation

◆ all()

template<std::size_t N, typename Endianness>
bool senf::BitsetParser< N, Endianness >::all ( ) const

◆ any()

template<std::size_t N, typename Endianness>
bool senf::BitsetParser< N, Endianness >::any ( ) const

◆ count()

template<std::size_t N, typename Endianness>
std::size_t senf::BitsetParser< N, Endianness >::count ( ) const

◆ flip() [1/2]

template<std::size_t N, typename Endianness>
void senf::BitsetParser< N, Endianness >::flip ( )

◆ flip() [2/2]

template<std::size_t N, typename Endianness>
void senf::BitsetParser< N, Endianness >::flip ( std::size_t  pos)

◆ none()

template<std::size_t N, typename Endianness>
bool senf::BitsetParser< N, Endianness >::none ( ) const

◆ operator[]() [1/2]

template<std::size_t N, typename Endianness>
bool senf::BitsetParser< N, Endianness >::operator[] ( std::size_t  pos) const

◆ operator[]() [2/2]

template<std::size_t N, typename Endianness>
reference senf::BitsetParser< N, Endianness >::operator[] ( std::size_t  pos)

◆ reset() [1/2]

template<std::size_t N, typename Endianness>
void senf::BitsetParser< N, Endianness >::reset ( )

◆ reset() [2/2]

template<std::size_t N, typename Endianness>
void senf::BitsetParser< N, Endianness >::reset ( std::size_t  pos)

◆ set() [1/2]

template<std::size_t N, typename Endianness>
void senf::BitsetParser< N, Endianness >::set ( )

◆ set() [2/2]

template<std::size_t N, typename Endianness>
void senf::BitsetParser< N, Endianness >::set ( std::size_t  pos,
bool  v = true 
)

◆ size()

template<std::size_t N, typename Endianness>
std::size_t senf::BitsetParser< N, Endianness >::size ( ) const

◆ test()

template<std::size_t N, typename Endianness>
bool senf::BitsetParser< N, Endianness >::test ( std::size_t  pos) const

◆ value() [1/2]

template<std::size_t N, typename Endianness>
void senf::BitsetParser< N, Endianness >::value ( value_type const &  bset)

◆ value() [2/2]

template<std::size_t N, typename Endianness>
value_type senf::BitsetParser< N, Endianness >::value ( ) const

Member Data Documentation

◆ fixed_bytes

template<std::size_t N, typename Endianness>
size_type const senf::BitsetParser< N, Endianness >::fixed_bytes = N/8 + boost::static_unsigned_min<1u, N % 8>::value
static

Definition at line 51 of file BitsetParser.hh.


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