L4Re Operating System Framework – Interface and Usage Documentation
|
Definition for a member (part) of a bit field. More...
#include <bitfield>
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 } |
Masks for bitswise operation on internal parts of a bitfield. More... | |
typedef Best_type< Bits >::Type | Bits_type |
Type to hold at least Bits bits. | |
typedef Best_type< Bits+Lsb >::Type | Shift_type |
Type to hold at least Bits + Lsb bits. | |
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 . | |
static T | get_unshifted (Shift_type val) |
Get the bits in place out of val . | |
static T | set_dirty (T dest, Shift_type val) |
Set the bits corresponding to val . | |
static T | set_unshifted_dirty (T dest, Shift_type val) |
Set the bits corresponding to val . | |
static T | set (T dest, Bits_type val) |
Set the bits corresponding to val . | |
static T | set_unshifted (T dest, Shift_type val) |
Set the bits corresponding to val . | |
static T | val_dirty (Shift_type val) |
Get the shifted bits for val . | |
static T | val (Bits_type val) |
Get the shifted bits for val . | |
static T | val_unshifted (Shift_type val) |
Get the shifted bits for val . | |
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 108 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 121 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 170 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 136 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 182 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 156 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 205 of file bitfield.
References cxx::Bitfield< T, LSB, MSB >::Low_mask, cxx::Bitfield< T, LSB, MSB >::val(), 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(), 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 196 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 215 of file bitfield.
References cxx::Bitfield< T, LSB, MSB >::Mask, and cxx::Bitfield< T, LSB, MSB >::val().