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::unique_ptr< DATA_TYPE, DELETER, SAFE > Class Template Reference
Inheritance diagram for duckdb::unique_ptr< DATA_TYPE, DELETER, SAFE >:
Collaboration diagram for duckdb::unique_ptr< DATA_TYPE, DELETER, SAFE >:

Public Types

using original = duckdb_base_std::unique_ptr< DATA_TYPE, DELETER >
 
using pointer = typename original::pointer
 

Public Member Functions

std::add_lvalue_reference< DATA_TYPE >::type operator* () const
 
original::pointer operator-> () const
 
void reset (typename original::pointer ptr=typename original::pointer()) noexcept
 

Static Private Member Functions

static void AssertNotNull (const bool null)
 

Member Function Documentation

◆ AssertNotNull()

template<class DATA_TYPE , class DELETER = std::default_delete<DATA_TYPE>, bool SAFE = true>
static void duckdb::unique_ptr< DATA_TYPE, DELETER, SAFE >::AssertNotNull ( const bool  null)
inlinestaticprivate
967 {
968#if defined(DUCKDB_DEBUG_NO_SAFETY) || defined(DUCKDB_CLANG_TIDY)
969 return;
970#else
971 if (DUCKDB_UNLIKELY(null)) {
972 throw duckdb::InternalException("Attempted to dereference unique_ptr that is NULL!");
973 }
974#endif
975 }
Definition duckdb.hpp:809

◆ operator*()

template<class DATA_TYPE , class DELETER = std::default_delete<DATA_TYPE>, bool SAFE = true>
std::add_lvalue_reference< DATA_TYPE >::type duckdb::unique_ptr< DATA_TYPE, DELETER, SAFE >::operator* ( ) const
inline
978 { // NOLINT: hiding on purpose
979 const auto ptr = original::get();
980 if (MemorySafety<SAFE>::ENABLED) {
981 AssertNotNull(!ptr);
982 }
983 return *ptr;
984 }

◆ operator->()

template<class DATA_TYPE , class DELETER = std::default_delete<DATA_TYPE>, bool SAFE = true>
original::pointer duckdb::unique_ptr< DATA_TYPE, DELETER, SAFE >::operator-> ( ) const
inline
986 { // NOLINT: hiding on purpose
987 const auto ptr = original::get();
988 if (MemorySafety<SAFE>::ENABLED) {
989 AssertNotNull(!ptr);
990 }
991 return ptr;
992 }

◆ reset()

template<class DATA_TYPE , class DELETER = std::default_delete<DATA_TYPE>, bool SAFE = true>
void duckdb::unique_ptr< DATA_TYPE, DELETER, SAFE >::reset ( typename original::pointer  ptr = typename original::pointer())
inlinenoexcept
999 { // NOLINT: hiding on purpose
1000 original::reset(ptr);
1001 }

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