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::KeyRowIdOutput Struct Reference

Output policy for scanning keys and row IDs. More...

Collaboration diagram for duckdb::KeyRowIdOutput:

Public Member Functions

 KeyRowIdOutput (ArenaAllocator &arena, unsafe_vector< ARTKey > &keys, unsafe_vector< ARTKey > &row_id_keys, const idx_t capacity)
 
idx_t Count () const
 
void Reset ()
 
bool IsFull () const
 
void SetKey (const IteratorKey &current_key, const idx_t column_key_len)
 
void Add (const row_t rid)
 

Public Attributes

ArenaAllocatorarena
 
unsafe_vector< ARTKey > & keys
 
unsafe_vector< ARTKey > & row_id_keys
 
const idx_t capacity
 
idx_t count = 0
 
const_data_ptr_t key_data = nullptr
 
idx_t key_len = 0
 

Detailed Description

Output policy for scanning keys and row IDs.

Constructor & Destructor Documentation

◆ KeyRowIdOutput()

duckdb::KeyRowIdOutput::KeyRowIdOutput ( ArenaAllocator arena,
unsafe_vector< ARTKey > &  keys,
unsafe_vector< ARTKey > &  row_id_keys,
const idx_t  capacity 
)
inline
59061 : arena(arena), keys(keys), row_id_keys(row_id_keys), capacity(capacity) {
59062 }

Member Function Documentation

◆ Count()

idx_t duckdb::KeyRowIdOutput::Count ( ) const
inline
59064 {
59065 return count;
59066 }

◆ Reset()

void duckdb::KeyRowIdOutput::Reset ( )
inline
59067 {
59068 count = 0;
59069 arena.Reset();
59070 }
DUCKDB_API void Reset()
Resets the current head and destroys all previous arena chunks.

◆ IsFull()

bool duckdb::KeyRowIdOutput::IsFull ( ) const
inline
59071 {
59072 D_ASSERT(count >= 0 && count <= capacity);
59073 return count >= capacity;
59074 }

◆ SetKey()

void duckdb::KeyRowIdOutput::SetKey ( const IteratorKey current_key,
const idx_t  column_key_len 
)
inline
59075 {
59076 key_data = current_key.Data();
59077 key_len = column_key_len;
59078 }

◆ Add()

void duckdb::KeyRowIdOutput::Add ( const row_t  rid)
inline
59079 {
59080 keys[count] = ARTKey::CreateARTKeyFromBytes(arena, key_data, key_len);
59081 row_id_keys[count] = ARTKey::CreateARTKey<row_t>(arena, rid);
59082 count++;
59083 }

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