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::BinaryDeserializer Class Reference
Inheritance diagram for duckdb::BinaryDeserializer:
Collaboration diagram for duckdb::BinaryDeserializer:

Public Member Functions

 BinaryDeserializer (ReadStream &stream)
 
template<class T >
unique_ptr< T > Deserialize ()
 
void Begin ()
 
void End ()
 
ReadStreamGetStream ()
 
- Public Member Functions inherited from duckdb::Deserializer
template<typename T >
void ReadProperty (const field_id_t field_id, const char *tag, T &ret)
 
template<typename T >
ReadProperty (const field_id_t field_id, const char *tag)
 
template<typename T >
ReadPropertyWithDefault (const field_id_t field_id, const char *tag)
 
template<typename T >
ReadPropertyWithExplicitDefault (const field_id_t field_id, const char *tag, T default_value)
 
template<typename T >
void ReadPropertyWithDefault (const field_id_t field_id, const char *tag, T &ret)
 
template<typename T >
void ReadPropertyWithExplicitDefault (const field_id_t field_id, const char *tag, T &ret, T default_value)
 
template<typename T >
void ReadPropertyWithExplicitDefault (const field_id_t field_id, const char *tag, CSVOption< T > &ret, T default_value)
 
void ReadProperty (const field_id_t field_id, const char *tag, data_ptr_t ret, idx_t count)
 
template<typename T >
void ReadDeletedProperty (const field_id_t field_id, const char *tag)
 
template<class T >
void Set (T entry)
 Set a serialization property.
 
template<class T >
Get ()
 Retrieve the last set serialization property of this type.
 
template<class T >
optional_ptr< T > TryGet ()
 
template<class T >
void Unset ()
 Unset a serialization property.
 
SerializationDataGetSerializationData ()
 
void SetSerializationData (const SerializationData &other)
 
template<class FUNC >
void ReadListInternal (FUNC func)
 
template<class FUNC >
void ReadList (const field_id_t field_id, const char *tag, FUNC func)
 
template<class FUNC >
void ReadOptionalList (const field_id_t field_id, const char *tag, FUNC func)
 
template<class FUNC >
void ReadObject (const field_id_t field_id, const char *tag, FUNC func)
 

Static Public Member Functions

template<class T >
static unique_ptr< T > Deserialize (ReadStream &stream)
 
template<class T >
static unique_ptr< T > Deserialize (ReadStream &stream, ClientContext &context, bound_parameter_map_t &parameters)
 

Private Member Functions

field_id_t PeekField ()
 
void ConsumeField ()
 
field_id_t NextField ()
 
void ReadData (data_ptr_t buffer, idx_t read_size)
 
template<class T >
ReadPrimitive ()
 
template<class T >
VarIntDecode ()
 
void OnPropertyBegin (const field_id_t field_id, const char *tag) final
 
void OnPropertyEnd () final
 
bool OnOptionalPropertyBegin (const field_id_t field_id, const char *tag) final
 
void OnOptionalPropertyEnd (bool present) final
 
void OnObjectBegin () final
 
void OnObjectEnd () final
 
idx_t OnListBegin () final
 
void OnListEnd () final
 
bool OnNullableBegin () final
 
void OnNullableEnd () final
 
bool CanDeserializeProperty (const field_id_t field_id, const char *tag) final
 
bool ReadBool () final
 
char ReadChar () final
 
int8_t ReadSignedInt8 () final
 
uint8_t ReadUnsignedInt8 () final
 
int16_t ReadSignedInt16 () final
 
uint16_t ReadUnsignedInt16 () final
 
int32_t ReadSignedInt32 () final
 
uint32_t ReadUnsignedInt32 () final
 
int64_t ReadSignedInt64 () final
 
uint64_t ReadUnsignedInt64 () final
 
float ReadFloat () final
 
double ReadDouble () final
 
string ReadString () final
 
hugeint_t ReadHugeInt () final
 
uhugeint_t ReadUhugeInt () final
 
void ReadDataPtr (data_ptr_t &ptr, idx_t count) final
 

Private Attributes

ReadStreamstream
 
idx_t nesting_level = 0
 
bool has_buffered_field = false
 
field_id_t buffered_field = 0
 

Additional Inherited Members

- Protected Attributes inherited from duckdb::Deserializer
bool deserialize_enum_from_string = false
 
SerializationData data
 

Constructor & Destructor Documentation

◆ BinaryDeserializer()

duckdb::BinaryDeserializer::BinaryDeserializer ( ReadStream stream)
inlineexplicit
21764 : stream(stream) {
21765 deserialize_enum_from_string = false;
21766 }

Member Function Documentation

◆ Deserialize() [1/3]

template<class T >
unique_ptr< T > duckdb::BinaryDeserializer::Deserialize ( )
inline
21769 {
21770 OnObjectBegin();
21771 auto result = T::Deserialize(*this);
21772 OnObjectEnd();
21773 D_ASSERT(nesting_level == 0); // make sure we are at the root level
21774 return result;
21775 }

◆ Deserialize() [2/3]

template<class T >
static unique_ptr< T > duckdb::BinaryDeserializer::Deserialize ( ReadStream stream)
inlinestatic
21778 {
21779 BinaryDeserializer deserializer(stream);
21780 return deserializer.template Deserialize<T>();
21781 }

◆ Deserialize() [3/3]

template<class T >
static unique_ptr< T > duckdb::BinaryDeserializer::Deserialize ( ReadStream stream,
ClientContext context,
bound_parameter_map_t &  parameters 
)
inlinestatic
21784 {
21785 BinaryDeserializer deserializer(stream);
21786 deserializer.Set<ClientContext &>(context);
21787 deserializer.Set<bound_parameter_map_t &>(parameters);
21788 return deserializer.template Deserialize<T>();
21789 }

◆ Begin()

void duckdb::BinaryDeserializer::Begin ( )
inline
21791 {
21792 OnObjectBegin();
21793 }

◆ End()

void duckdb::BinaryDeserializer::End ( )
inline
21795 {
21796 OnObjectEnd();
21797 D_ASSERT(nesting_level == 0); // make sure we are at the root level
21798 }

◆ GetStream()

ReadStream & duckdb::BinaryDeserializer::GetStream ( )
inline
21800 {
21801 return stream;
21802 }

◆ PeekField()

field_id_t duckdb::BinaryDeserializer::PeekField ( )
inlineprivate
21813 {
21814 if (!has_buffered_field) {
21815 buffered_field = ReadPrimitive<field_id_t>();
21816 has_buffered_field = true;
21817 }
21818 return buffered_field;
21819 }

◆ ConsumeField()

void duckdb::BinaryDeserializer::ConsumeField ( )
inlineprivate
21820 {
21821 if (!has_buffered_field) {
21822 buffered_field = ReadPrimitive<field_id_t>();
21823 } else {
21824 has_buffered_field = false;
21825 }
21826 }

◆ NextField()

field_id_t duckdb::BinaryDeserializer::NextField ( )
inlineprivate
21827 {
21828 if (has_buffered_field) {
21829 has_buffered_field = false;
21830 return buffered_field;
21831 }
21832 return ReadPrimitive<field_id_t>();
21833 }

◆ ReadData()

void duckdb::BinaryDeserializer::ReadData ( data_ptr_t  buffer,
idx_t  read_size 
)
inlineprivate
21835 {
21836 D_ASSERT(!has_buffered_field);
21837 stream.ReadData(buffer, read_size);
21838 }

◆ ReadPrimitive()

template<class T >
T duckdb::BinaryDeserializer::ReadPrimitive ( )
inlineprivate
21841 {
21842 T value;
21843 ReadData(data_ptr_cast(&value), sizeof(T));
21844 return value;
21845 }

◆ VarIntDecode()

template<class T >
T duckdb::BinaryDeserializer::VarIntDecode ( )
inlineprivate
21848 {
21849 // FIXME: maybe we should pass a source to EncodingUtil instead
21850 uint8_t buffer[16] = {};
21851 idx_t varint_size;
21852 for (varint_size = 0; varint_size < 16; varint_size++) {
21853 ReadData(buffer + varint_size, 1);
21854 if (!(buffer[varint_size] & 0x80)) {
21855 varint_size++;
21856 break;
21857 }
21858 }
21859 T value;
21860 auto read_size = EncodingUtil::DecodeLEB128<T>(buffer, value);
21861 D_ASSERT(read_size == varint_size);
21862 (void)read_size;
21863 return value;
21864 }
::uint8_t uint8_t

◆ OnPropertyBegin()

void duckdb::BinaryDeserializer::OnPropertyBegin ( const field_id_t  field_id,
const char tag 
)
finalprivatevirtual

Implements duckdb::Deserializer.

◆ OnPropertyEnd()

void duckdb::BinaryDeserializer::OnPropertyEnd ( )
finalprivatevirtual

Implements duckdb::Deserializer.

◆ OnOptionalPropertyBegin()

bool duckdb::BinaryDeserializer::OnOptionalPropertyBegin ( const field_id_t  field_id,
const char tag 
)
finalprivatevirtual

Implements duckdb::Deserializer.

◆ OnOptionalPropertyEnd()

void duckdb::BinaryDeserializer::OnOptionalPropertyEnd ( bool  present)
finalprivatevirtual

Implements duckdb::Deserializer.

◆ OnObjectBegin()

void duckdb::BinaryDeserializer::OnObjectBegin ( )
finalprivatevirtual

Implements duckdb::Deserializer.

◆ OnObjectEnd()

void duckdb::BinaryDeserializer::OnObjectEnd ( )
finalprivatevirtual

Implements duckdb::Deserializer.

◆ OnListBegin()

idx_t duckdb::BinaryDeserializer::OnListBegin ( )
finalprivatevirtual

Implements duckdb::Deserializer.

◆ OnListEnd()

void duckdb::BinaryDeserializer::OnListEnd ( )
finalprivatevirtual

Implements duckdb::Deserializer.

◆ OnNullableBegin()

bool duckdb::BinaryDeserializer::OnNullableBegin ( )
finalprivatevirtual

Implements duckdb::Deserializer.

◆ OnNullableEnd()

void duckdb::BinaryDeserializer::OnNullableEnd ( )
finalprivatevirtual

Implements duckdb::Deserializer.

◆ CanDeserializeProperty()

bool duckdb::BinaryDeserializer::CanDeserializeProperty ( const field_id_t  field_id,
const char tag 
)
finalprivatevirtual

Implements duckdb::Deserializer.

◆ ReadBool()

bool duckdb::BinaryDeserializer::ReadBool ( )
finalprivatevirtual

Implements duckdb::Deserializer.

◆ ReadChar()

char duckdb::BinaryDeserializer::ReadChar ( )
finalprivatevirtual

Reimplemented from duckdb::Deserializer.

◆ ReadSignedInt8()

int8_t duckdb::BinaryDeserializer::ReadSignedInt8 ( )
finalprivatevirtual

Implements duckdb::Deserializer.

◆ ReadUnsignedInt8()

uint8_t duckdb::BinaryDeserializer::ReadUnsignedInt8 ( )
finalprivatevirtual

Implements duckdb::Deserializer.

◆ ReadSignedInt16()

int16_t duckdb::BinaryDeserializer::ReadSignedInt16 ( )
finalprivatevirtual

Implements duckdb::Deserializer.

◆ ReadUnsignedInt16()

uint16_t duckdb::BinaryDeserializer::ReadUnsignedInt16 ( )
finalprivatevirtual

Implements duckdb::Deserializer.

◆ ReadSignedInt32()

int32_t duckdb::BinaryDeserializer::ReadSignedInt32 ( )
finalprivatevirtual

Implements duckdb::Deserializer.

◆ ReadUnsignedInt32()

uint32_t duckdb::BinaryDeserializer::ReadUnsignedInt32 ( )
finalprivatevirtual

Implements duckdb::Deserializer.

◆ ReadSignedInt64()

int64_t duckdb::BinaryDeserializer::ReadSignedInt64 ( )
finalprivatevirtual

Implements duckdb::Deserializer.

◆ ReadUnsignedInt64()

uint64_t duckdb::BinaryDeserializer::ReadUnsignedInt64 ( )
finalprivatevirtual

Implements duckdb::Deserializer.

◆ ReadFloat()

float duckdb::BinaryDeserializer::ReadFloat ( )
finalprivatevirtual

Implements duckdb::Deserializer.

◆ ReadDouble()

double duckdb::BinaryDeserializer::ReadDouble ( )
finalprivatevirtual

Implements duckdb::Deserializer.

◆ ReadString()

string duckdb::BinaryDeserializer::ReadString ( )
finalprivatevirtual

Implements duckdb::Deserializer.

◆ ReadHugeInt()

hugeint_t duckdb::BinaryDeserializer::ReadHugeInt ( )
finalprivatevirtual

Implements duckdb::Deserializer.

◆ ReadUhugeInt()

uhugeint_t duckdb::BinaryDeserializer::ReadUhugeInt ( )
finalprivatevirtual

Implements duckdb::Deserializer.

◆ ReadDataPtr()

void duckdb::BinaryDeserializer::ReadDataPtr ( data_ptr_t &  ptr,
idx_t  count 
)
finalprivatevirtual

Implements duckdb::Deserializer.


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