OR-Tools  9.6
SmallRevBitSet

Detailed Description

This class represents a small reversible bitset (size <= 64).

This class is useful to maintain supports.

Definition at line 397 of file constraint_solveri.h.

Public Member Functions

 SmallRevBitSet (int64_t size)
 
void SetToOne (Solver *const solver, int64_t pos)
 Sets the 'pos' bit. More...
 
void SetToZero (Solver *const solver, int64_t pos)
 Erases the 'pos' bit. More...
 
int64_t Cardinality () const
 Returns the number of bits set to one. More...
 
bool IsCardinalityZero () const
 Is bitset null? More...
 
bool IsCardinalityOne () const
 Does it contains only one bit set? More...
 
int64_t GetFirstOne () const
 Gets the index of the first bit set starting from 0. More...
 

Constructor & Destructor Documentation

◆ SmallRevBitSet()

SmallRevBitSet ( int64_t  size)
explicit

Definition at line 34 of file utilities.cc.

Member Function Documentation

◆ Cardinality()

int64_t Cardinality ( ) const

Returns the number of bits set to one.

Definition at line 49 of file utilities.cc.

◆ GetFirstOne()

int64_t GetFirstOne ( ) const

Gets the index of the first bit set starting from 0.

It returns -1 if the bitset is empty.

Definition at line 53 of file utilities.cc.

◆ IsCardinalityOne()

bool IsCardinalityOne ( ) const
inline

Does it contains only one bit set?

Definition at line 409 of file constraint_solveri.h.

◆ IsCardinalityZero()

bool IsCardinalityZero ( ) const
inline

Is bitset null?

Definition at line 407 of file constraint_solveri.h.

◆ SetToOne()

void SetToOne ( Solver *const  solver,
int64_t  pos 
)

Sets the 'pos' bit.

Definition at line 39 of file utilities.cc.

◆ SetToZero()

void SetToZero ( Solver *const  solver,
int64_t  pos 
)

Erases the 'pos' bit.

Definition at line 44 of file utilities.cc.


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