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

Public Member Functions

 ExtraTypeInfo (ExtraTypeInfoType type)
 
 ExtraTypeInfo (ExtraTypeInfoType type, string alias)
 
bool Equals (ExtraTypeInfo *other_p) const
 
virtual void Serialize (Serializer &serializer) const
 
virtual shared_ptr< ExtraTypeInfoCopy () const
 
virtual shared_ptr< ExtraTypeInfoDeepCopy () const
 
template<class TARGET >
TARGETCast ()
 
template<class TARGET >
const TARGETCast () const
 

Static Public Member Functions

static shared_ptr< ExtraTypeInfoDeserialize (Deserializer &source)
 

Public Attributes

ExtraTypeInfoType type
 
string alias
 
unique_ptr< ExtensionTypeInfoextension_info
 

Protected Member Functions

 ExtraTypeInfo (const ExtraTypeInfo &other)
 
ExtraTypeInfooperator= (const ExtraTypeInfo &other)
 
virtual bool EqualsInternal (ExtraTypeInfo *other_p) const
 

Constructor & Destructor Documentation

◆ ExtraTypeInfo() [1/3]

duckdb::ExtraTypeInfo::ExtraTypeInfo ( ExtraTypeInfoType  type)
explicit
72187 : type(type) {
72188}

◆ ExtraTypeInfo() [2/3]

duckdb::ExtraTypeInfo::ExtraTypeInfo ( ExtraTypeInfoType  type,
string  alias 
)
explicit
72189 : type(type), alias(std::move(alias)) {
72190}

◆ ~ExtraTypeInfo()

duckdb::ExtraTypeInfo::~ExtraTypeInfo ( )
virtual
72191 {
72192}

◆ ExtraTypeInfo() [3/3]

duckdb::ExtraTypeInfo::ExtraTypeInfo ( const ExtraTypeInfo other)
protected
72194 : type(other.type), alias(other.alias) {
72195 if (other.extension_info) {
72196 extension_info = make_uniq<ExtensionTypeInfo>(*other.extension_info);
72197 }
72198}

Member Function Documentation

◆ operator=()

ExtraTypeInfo & duckdb::ExtraTypeInfo::operator= ( const ExtraTypeInfo other)
protected
72200 {
72201 type = other.type;
72202 alias = other.alias;
72203 if (other.extension_info) {
72204 extension_info = make_uniq<ExtensionTypeInfo>(*other.extension_info);
72205 }
72206 return *this;
72207}

◆ Equals()

bool duckdb::ExtraTypeInfo::Equals ( ExtraTypeInfo other_p) const

We only need to compare aliases when both types have them in this case

72217 {
72218 if (type == ExtraTypeInfoType::INVALID_TYPE_INFO || type == ExtraTypeInfoType::STRING_TYPE_INFO ||
72219 type == ExtraTypeInfoType::GENERIC_TYPE_INFO) {
72220 if (!other_p) {
72221 if (!alias.empty()) {
72222 return false;
72223 }
72224 if (extension_info) {
72225 return false;
72226 }
72228 return true;
72229 }
72230 if (alias != other_p->alias) {
72231 return false;
72232 }
72233 if (!ExtensionTypeInfo::Equals(extension_info, other_p->extension_info)) {
72234 return false;
72235 }
72236 return true;
72237 }
72238 if (!other_p) {
72239 return false;
72240 }
72241 if (type != other_p->type) {
72242 return false;
72243 }
72244 if (alias != other_p->alias) {
72245 return false;
72246 }
72247 if (!ExtensionTypeInfo::Equals(extension_info, other_p->extension_info)) {
72248 return false;
72249 }
72250 return EqualsInternal(other_p);
72251}

◆ Copy()

shared_ptr< ExtraTypeInfo > duckdb::ExtraTypeInfo::Copy ( ) const
virtual
72209 {
72210 return shared_ptr<ExtraTypeInfo>(new ExtraTypeInfo(*this));
72211}

◆ DeepCopy()

shared_ptr< ExtraTypeInfo > duckdb::ExtraTypeInfo::DeepCopy ( ) const
virtual
72213 {
72214 return Copy();
72215}

◆ Cast() [1/2]

template<class TARGET >
TARGET & duckdb::ExtraTypeInfo::Cast ( )
inline
20599 {
20600 DynamicCastCheck<TARGET>(this);
20601 return reinterpret_cast<TARGET &>(*this);
20602 }

◆ Cast() [2/2]

template<class TARGET >
const TARGET & duckdb::ExtraTypeInfo::Cast ( ) const
inline
20604 {
20605 DynamicCastCheck<TARGET>(this);
20606 return reinterpret_cast<const TARGET &>(*this);
20607 }

◆ EqualsInternal()

bool duckdb::ExtraTypeInfo::EqualsInternal ( ExtraTypeInfo other_p) const
protectedvirtual
72253 {
72254 // Do nothing
72255 return true;
72256}

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