L4Re – L4 Runtime Environment
|
Definition for a member (part) of a bit field. More...
Data Structures | |
class | Value |
Internal helper type. More... | |
class | Value_base |
Internal helper type. More... | |
class | Value_unshifted |
Internal helper type. More... | |
Public Types | |
enum | { Bits = MSB + 1 - LSB , Lsb = LSB , Msb = MSB } |
enum | Masks : T { Low_mask = ((T)~0ULL) >> (sizeof(T)*8 - Bits) , Mask = Low_mask << Lsb } |
typedef Best_type< Bits >::Type | Bits_type |
Type to hold at least Bits bits. More... | |
typedef Best_type< Bits+Lsb >::Type | Shift_type |
Type to hold at least Bits + Lsb bits. More... | |
typedef Value< T & > | Ref |
Reference type to access the bits inside a raw bit field. | |
typedef Value< T const > | Val |
Value type to access the bits inside a raw bit field. | |
typedef Value_unshifted< T & > | Ref_unshifted |
Reference type to access the bits inside a raw bit field (in place). | |
typedef Value_unshifted< T const > | Val_unshifted |
Value type to access the bits inside a raw bit field (in place). | |
Static Public Member Functions | |
static Bits_type | get (Shift_type val) |
Get the bits out of val . More... | |
static T | get_unshifted (Shift_type val) |
Get the bits in place out of val . More... | |
static T | set_dirty (T dest, Shift_type val) |
Set the bits corresponding to val . More... | |
static T | set_unshifted_dirty (T dest, Shift_type val) |
Set the bits corresponding to val . More... | |
static T | set (T dest, Bits_type val) |
Set the bits corresponding to val . More... | |
static T | set_unshifted (T dest, Shift_type val) |
Set the bits corresponding to val . More... | |
static T | val_dirty (Shift_type val) |
Get the shifted bits for val . More... | |
static T | val (Bits_type val) |
Get the shifted bits for val . More... | |
static T | val_unshifted (Shift_type val) |
Get the shifted bits for val . More... | |
Definition for a member (part) of a bit field.
T | The underlying type of the bit field. |
LSB | The least significant bit of our bits. |
MSB | The most significant bit of our bits. |
typedef Best_type<Bits>::Type cxx::Bitfield< T, LSB, MSB >::Bits_type |
typedef Best_type<Bits + Lsb>::Type cxx::Bitfield< T, LSB, MSB >::Shift_type |
anonymous enum |
enum cxx::Bitfield::Masks : T |
|
inlinestatic |
Get the bits out of val
.
val | The raw value of the whole bit field. |
Definition at line 107 of file bitfield.
References cxx::Bitfield< T, LSB, MSB >::Low_mask, cxx::Bitfield< T, LSB, MSB >::Lsb, and cxx::Bitfield< T, LSB, MSB >::val().
|
inlinestatic |
Get the bits in place out of val
.
val | The raw value of the whole bit field. |
This means other bits are masked out, however the result is not shifted to the right.
Definition at line 120 of file bitfield.
References cxx::Bitfield< T, LSB, MSB >::Mask, and cxx::Bitfield< T, LSB, MSB >::val().
|
inlinestatic |
Set the bits corresponding to val
.
dest | The current value of the whole bit field. |
val | The value to set into the bits. |
Definition at line 169 of file bitfield.
References cxx::Bitfield< T, LSB, MSB >::Low_mask, cxx::Bitfield< T, LSB, MSB >::set_dirty(), and cxx::Bitfield< T, LSB, MSB >::val().
|
inlinestatic |
Set the bits corresponding to val
.
dest | The current value of the whole bit field. |
val | The value to set into the bits. |
val
must not contain more than Bits bits.val
to the right number of bits. Definition at line 135 of file bitfield.
References cxx::Bitfield< T, LSB, MSB >::Lsb, cxx::Bitfield< T, LSB, MSB >::Mask, and cxx::Bitfield< T, LSB, MSB >::val().
Referenced by cxx::Bitfield< T, LSB, MSB >::set().
|
inlinestatic |
Set the bits corresponding to val
.
dest | The current value of the whole bit field. |
val | The value shifted Lsb bits to the left that shall be set into the bit field. |
Definition at line 181 of file bitfield.
References cxx::Bitfield< T, LSB, MSB >::Mask, cxx::Bitfield< T, LSB, MSB >::set_unshifted_dirty(), and cxx::Bitfield< T, LSB, MSB >::val().
|
inlinestatic |
Set the bits corresponding to val
.
dest | The current value of the whole bit field. |
val | The value shifted Lsb bits to the left that shall be set into the bits. |
val
to the right number of bits. Definition at line 155 of file bitfield.
References cxx::Bitfield< T, LSB, MSB >::Mask, and cxx::Bitfield< T, LSB, MSB >::val().
Referenced by cxx::Bitfield< T, LSB, MSB >::set_unshifted().
|
inlinestatic |
Get the shifted bits for val
.
val | The value to set into the bits. |
Definition at line 204 of file bitfield.
References cxx::Bitfield< T, LSB, MSB >::Low_mask, and cxx::Bitfield< T, LSB, MSB >::val_dirty().
Referenced by cxx::Bitfield< T, LSB, MSB >::get(), cxx::Bitfield< T, LSB, MSB >::get_unshifted(), cxx::Bitfield< T, LSB, MSB >::set(), cxx::Bitfield< T, LSB, MSB >::set_dirty(), cxx::Bitfield< T, LSB, MSB >::set_unshifted(), cxx::Bitfield< T, LSB, MSB >::set_unshifted_dirty(), cxx::Bitfield< T, LSB, MSB >::val_dirty(), and cxx::Bitfield< T, LSB, MSB >::val_unshifted().
|
inlinestatic |
Get the shifted bits for val
.
val | The value to set into the bits. |
val
must not contain more than Bits bits.val
to the right number of bits. Definition at line 195 of file bitfield.
References cxx::Bitfield< T, LSB, MSB >::Lsb, and cxx::Bitfield< T, LSB, MSB >::val().
Referenced by cxx::Bitfield< T, LSB, MSB >::val().
|
inlinestatic |
Get the shifted bits for val
.
val | The value shifted Lsb bits to the left that shall be set into the bits. |
Definition at line 214 of file bitfield.
References cxx::Bitfield< T, LSB, MSB >::Mask, and cxx::Bitfield< T, LSB, MSB >::val().