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

Public Types

using original = std::deque< DATA_TYPE, std::allocator< DATA_TYPE > >
 
using value_type = typename original::value_type
 
using allocator_type = typename original::allocator_type
 
using size_type = typename original::size_type
 
using difference_type = typename original::difference_type
 
using reference = typename original::reference
 
using const_reference = typename original::const_reference
 
using pointer = typename original::pointer
 
using const_pointer = typename original::const_pointer
 
using iterator = typename original::iterator
 
using const_iterator = typename original::const_iterator
 
using reverse_iterator = typename original::reverse_iterator
 
using const_reverse_iterator = typename original::const_reverse_iterator
 

Public Member Functions

void clear () noexcept
 
 deque (original &&other)
 
template<bool INTERNAL_SAFE>
 deque (deque< DATA_TYPE, INTERNAL_SAFE > &&other)
 
template<bool INTERNAL_SAFE = false>
original::reference get (typename original::size_type __n)
 
template<bool INTERNAL_SAFE = false>
original::const_reference get (typename original::size_type __n) const
 
original::reference operator[] (typename original::size_type __n)
 
original::const_reference operator[] (typename original::size_type __n) const
 
original::reference front ()
 
original::const_reference front () const
 
original::reference back ()
 
original::const_reference back () const
 

Static Private Member Functions

static void AssertIndexInBounds (idx_t index, idx_t size)
 

Constructor & Destructor Documentation

◆ deque() [1/2]

template<class DATA_TYPE , bool SAFE = true>
duckdb::deque< DATA_TYPE, SAFE >::deque ( original &&  other)
inline
29452 : original(std::move(other)) { // NOLINT: allow implicit conversion
29453 }

◆ deque() [2/2]

template<class DATA_TYPE , bool SAFE = true>
template<bool INTERNAL_SAFE>
duckdb::deque< DATA_TYPE, SAFE >::deque ( deque< DATA_TYPE, INTERNAL_SAFE > &&  other)
inline
29455 : original(std::move(other)) { // NOLINT: allow implicit conversion
29456 }

Member Function Documentation

◆ AssertIndexInBounds()

template<class DATA_TYPE , bool SAFE = true>
static void duckdb::deque< DATA_TYPE, SAFE >::AssertIndexInBounds ( idx_t  index,
idx_t  size 
)
inlinestaticprivate
29430 {
29431#if defined(DUCKDB_DEBUG_NO_SAFETY) || defined(DUCKDB_CLANG_TIDY)
29432 return;
29433#else
29434 if (DUCKDB_UNLIKELY(index >= size)) {
29435 throw InternalException("Attempted to access index %ld within deque of size %ld", index, size);
29436 }
29437#endif
29438 }

◆ clear()

template<class DATA_TYPE , bool SAFE = true>
void duckdb::deque< DATA_TYPE, SAFE >::clear ( )
inlinenoexcept
29445 { // NOLINT: hiding on purpose
29446 original::clear();
29447 }

◆ get() [1/2]

template<class DATA_TYPE , bool SAFE = true>
template<bool INTERNAL_SAFE = false>
original::reference duckdb::deque< DATA_TYPE, SAFE >::get ( typename original::size_type  __n)
inline
29459 { // NOLINT: hiding on purpose
29460 if (MemorySafety<INTERNAL_SAFE>::ENABLED) {
29461 AssertIndexInBounds(__n, original::size());
29462 }
29463 return original::operator[](__n);
29464 }

◆ get() [2/2]

template<class DATA_TYPE , bool SAFE = true>
template<bool INTERNAL_SAFE = false>
original::const_reference duckdb::deque< DATA_TYPE, SAFE >::get ( typename original::size_type  __n) const
inline
29467 { // NOLINT: hiding on purpose
29468 if (MemorySafety<INTERNAL_SAFE>::ENABLED) {
29469 AssertIndexInBounds(__n, original::size());
29470 }
29471 return original::operator[](__n);
29472 }

◆ operator[]() [1/2]

template<class DATA_TYPE , bool SAFE = true>
original::reference duckdb::deque< DATA_TYPE, SAFE >::operator[] ( typename original::size_type  __n)
inline
29474 { // NOLINT: hiding on purpose
29475 return get<SAFE>(__n);
29476 }

◆ operator[]() [2/2]

template<class DATA_TYPE , bool SAFE = true>
original::const_reference duckdb::deque< DATA_TYPE, SAFE >::operator[] ( typename original::size_type  __n) const
inline
29477 { // NOLINT: hiding on purpose
29478 return get<SAFE>(__n);
29479 }

◆ front() [1/2]

template<class DATA_TYPE , bool SAFE = true>
original::reference duckdb::deque< DATA_TYPE, SAFE >::front ( )
inline
29481 { // NOLINT: hiding on purpose
29482 if (MemorySafety<SAFE>::ENABLED && original::empty()) {
29483 throw InternalException("'front' called on an empty deque!");
29484 }
29485 return get<SAFE>(0);
29486 }

◆ front() [2/2]

template<class DATA_TYPE , bool SAFE = true>
original::const_reference duckdb::deque< DATA_TYPE, SAFE >::front ( ) const
inline
29488 { // NOLINT: hiding on purpose
29489 if (MemorySafety<SAFE>::ENABLED && original::empty()) {
29490 throw InternalException("'front' called on an empty deque!");
29491 }
29492 return get<SAFE>(0);
29493 }

◆ back() [1/2]

template<class DATA_TYPE , bool SAFE = true>
original::reference duckdb::deque< DATA_TYPE, SAFE >::back ( )
inline
29495 { // NOLINT: hiding on purpose
29496 if (MemorySafety<SAFE>::ENABLED && original::empty()) {
29497 throw InternalException("'back' called on an empty deque!");
29498 }
29499 return get<SAFE>(original::size() - 1);
29500 }

◆ back() [2/2]

template<class DATA_TYPE , bool SAFE = true>
original::const_reference duckdb::deque< DATA_TYPE, SAFE >::back ( ) const
inline
29502 { // NOLINT: hiding on purpose
29503 if (MemorySafety<SAFE>::ENABLED && original::empty()) {
29504 throw InternalException("'back' called on an empty deque!");
29505 }
29506 return get<SAFE>(original::size() - 1);
29507 }

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