xgboost
|
A non-owning type with auxiliary methods defined for manipulating bits. More...
#include <bitfield.h>
Classes | |
struct | Pos |
Public Types | |
using | value_type = VT |
using | pointer = value_type * |
Public Member Functions | |
BitFieldContainer ()=default | |
XGBOOST_DEVICE | BitFieldContainer (common::Span< value_type > bits) |
XGBOOST_DEVICE | BitFieldContainer (BitFieldContainer const &other) |
BitFieldContainer & | operator|= (BitFieldContainer const &rhs) |
BitFieldContainer & | operator &= (BitFieldContainer const &rhs) |
void | Set (value_type pos) |
void | Clear (value_type pos) |
XGBOOST_DEVICE bool | Check (Pos pos_v) const |
XGBOOST_DEVICE bool | Check (value_type pos) const |
XGBOOST_DEVICE size_t | Size () const |
XGBOOST_DEVICE pointer | Data () const |
Static Public Member Functions | |
static XGBOOST_DEVICE Pos | ToBitPos (value_type pos) |
static size_t | ComputeStorageSize (size_t size) |
Public Attributes | |
common::Span< value_type > | bits_ |
Static Public Attributes | |
static value_type constexpr | kValueSize = sizeof(value_type) * 8 |
static value_type constexpr | kOne = 1 |
Friends | |
std::ostream & | operator<< (std::ostream &os, BitFieldContainer< VT, Direction > field) |
A non-owning type with auxiliary methods defined for manipulating bits.
Direction | Whether the bits start from left or from right. |
using xgboost::BitFieldContainer< VT, Direction >::pointer = value_type* |
using xgboost::BitFieldContainer< VT, Direction >::value_type = VT |
|
default |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlinestatic |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlinestatic |
|
friend |
common::Span<value_type> xgboost::BitFieldContainer< VT, Direction >::bits_ |
|
static |
|
static |