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