![]() |
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.
|
Type used for validity masks. More...

Public Types | |
| using | ValidityBuffer = TemplatedValidityData< V > |
Public Member Functions | |
| TemplatedValidityMask (idx_t target_count) | |
| TemplatedValidityMask (V *ptr, idx_t capacity) | |
| TemplatedValidityMask (const TemplatedValidityMask &original, idx_t count) | |
| bool | AllValid () const |
| bool | CheckAllValid (idx_t count) const |
| bool | CheckAllInvalid (idx_t count) const |
| bool | CheckAllValid (idx_t to, idx_t from) const |
| idx_t | CountValid (const idx_t count) const |
| V * | GetData () const |
| void | Reset (idx_t target_count_p=STANDARD_VECTOR_SIZE) |
| V | GetValidityEntry (idx_t entry_idx) const |
| V & | GetValidityEntryUnsafe (idx_t entry_idx) const |
| bool | RowIsValidUnsafe (idx_t row_idx) const |
| bool | RowIsValid (idx_t row_idx) const |
| Returns true if a row is valid (i.e. not null), false otherwise. | |
| void | SetValidUnsafe (idx_t row_idx) |
| Same as SetValid, but skips a null check on validity_mask. | |
| void | SetValid (idx_t row_idx) |
| Marks the entry at the specified row index as valid (i.e. not-null) | |
| void | SetInvalidUnsafe (idx_t entry_idx, idx_t idx_in_entry) |
| Marks the bit at the specified entry as invalid (i.e. null) | |
| void | SetInvalidUnsafe (idx_t row_idx) |
| Marks the bit at the specified row index as invalid (i.e. null) | |
| void | SetInvalid (idx_t row_idx) |
| Marks the entry at the specified row index as invalid (i.e. null) | |
| void | Set (idx_t row_idx, bool valid) |
| Mark the entry at the specified index as either valid or invalid (non-null or null) | |
| void | EnsureWritable () |
| Ensure the validity mask is writable, allocating space if it is not initialized. | |
| void | SetRangeInvalid (const idx_t count, const idx_t begin_entry, const idx_t end_entry) |
| void | SetAllInvalid (idx_t count) |
| Marks exactly "count" bits in the validity mask as invalid (null) | |
| void | SetAllValid (idx_t count) |
| Marks exactly "count" bits in the validity mask as valid (not null) | |
| bool | IsMaskSet () const |
| void | Initialize (validity_t *validity, idx_t new_capacity) |
| void | Initialize (const TemplatedValidityMask &other) |
| void | Initialize (idx_t count) |
| void | Initialize () |
| void | Copy (const TemplatedValidityMask &other, idx_t count) |
Static Public Member Functions | |
| static idx_t | ValidityMaskSize (idx_t count=STANDARD_VECTOR_SIZE) |
| static idx_t | EntryCount (idx_t count) |
| static bool | AllValid (V entry) |
| static bool | NoneValid (V entry) |
| static bool | RowIsValid (const V &entry, const idx_t &idx_in_entry) |
| static void | GetEntryIndex (idx_t row_idx, idx_t &entry_idx, idx_t &idx_in_entry) |
| static V | EntryWithValidBits (idx_t n) |
| Get an entry that has first-n bits set as valid and rest set as invalid. | |
| static idx_t | SizeInBytes (idx_t n) |
Static Public Attributes | |
| static constexpr const idx_t | BITS_PER_VALUE = ValidityBuffer::BITS_PER_VALUE |
| static constexpr const idx_t | STANDARD_ENTRY_COUNT = (STANDARD_VECTOR_SIZE + (BITS_PER_VALUE - 1)) / BITS_PER_VALUE |
| static constexpr const idx_t | STANDARD_MASK_SIZE = STANDARD_ENTRY_COUNT * sizeof(V) |
Protected Attributes | |
| V * | validity_mask |
| buffer_ptr< ValidityBuffer > | validity_data |
| idx_t | capacity |
|
inline |
|
inlineexplicit |
|
inlineexplicit |
|
inline |
|
inlinestatic |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlinestatic |
|
inline |
|
inline |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
Get an entry that has first-n bits set as valid and rest set as invalid.
|
inlinestatic |
|
inline |
RowIsValidUnsafe should only be used if AllValid() is false: it achieves the same as RowIsValid but skips a not-null check

|
inline |
Returns true if a row is valid (i.e. not null), false otherwise.

|
inline |
Same as SetValid, but skips a null check on validity_mask.

Marks the entry at the specified row index as valid (i.e. not-null)


|
inline |
Marks the bit at the specified entry as invalid (i.e. null)

|
inline |
Marks the bit at the specified row index as invalid (i.e. null)

Marks the entry at the specified row index as invalid (i.e. null)


|
inline |
Mark the entry at the specified index as either valid or invalid (non-null or null)

|
inline |
Ensure the validity mask is writable, allocating space if it is not initialized.

|
inline |
Marks a range of entries in the validity mask as invalid (null) This is useful for initialising large masks in parallel.


Marks exactly "count" bits in the validity mask as invalid (null)

Marks exactly "count" bits in the validity mask as valid (not null)

|
inline |
|
inline |
|
inline |
|
inline |
|
inline |