scc 2025.09
SystemC components library
util::BitFieldMember< T, Offset, Bits > Struct Template Reference

bit field element More...

#include <bit_field.h>

Public Member Functions

maximum () const
one () const
 operator T () const
BitFieldMemberoperator= (T v)
BitFieldMemberoperator+= (T v)
BitFieldMemberoperator-= (T v)
BitFieldMemberoperator++ ()
BitFieldMember operator++ (int)
BitFieldMemberoperator-- ()
BitFieldMember operator-- (int)

Public Attributes

value

Static Public Attributes

static constexpr T Maximum = (T(1) << Bits) - 1
static constexpr T Mask = Maximum << Offset

Detailed Description

template<typename T, int Offset, int Bits>
struct util::BitFieldMember< T, Offset, Bits >

bit field element

BitFieldMember<>: Used internally by ADD_BITFIELD_MEMBER macro. All members are public to simplify compliance with sections 9.0.7 and 9.5.1 of the C++11 standard, thereby avoiding undefined behavior.

Definition at line 39 of file bit_field.h.

Member Function Documentation

◆ maximum()

template<typename T, int Offset, int Bits>
T util::BitFieldMember< T, Offset, Bits >::maximum ( ) const
inline

Definition at line 47 of file bit_field.h.

◆ one()

template<typename T, int Offset, int Bits>
T util::BitFieldMember< T, Offset, Bits >::one ( ) const
inline

Definition at line 48 of file bit_field.h.

◆ operator T()

template<typename T, int Offset, int Bits>
util::BitFieldMember< T, Offset, Bits >::operator T ( ) const
inline

Definition at line 50 of file bit_field.h.

◆ operator++() [1/2]

template<typename T, int Offset, int Bits>
BitFieldMember & util::BitFieldMember< T, Offset, Bits >::operator++ ( )
inline

Definition at line 70 of file bit_field.h.

◆ operator++() [2/2]

template<typename T, int Offset, int Bits>
BitFieldMember util::BitFieldMember< T, Offset, Bits >::operator++ ( int )
inline

Definition at line 71 of file bit_field.h.

◆ operator+=()

template<typename T, int Offset, int Bits>
BitFieldMember & util::BitFieldMember< T, Offset, Bits >::operator+= ( T v)
inline

Definition at line 58 of file bit_field.h.

◆ operator--() [1/2]

template<typename T, int Offset, int Bits>
BitFieldMember & util::BitFieldMember< T, Offset, Bits >::operator-- ( )
inline

Definition at line 76 of file bit_field.h.

◆ operator--() [2/2]

template<typename T, int Offset, int Bits>
BitFieldMember util::BitFieldMember< T, Offset, Bits >::operator-- ( int )
inline

Definition at line 77 of file bit_field.h.

◆ operator-=()

template<typename T, int Offset, int Bits>
BitFieldMember & util::BitFieldMember< T, Offset, Bits >::operator-= ( T v)
inline

Definition at line 64 of file bit_field.h.

◆ operator=()

template<typename T, int Offset, int Bits>
BitFieldMember & util::BitFieldMember< T, Offset, Bits >::operator= ( T v)
inline

Definition at line 52 of file bit_field.h.

Member Data Documentation

◆ Mask

template<typename T, int Offset, int Bits>
T util::BitFieldMember< T, Offset, Bits >::Mask = Maximum << Offset
staticconstexpr

Definition at line 46 of file bit_field.h.

◆ Maximum

template<typename T, int Offset, int Bits>
T util::BitFieldMember< T, Offset, Bits >::Maximum = (T(1) << Bits) - 1
staticconstexpr

Definition at line 45 of file bit_field.h.

◆ value

template<typename T, int Offset, int Bits>
T util::BitFieldMember< T, Offset, Bits >::value

Definition at line 40 of file bit_field.h.


The documentation for this struct was generated from the following file:
  • /home/eyck/Projects/MINRES/SystemC-Components/src/common/util/bit_field.h