Flutter Engine
The Flutter Engine
Public Member Functions | Static Public Member Functions | List of all members
dart::UnboxedFieldBitmap Class Reference

#include <class_table.h>

Public Member Functions

 UnboxedFieldBitmap ()
 
 UnboxedFieldBitmap (uint64_t bitmap)
 
 UnboxedFieldBitmap (const UnboxedFieldBitmap &)=default
 
UnboxedFieldBitmapoperator= (const UnboxedFieldBitmap &)=default
 
DART_FORCE_INLINE bool Get (intptr_t position) const
 
DART_FORCE_INLINE void Set (intptr_t position)
 
DART_FORCE_INLINE void Clear (intptr_t position)
 
DART_FORCE_INLINE uint64_t Value () const
 
DART_FORCE_INLINE bool IsEmpty () const
 
DART_FORCE_INLINE void Reset ()
 

Static Public Member Functions

static DART_FORCE_INLINE constexpr intptr_t Length ()
 

Detailed Description

Definition at line 44 of file class_table.h.

Constructor & Destructor Documentation

◆ UnboxedFieldBitmap() [1/3]

dart::UnboxedFieldBitmap::UnboxedFieldBitmap ( )
inline

Definition at line 46 of file class_table.h.

46: bitmap_(0) {}

◆ UnboxedFieldBitmap() [2/3]

dart::UnboxedFieldBitmap::UnboxedFieldBitmap ( uint64_t  bitmap)
inlineexplicit

Definition at line 47 of file class_table.h.

47: bitmap_(bitmap) {}
Definition: bitmap.py:1

◆ UnboxedFieldBitmap() [3/3]

dart::UnboxedFieldBitmap::UnboxedFieldBitmap ( const UnboxedFieldBitmap )
default

Member Function Documentation

◆ Clear()

DART_FORCE_INLINE void dart::UnboxedFieldBitmap::Clear ( intptr_t  position)
inline

Definition at line 59 of file class_table.h.

59 {
60 ASSERT(position < Length());
61 bitmap_ &= ~Utils::Bit<decltype(bitmap_)>(position);
62 }
static DART_FORCE_INLINE constexpr intptr_t Length()
Definition: class_table.h:67
#define ASSERT(E)

◆ Get()

DART_FORCE_INLINE bool dart::UnboxedFieldBitmap::Get ( intptr_t  position) const
inline

Definition at line 51 of file class_table.h.

51 {
52 if (position >= Length()) return false;
53 return Utils::TestBit(bitmap_, position);
54 }
static constexpr bool TestBit(T mask, size_t position)
Definition: utils.h:564

◆ IsEmpty()

DART_FORCE_INLINE bool dart::UnboxedFieldBitmap::IsEmpty ( ) const
inline

Definition at line 64 of file class_table.h.

64{ return bitmap_ == 0; }

◆ Length()

static DART_FORCE_INLINE constexpr intptr_t dart::UnboxedFieldBitmap::Length ( )
inlinestaticconstexpr

Definition at line 67 of file class_table.h.

67 {
68 return sizeof(decltype(bitmap_)) * kBitsPerByte;
69 }
constexpr intptr_t kBitsPerByte
Definition: globals.h:463

◆ operator=()

UnboxedFieldBitmap & dart::UnboxedFieldBitmap::operator= ( const UnboxedFieldBitmap )
default

◆ Reset()

DART_FORCE_INLINE void dart::UnboxedFieldBitmap::Reset ( )
inline

Definition at line 65 of file class_table.h.

65{ bitmap_ = 0; }

◆ Set()

DART_FORCE_INLINE void dart::UnboxedFieldBitmap::Set ( intptr_t  position)
inline

Definition at line 55 of file class_table.h.

55 {
56 ASSERT(position < Length());
57 bitmap_ |= Utils::Bit<decltype(bitmap_)>(position);
58 }

◆ Value()

DART_FORCE_INLINE uint64_t dart::UnboxedFieldBitmap::Value ( ) const
inline

Definition at line 63 of file class_table.h.

63{ return bitmap_; }

The documentation for this class was generated from the following file: