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

The VectorBuffer is a class used by the vector to hold its data. More...

Inheritance diagram for duckdb::VectorBuffer:
Collaboration diagram for duckdb::VectorBuffer:

Public Member Functions

 VectorBuffer (VectorBufferType type)
 
 VectorBuffer (idx_t data_size)
 
 VectorBuffer (AllocatedData &&data_p)
 
data_ptr_t GetData ()
 
void SetData (AllocatedData &&new_data)
 
VectorAuxiliaryDataGetAuxiliaryData ()
 
void SetAuxiliaryData (unique_ptr< VectorAuxiliaryData > aux_data_p)
 
void MoveAuxiliaryData (VectorBuffer &source_buffer)
 
virtual optional_ptr< AllocatorGetAllocator () const
 
VectorBufferType GetBufferType () const
 
VectorAuxiliaryDataType GetAuxiliaryDataType () const
 
template<class TARGET >
TARGETCast ()
 
template<class TARGET >
const TARGETCast () const
 

Static Public Member Functions

static buffer_ptr< VectorBufferCreateStandardVector (PhysicalType type, idx_t capacity=STANDARD_VECTOR_SIZE)
 
static buffer_ptr< VectorBufferCreateConstantVector (PhysicalType type)
 
static buffer_ptr< VectorBufferCreateConstantVector (const LogicalType &logical_type)
 
static buffer_ptr< VectorBufferCreateStandardVector (const LogicalType &logical_type, idx_t capacity=STANDARD_VECTOR_SIZE)
 

Protected Attributes

VectorBufferType buffer_type
 
unique_ptr< VectorAuxiliaryDataaux_data
 
AllocatedData data
 

Detailed Description

The VectorBuffer is a class used by the vector to hold its data.

Constructor & Destructor Documentation

◆ VectorBuffer() [1/4]

duckdb::VectorBuffer::VectorBuffer ( VectorBufferType  type)
inlineexplicit
10009 : buffer_type(type) {
10010 }

◆ VectorBuffer() [2/4]

duckdb::VectorBuffer::VectorBuffer ( idx_t  data_size)
inlineexplicit
10011 : buffer_type(VectorBufferType::STANDARD_BUFFER) {
10012 if (data_size > 0) {
10013 data = Allocator::DefaultAllocator().Allocate(data_size);
10014 }
10015 }

◆ VectorBuffer() [3/4]

duckdb::VectorBuffer::VectorBuffer ( AllocatedData &&  data_p)
inlineexplicit
10017 : buffer_type(VectorBufferType::STANDARD_BUFFER), data(std::move(data_p)) {
10018 }

◆ ~VectorBuffer()

virtual duckdb::VectorBuffer::~VectorBuffer ( )
inlinevirtual
10019 {
10020 }

◆ VectorBuffer() [4/4]

duckdb::VectorBuffer::VectorBuffer ( )
inline
10021 {
10022 }

Member Function Documentation

◆ GetData()

data_ptr_t duckdb::VectorBuffer::GetData ( )
inline
10025 {
10026 return data.get();
10027 }

◆ SetData()

void duckdb::VectorBuffer::SetData ( AllocatedData &&  new_data)
inline
10029 {
10030 data = std::move(new_data);
10031 }

◆ GetAuxiliaryData()

VectorAuxiliaryData * duckdb::VectorBuffer::GetAuxiliaryData ( )
inline
10033 {
10034 return aux_data.get();
10035 }

◆ SetAuxiliaryData()

void duckdb::VectorBuffer::SetAuxiliaryData ( unique_ptr< VectorAuxiliaryData aux_data_p)
inline
10037 {
10038 aux_data = std::move(aux_data_p);
10039 }

◆ MoveAuxiliaryData()

void duckdb::VectorBuffer::MoveAuxiliaryData ( VectorBuffer source_buffer)
inline
10041 {
10042 SetAuxiliaryData(std::move(source_buffer.aux_data));
10043 }

◆ GetAllocator()

virtual optional_ptr< Allocator > duckdb::VectorBuffer::GetAllocator ( ) const
inlinevirtual
10045 {
10046 return data.GetAllocator();
10047 }

◆ GetBufferType()

VectorBufferType duckdb::VectorBuffer::GetBufferType ( ) const
inline
10055 {
10056 return buffer_type;
10057 }

◆ GetAuxiliaryDataType()

VectorAuxiliaryDataType duckdb::VectorBuffer::GetAuxiliaryDataType ( ) const
inline
10059 {
10060 return aux_data->type;
10061 }

◆ Cast() [1/2]

template<class TARGET >
TARGET & duckdb::VectorBuffer::Cast ( )
inline
10070 {
10071 DynamicCastCheck<TARGET>(this);
10072 return reinterpret_cast<TARGET &>(*this);
10073 }

◆ Cast() [2/2]

template<class TARGET >
const TARGET & duckdb::VectorBuffer::Cast ( ) const
inline
10075 {
10076 DynamicCastCheck<TARGET>(this);
10077 return reinterpret_cast<const TARGET &>(*this);
10078 }

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