Autonomy Software C++ 24.5.1
Welcome to the Autonomy Software repository of the Mars Rover Design Team (MRDT) at Missouri University of Science and Technology (Missouri S&T)! API reference contains the source code and other resources for the development of the autonomy software for our Mars rover. The Autonomy Software project aims to compete in the University Rover Challenge (URC) by demonstrating advanced autonomous capabilities and robust navigation algorithms.
Loading...
Searching...
No Matches
duckdb::ContinuousIdSet Class Reference

Public Member Functions

void Insert (const uint32_t &block_id)
 
bool Contains (const uint32_t &block_id) const
 
bool Empty () const
 
uint32_t Start () const
 
uint32_t End () const
 
uint32_t Size () const
 
void DecrementMax ()
 

Private Attributes

uint32_t min_id
 
uint32_t max_id
 

Static Private Attributes

static constexpr uint32_t INVALID_INDEX = static_cast<uint32_t>(-1)
 

Constructor & Destructor Documentation

◆ ContinuousIdSet()

duckdb::ContinuousIdSet::ContinuousIdSet ( )
inline
56446 : min_id(INVALID_INDEX), max_id(INVALID_INDEX) {
56447 }

Member Function Documentation

◆ Insert()

void duckdb::ContinuousIdSet::Insert ( const uint32_t block_id)
inline
56450 {
56451 if (Empty()) {
56452 min_id = block_id;
56453 max_id = block_id;
56454 } else {
56455 min_id = MinValue(min_id, block_id);
56456 max_id = MaxValue(max_id, block_id);
56457 }
56458 }

◆ Contains()

bool duckdb::ContinuousIdSet::Contains ( const uint32_t block_id) const
inline
56460 {
56461 if (Empty()) {
56462 return false;
56463 }
56464 return block_id >= min_id && block_id <= max_id;
56465 }

◆ Empty()

bool duckdb::ContinuousIdSet::Empty ( ) const
inline
56467 {
56468 return min_id == INVALID_INDEX;
56469 }

◆ Start()

uint32_t duckdb::ContinuousIdSet::Start ( ) const
inline
56471 {
56472 D_ASSERT(!Empty());
56473 return min_id;
56474 }

◆ End()

uint32_t duckdb::ContinuousIdSet::End ( ) const
inline
56476 {
56477 D_ASSERT(!Empty());
56478 return max_id + 1;
56479 }

◆ Size()

uint32_t duckdb::ContinuousIdSet::Size ( ) const
inline
56481 {
56482 D_ASSERT(!Empty());
56483 return End() - Start();
56484 }

◆ DecrementMax()

void duckdb::ContinuousIdSet::DecrementMax ( )
inline
56486 {
56487 D_ASSERT(!Empty());
56488 D_ASSERT(Size() > 1);
56489 max_id--;
56490 }
Size2i Size

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