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::arrow_string_view_t Union Reference

Public Member Functions

 arrow_string_view_t (int32_t length, const char *data)
 Constructor for inlined arrow string views.
 
 arrow_string_view_t (int32_t length, const char *data, int32_t buffer_idx, int32_t offset)
 Constructor for non-inlined arrow string views.
 
int32_t Length () const
 
bool IsInline () const
 
const charGetInlineData () const
 
int32_t GetBufferIndex ()
 
int32_t GetOffset ()
 

Public Attributes

struct { 
 
   int32_t   length 
 
   char   data [ArrowStringViewConstants::MAX_INLINED_BYTES] 
 
inlined 
 Representation of inlined arrow string views.
 
struct { 
 
   int32_t   length 
 
   char   prefix [ArrowStringViewConstants::PREFIX_BYTES] 
 
   int32_t   buffer_index 
 
   int32_t   offset 
 
ref 
 Representation of non-inlined arrow string views.
 

Constructor & Destructor Documentation

◆ arrow_string_view_t() [1/3]

duckdb::arrow_string_view_t::arrow_string_view_t ( )
inline
33865 {
33866 }

◆ arrow_string_view_t() [2/3]

duckdb::arrow_string_view_t::arrow_string_view_t ( int32_t  length,
const char data 
)
inline

Constructor for inlined arrow string views.

33869 {
33870 D_ASSERT(length <= ArrowStringViewConstants::MAX_INLINED_BYTES);
33871 inlined.length = length;
33872 memcpy(inlined.data, data, UnsafeNumericCast<idx_t>(length));
33873 if (length < ArrowStringViewConstants::MAX_INLINED_BYTES) {
33874 // have to 0 pad
33875 uint8_t remaining_bytes = ArrowStringViewConstants::MAX_INLINED_BYTES - NumericCast<uint8_t>(length);
33876
33877 memset(&inlined.data[length], '\0', remaining_bytes);
33878 }
33879 }
::uint8_t uint8_t
struct duckdb::arrow_string_view_t::@12 inlined
Representation of inlined arrow string views.

◆ arrow_string_view_t() [3/3]

duckdb::arrow_string_view_t::arrow_string_view_t ( int32_t  length,
const char data,
int32_t  buffer_idx,
int32_t  offset 
)
inline

Constructor for non-inlined arrow string views.

33882 {
33883 D_ASSERT(length > ArrowStringViewConstants::MAX_INLINED_BYTES);
33884 ref.length = length;
33885 memcpy(ref.prefix, data, ArrowStringViewConstants::PREFIX_BYTES);
33886 ref.buffer_index = buffer_idx;
33887 ref.offset = offset;
33888 }
struct duckdb::arrow_string_view_t::@13 ref
Representation of non-inlined arrow string views.

Member Function Documentation

◆ Length()

int32_t duckdb::arrow_string_view_t::Length ( ) const
inline
33904 {
33905 return inlined.length;
33906 }

◆ IsInline()

bool duckdb::arrow_string_view_t::IsInline ( ) const
inline
33907 {
33908 return Length() <= ArrowStringViewConstants::MAX_INLINED_BYTES;
33909 }

◆ GetInlineData()

const char * duckdb::arrow_string_view_t::GetInlineData ( ) const
inline
33911 {
33912 return IsInline() ? inlined.data : ref.prefix;
33913 }

◆ GetBufferIndex()

int32_t duckdb::arrow_string_view_t::GetBufferIndex ( )
inline
33914 {
33915 D_ASSERT(!IsInline());
33916 return ref.buffer_index;
33917 }

◆ GetOffset()

int32_t duckdb::arrow_string_view_t::GetOffset ( )
inline
33918 {
33919 D_ASSERT(!IsInline());
33920 return ref.offset;
33921 }

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