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::SerializationData Struct Reference
Collaboration diagram for duckdb::SerializationData:

Classes

struct  CustomData
 

Public Member Functions

template<class T >
void Set (T entry)=delete
 
template<class T >
Get ()=delete
 
template<class T >
optional_ptr< T > TryGet ()=delete
 
template<class T >
void Unset ()=delete
 
template<class T >
void AssertNotEmpty (const stack< T > &e)
 
template<typename T >
std::enable_if< std::is_base_of< CustomData, T >::value, T & >::type GetCustom () const
 
template<typename T >
std::enable_if< std::is_base_of< CustomData, T >::value, void >::type SetCustom (T &data)
 
template<>
void Unset ()
 
template<>
void Unset ()
 
template<>
void Unset ()
 
template<>
void Unset ()
 
template<>
void Unset ()
 
template<>
void Unset ()
 
template<>
void Unset ()
 
template<>
void Unset ()
 
template<>
void Unset ()
 
template<>
void Unset ()
 
template<>
void Unset ()
 

Public Attributes

stack< reference< ClientContext > > contexts
 
stack< reference< DatabaseInstance > > databases
 
stack< reference< Catalog > > catalogs
 
stack< idx_tenums
 
stack< reference< bound_parameter_map_t > > parameter_data
 
stack< const_reference< LogicalType > > types
 
stack< const_reference< CompressionInfo > > compression_infos
 
duckdb::unordered_map< std::string, duckdb::stack< duckdb::reference< CustomData > > > customs
 

Private Member Functions

template<>
void Set (ExpressionType type)
 
template<>
ExpressionType Get ()
 
template<>
void Set (LogicalOperatorType type)
 
template<>
LogicalOperatorType Get ()
 
template<>
void Set (CompressionType type)
 
template<>
CompressionType Get ()
 
template<>
void Set (CatalogType type)
 
template<>
CatalogType Get ()
 
template<>
void Set (ClientContext &context)
 
template<>
ClientContextGet ()
 
template<>
void Set (Catalog &catalog)
 
template<>
CatalogGet ()
 
template<>
optional_ptr< CatalogTryGet ()
 
template<>
void Set (DatabaseInstance &db)
 
template<>
DatabaseInstanceGet ()
 
template<>
void Set (bound_parameter_map_t &context)
 
template<>
bound_parameter_map_t & Get ()
 
template<>
void Set (LogicalType &type)
 
template<>
void Set (const LogicalType &type)
 
template<>
const LogicalTypeGet ()
 
template<>
void Set (const CompressionInfo &compression_info)
 
template<>
const CompressionInfoGet ()
 

Member Function Documentation

◆ AssertNotEmpty()

template<class T >
void duckdb::SerializationData::AssertNotEmpty ( const stack< T > &  e)
inline
44286 {
44287 if (e.empty()) {
44288 throw InternalException("SerializationData - unexpected empty stack");
44289 }
44290 }

◆ GetCustom()

template<typename T >
std::enable_if< std::is_base_of< CustomData, T >::value, T & >::type duckdb::SerializationData::GetCustom ( ) const
inline
44293 {
44294 std::string type = T::GetType();
44295 auto iter = customs.find(type);
44296 if (iter == customs.end()) {
44297 throw duckdb::InternalException("SeserializationData - no stack for %s", type);
44298 }
44299 auto &stack = iter->second;
44300 if (stack.empty()) {
44301 throw duckdb::InternalException("SerializationData - unexpected empty stack for %s", type);
44302 }
44303 return dynamic_cast<T &>(stack.top().get());
44304 }
Definition duckdb.hpp:809

◆ SetCustom()

template<typename T >
std::enable_if< std::is_base_of< CustomData, T >::value, void >::type duckdb::SerializationData::SetCustom ( T &  data)
inline
44307 {
44308 std::string type = T::GetType();
44309 auto iter = customs.find(type);
44310 if (iter == customs.end()) {
44311 iter = customs.emplace(type, duckdb::stack<duckdb::reference<CustomData>> {}).first;
44312 }
44313 auto &stack = iter->second;
44314 stack.push(data);
44315 }
Definition duckdb.hpp:960

◆ Set() [1/11]

template<>
void duckdb::SerializationData::Set ( ExpressionType  type)
inlineprivate
44319 {
44320 enums.push(idx_t(type));
44321}
uint64_t idx_t
a saner size_t for loop indices etc
Definition duckdb.hpp:237

◆ Get() [1/10]

template<>
ExpressionType duckdb::SerializationData::Get ( )
inlineprivate
44324 {
44325 AssertNotEmpty(enums);
44326 return ExpressionType(enums.top());
44327}

◆ Unset() [1/11]

template<>
void duckdb::SerializationData::Unset ( )
inline
44330 {
44331 AssertNotEmpty(enums);
44332 enums.pop();
44333}

◆ Set() [2/11]

template<>
void duckdb::SerializationData::Set ( LogicalOperatorType  type)
inlineprivate
44336 {
44337 enums.push(idx_t(type));
44338}

◆ Get() [2/10]

template<>
LogicalOperatorType duckdb::SerializationData::Get ( )
inlineprivate
44341 {
44342 AssertNotEmpty(enums);
44343 return LogicalOperatorType(enums.top());
44344}

◆ Unset() [2/11]

template<>
void duckdb::SerializationData::Unset ( )
inline
44347 {
44348 AssertNotEmpty(enums);
44349 enums.pop();
44350}

◆ Set() [3/11]

template<>
void duckdb::SerializationData::Set ( CompressionType  type)
inlineprivate
44353 {
44354 enums.push(idx_t(type));
44355}

◆ Get() [3/10]

template<>
CompressionType duckdb::SerializationData::Get ( )
inlineprivate
44358 {
44359 AssertNotEmpty(enums);
44360 return CompressionType(enums.top());
44361}

◆ Unset() [3/11]

template<>
void duckdb::SerializationData::Unset ( )
inline
44364 {
44365 AssertNotEmpty(enums);
44366 enums.pop();
44367}

◆ Set() [4/11]

template<>
void duckdb::SerializationData::Set ( CatalogType  type)
inlineprivate
44370 {
44371 enums.push(idx_t(type));
44372}

◆ Get() [4/10]

template<>
CatalogType duckdb::SerializationData::Get ( )
inlineprivate
44375 {
44376 AssertNotEmpty(enums);
44377 return CatalogType(enums.top());
44378}

◆ Unset() [4/11]

template<>
void duckdb::SerializationData::Unset ( )
inline
44381 {
44382 AssertNotEmpty(enums);
44383 enums.pop();
44384}

◆ Set() [5/11]

template<>
void duckdb::SerializationData::Set ( ClientContext context)
inlineprivate
44387 {
44388 contexts.emplace(context);
44389}

◆ Get() [5/10]

template<>
ClientContext & duckdb::SerializationData::Get ( )
inlineprivate
44392 {
44393 AssertNotEmpty(contexts);
44394 return contexts.top();
44395}

◆ Unset() [5/11]

template<>
void duckdb::SerializationData::Unset ( )
inline
44398 {
44399 AssertNotEmpty(contexts);
44400 contexts.pop();
44401}

◆ Set() [6/11]

template<>
void duckdb::SerializationData::Set ( Catalog catalog)
inlineprivate
44404 {
44405 catalogs.emplace(catalog);
44406}

◆ Get() [6/10]

template<>
Catalog & duckdb::SerializationData::Get ( )
inlineprivate
44409 {
44410 AssertNotEmpty(catalogs);
44411 return catalogs.top();
44412}

◆ TryGet()

template<>
optional_ptr< Catalog > duckdb::SerializationData::TryGet ( )
inlineprivate
44415 {
44416 return catalogs.empty() ? nullptr : &catalogs.top().get();
44417}

◆ Unset() [6/11]

template<>
void duckdb::SerializationData::Unset ( )
inline
44420 {
44421 AssertNotEmpty(catalogs);
44422 catalogs.pop();
44423}

◆ Set() [7/11]

template<>
void duckdb::SerializationData::Set ( DatabaseInstance db)
inlineprivate
44425 {
44426 databases.emplace(db);
44427}

◆ Get() [7/10]

template<>
DatabaseInstance & duckdb::SerializationData::Get ( )
inlineprivate
44430 {
44431 AssertNotEmpty(databases);
44432 return databases.top();
44433}

◆ Unset() [7/11]

template<>
void duckdb::SerializationData::Unset ( )
inline
44436 {
44437 AssertNotEmpty(databases);
44438 databases.pop();
44439}

◆ Set() [8/11]

template<>
void duckdb::SerializationData::Set ( bound_parameter_map_t &  context)
inlineprivate
44442 {
44443 parameter_data.emplace(context);
44444}

◆ Get() [8/10]

template<>
bound_parameter_map_t & duckdb::SerializationData::Get ( )
inlineprivate
44447 {
44448 AssertNotEmpty(parameter_data);
44449 return parameter_data.top();
44450}

◆ Unset() [8/11]

template<>
void duckdb::SerializationData::Unset ( )
inline
44453 {
44454 AssertNotEmpty(parameter_data);
44455 parameter_data.pop();
44456}

◆ Set() [9/11]

template<>
void duckdb::SerializationData::Set ( LogicalType type)
inlineprivate
44459 {
44460 types.emplace(type);
44461}

◆ Unset() [9/11]

template<>
void duckdb::SerializationData::Unset ( )
inline
44464 {
44465 AssertNotEmpty(types);
44466 types.pop();
44467}

◆ Set() [10/11]

template<>
void duckdb::SerializationData::Set ( const LogicalType type)
inlineprivate
44470 {
44471 types.emplace(type);
44472}

◆ Get() [9/10]

template<>
const LogicalType & duckdb::SerializationData::Get ( )
inlineprivate
44475 {
44476 AssertNotEmpty(types);
44477 return types.top();
44478}

◆ Unset() [10/11]

template<>
void duckdb::SerializationData::Unset ( )
inline
44481 {
44482 AssertNotEmpty(types);
44483 types.pop();
44484}

◆ Set() [11/11]

template<>
void duckdb::SerializationData::Set ( const CompressionInfo compression_info)
inlineprivate
44487 {
44488 compression_infos.emplace(compression_info);
44489}

◆ Get() [10/10]

template<>
const CompressionInfo & duckdb::SerializationData::Get ( )
inlineprivate
44492 {
44493 AssertNotEmpty(compression_infos);
44494 return compression_infos.top();
44495}

◆ Unset() [11/11]

template<>
void duckdb::SerializationData::Unset ( )
inline
44498 {
44499 AssertNotEmpty(compression_infos);
44500 compression_infos.pop();
44501}

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