Vanetza
 
Loading...
Searching...
No Matches
vanetza::BitNumber< T, WIDTH > Class Template Reference

#include <bit_number.hpp>

Inheritance diagram for vanetza::BitNumber< T, WIDTH >:

Public Types

typedef T value_type
 

Public Member Functions

 BitNumber (T value)
 
BitNumberoperator= (T value)
 
raw () const
 
bool operator< (BitNumber other) const
 
bool operator== (BitNumber other) const
 

Static Public Attributes

static constexpr T mask = (1 << WIDTH) - 1
 
static constexpr std::size_t bits = WIDTH
 

Private Attributes

mValue
 

Detailed Description

template<typename T, std::size_t WIDTH>
class vanetza::BitNumber< T, WIDTH >

BitNumber restricts the value range by the given width

Template Parameters
Tunderlying integral type
WIDTHnumber of bits used to represent a number

Definition at line 17 of file bit_number.hpp.

Member Typedef Documentation

◆ value_type

template<typename T , std::size_t WIDTH>
typedef T vanetza::BitNumber< T, WIDTH >::value_type

underlying (integral) value type

Definition at line 27 of file bit_number.hpp.

Constructor & Destructor Documentation

◆ BitNumber() [1/2]

template<typename T , std::size_t WIDTH>
vanetza::BitNumber< T, WIDTH >::BitNumber ( )
inline

Definition at line 29 of file bit_number.hpp.

◆ BitNumber() [2/2]

template<typename T , std::size_t WIDTH>
vanetza::BitNumber< T, WIDTH >::BitNumber ( value)
inline

Definition at line 30 of file bit_number.hpp.

Member Function Documentation

◆ operator<()

template<typename T , std::size_t WIDTH>
bool vanetza::BitNumber< T, WIDTH >::operator< ( BitNumber< T, WIDTH >  other) const
inline

Definition at line 34 of file bit_number.hpp.

◆ operator=()

template<typename T , std::size_t WIDTH>
BitNumber & vanetza::BitNumber< T, WIDTH >::operator= ( value)
inline

Definition at line 31 of file bit_number.hpp.

◆ operator==()

template<typename T , std::size_t WIDTH>
bool vanetza::BitNumber< T, WIDTH >::operator== ( BitNumber< T, WIDTH >  other) const
inline

Definition at line 35 of file bit_number.hpp.

◆ raw()

template<typename T , std::size_t WIDTH>
T vanetza::BitNumber< T, WIDTH >::raw ( ) const
inline

Definition at line 32 of file bit_number.hpp.

Member Data Documentation

◆ bits

template<typename T , std::size_t WIDTH>
constexpr std::size_t vanetza::BitNumber< T, WIDTH >::bits = WIDTH
staticconstexpr

number of bits used

Definition at line 26 of file bit_number.hpp.

◆ mask

template<typename T , std::size_t WIDTH>
constexpr T vanetza::BitNumber< T, WIDTH >::mask = (1 << WIDTH) - 1
staticconstexpr

excessive bits are masked

Definition at line 25 of file bit_number.hpp.

◆ mValue

template<typename T , std::size_t WIDTH>
T vanetza::BitNumber< T, WIDTH >::mValue
private

Definition at line 38 of file bit_number.hpp.


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