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::ARTKey Class Reference

Public Member Functions

 ARTKey (data_ptr_t data, idx_t len)
 
 ARTKey (ArenaAllocator &allocator, idx_t len)
 
data_toperator[] (idx_t i)
 
const data_toperator[] (idx_t i) const
 
bool operator> (const ARTKey &key) const
 
bool operator>= (const ARTKey &key) const
 
bool operator== (const ARTKey &key) const
 
bool ByteMatches (const ARTKey &other, idx_t depth) const
 
bool Empty () const
 
void Concat (ArenaAllocator &allocator, const ARTKey &other)
 
row_t GetRowId () const
 
idx_t GetMismatchPos (const ARTKey &other, const idx_t start) const
 

Static Public Member Functions

template<class T >
static ARTKey CreateARTKey (ArenaAllocator &allocator, T value)
 
template<class T >
static ARTKey CreateARTKey (ArenaAllocator &allocator, Value &value)
 
template<class T >
static void CreateARTKey (ArenaAllocator &allocator, ARTKey &key, T value)
 
template<class T >
static void CreateARTKey (ArenaAllocator &allocator, ARTKey &key, Value value)
 
static ARTKey CreateARTKeyFromBytes (ArenaAllocator &allocator, const_data_ptr_t data, idx_t len)
 
static ARTKey CreateKey (ArenaAllocator &allocator, Value &value, optional_idx storage_version)
 

Public Attributes

idx_t len
 
data_ptr_t data
 

Private Member Functions

template<>
ARTKey CreateARTKey (ArenaAllocator &allocator, string_t value)
 
template<>
ARTKey CreateARTKey (ArenaAllocator &allocator, const char *value)
 
template<>
void CreateARTKey (ArenaAllocator &allocator, ARTKey &key, string_t value)
 

Static Private Member Functions

template<class T >
static data_ptr_t CreateData (ArenaAllocator &allocator, T value)
 

Member Function Documentation

◆ CreateARTKey() [1/4]

template<class T >
static ARTKey duckdb::ARTKey::CreateARTKey ( ArenaAllocator allocator,
value 
)
inlinestatic
58835 {
58836 auto data = ARTKey::CreateData<T>(allocator, value);
58837 return ARTKey(data, sizeof(value));
58838 }

◆ CreateARTKey() [2/4]

template<class T >
static ARTKey duckdb::ARTKey::CreateARTKey ( ArenaAllocator allocator,
Value value 
)
inlinestatic
58841 {
58842 return CreateARTKey(allocator, value.GetValueUnsafe<T>());
58843 }

◆ CreateARTKey() [3/4]

template<class T >
static void duckdb::ARTKey::CreateARTKey ( ArenaAllocator allocator,
ARTKey key,
value 
)
inlinestatic
58846 {
58847 key.data = ARTKey::CreateData<T>(allocator, value);
58848 key.len = sizeof(value);
58849 }

◆ CreateARTKey() [4/4]

template<class T >
static void duckdb::ARTKey::CreateARTKey ( ArenaAllocator allocator,
ARTKey key,
Value  value 
)
inlinestatic
58852 {
58853 key.data = ARTKey::CreateData<T>(allocator, value.GetValueUnsafe<T>());
58854 key.len = sizeof(value);
58855 }

◆ CreateARTKeyFromBytes()

static ARTKey duckdb::ARTKey::CreateARTKeyFromBytes ( ArenaAllocator allocator,
const_data_ptr_t  data,
idx_t  len 
)
inlinestatic
58857 {
58858 auto new_data = allocator.Allocate(len);
58859 memcpy(new_data, data, len);
58860 return ARTKey(new_data, len);
58861 }

◆ operator[]() [1/2]

data_t & duckdb::ARTKey::operator[] ( idx_t  i)
inline
58866 {
58867 return data[i];
58868 }

◆ operator[]() [2/2]

const data_t & duckdb::ARTKey::operator[] ( idx_t  i) const
inline
58869 {
58870 return data[i];
58871 }

◆ ByteMatches()

bool duckdb::ARTKey::ByteMatches ( const ARTKey other,
idx_t  depth 
) const
inline
58876 {
58877 return data[depth] == other[depth];
58878 }
double depth(InputArray R, InputArray t, InputArray X)

◆ Empty()

bool duckdb::ARTKey::Empty ( ) const
inline
58879 {
58880 return len == 0;
58881 }

◆ CreateData()

template<class T >
static data_ptr_t duckdb::ARTKey::CreateData ( ArenaAllocator allocator,
value 
)
inlinestaticprivate
58889 {
58890 auto data = allocator.Allocate(sizeof(value));
58891 Radix::EncodeData<T>(data, value);
58892 return data;
58893 }

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