M5Utility 0.0.2 git rev:5c1a751
Loading...
Searching...
No Matches
m5::utility::BitSegment< LowerBits, T > Class Template Reference

#include <bit_segment.hpp>

Public Member Functions

Constructor
constexpr BitSegment ()=default
 default
 
constexpr BitSegment (const BitSegment &o)
 Copy.
 
constexpr BitSegment (const base_type v)
 Implicit conversion.
 
Assignment
BitSegmentoperator= (const BitSegment &o)
 
BitSegmentoperator= (const base_type v)
 
Cast
constexpr operator bool () const
 Cast to boolean.
 
constexpr operator base_type () const
 Cast to base_type (Implicit conversion)
 
Getter
constexpr unsigned_type upper () const
 Gets the value of upper segment.
 
constexpr unsigned_type lower () const
 Gets the value of lower segment.
 
constexpr base_type raw () const
 Gets the raw value.
 
Setter
void upper (const unsigned_type v)
 Set the value of upper segment.
 
void lower (const unsigned_type v)
 Set the value of lower segment.
 
void raw (const base_type v)
 Set the raw value.
 

Related Symbols

(Note that these are not member symbols.)

Compare between same types.
template<size_t LowerBits, typename T >
bool operator== (const BitSegment< LowerBits, T > &a, const BitSegment< LowerBits, T > &b)
 
template<size_t LowerBits, typename T >
bool operator!= (const BitSegment< LowerBits, T > &a, const BitSegment< LowerBits, T > &b)
 
template<size_t LowerBits, typename T >
bool operator< (const BitSegment< LowerBits, T > &a, const BitSegment< LowerBits, T > &b)
 
template<size_t LowerBits, typename T >
bool operator> (const BitSegment< LowerBits, T > &a, const BitSegment< LowerBits, T > &b)
 
template<size_t LowerBits, typename T >
bool operator<= (const BitSegment< LowerBits, T > &a, const BitSegment< LowerBits, T > &b)
 
template<size_t LowerBits, typename T >
bool operator>= (const BitSegment< LowerBits, T > &a, const BitSegment< LowerBits, T > &b)
 
Compare between BitSegment and integer
template<size_t LowerBits, typename T >
bool operator== (const BitSegment< LowerBits, T > &a, const int b)
 
template<size_t LowerBits, typename T >
bool operator!= (const BitSegment< LowerBits, T > &a, const int b)
 
template<size_t LowerBits, typename T >
bool operator< (const BitSegment< LowerBits, T > &a, const int b)
 
template<size_t LowerBits, typename T >
bool operator> (const BitSegment< LowerBits, T > &a, const int b)
 
template<size_t LowerBits, typename T >
bool operator<= (const BitSegment< LowerBits, T > &a, const int b)
 
template<size_t LowerBits, typename T >
bool operator>= (const BitSegment< LowerBits, T > &a, const int b)
 
Compare between integer and BitSegment
template<size_t LowerBits, typename T >
bool operator== (const int a, const BitSegment< LowerBits, T > &b)
 
template<size_t LowerBits, typename T >
bool operator!= (const int a, const BitSegment< LowerBits, T > &b)
 
template<size_t LowerBits, typename T >
bool operator< (const int a, const BitSegment< LowerBits, T > &b)
 
template<size_t LowerBits, typename T >
bool operator> (const int a, const BitSegment< LowerBits, T > &b)
 
template<size_t LowerBits, typename T >
bool operator<= (const int a, const BitSegment< LowerBits, T > &b)
 
template<size_t LowerBits, typename T >
bool operator>= (const int a, const BitSegment< LowerBits, T > &b)
 

Detailed Description

template<size_t LowerBits, typename T>
class m5::utility::BitSegment< LowerBits, T >
Template Parameters
LowerBitsHow many lower bits are used as a lower segment.
TInteger type used as base class
Note
If the base class is signed, the upper bits excluding the sign bit are used