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::arena_stl_allocator< T > Class Template Reference

Classes

struct  rebind
 Rebind. More...
 

Public Types

typedefvalue_type
 Typedefs.
 
typedef std::size_t size_type
 
typedef std::ptrdiff_t difference_type
 
typedef value_typereference
 
typedef value_type constconst_reference
 
typedef value_typepointer
 
typedef value_type constconst_pointer
 
using propagate_on_container_copy_assignment = std::true_type
 Propagation traits.
 
using propagate_on_container_move_assignment = std::true_type
 
using propagate_on_container_swap = std::true_type
 
using is_always_equal = std::false_type
 

Public Member Functions

 arena_stl_allocator (ArenaAllocator &arena_allocator_p) noexcept
 
template<class U >
 arena_stl_allocator (const arena_stl_allocator< U > &other) noexcept
 
pointer allocate (size_type n)
 
void deallocate (pointer p, size_type n) noexcept
 
template<class U , class... Args>
void construct (U *p, Args &&...args)
 
template<class U >
void destroy (U *p) noexcept
 
pointer address (reference x) const
 
const_pointer address (const_reference x) const
 
ArenaAllocatorGetAllocator () const
 
bool operator== (const arena_stl_allocator &other) const noexcept
 
bool operator!= (const arena_stl_allocator &other) const noexcept
 

Private Attributes

std::reference_wrapper< ArenaAllocatorarena_allocator
 Need to use std::reference_wrapper because "reference" is already a typedef.
 

Constructor & Destructor Documentation

◆ arena_stl_allocator() [1/2]

template<class T >
duckdb::arena_stl_allocator< T >::arena_stl_allocator ( ArenaAllocator arena_allocator_p)
inlinenoexcept
56337 : arena_allocator(arena_allocator_p) {
56338 }
std::reference_wrapper< ArenaAllocator > arena_allocator
Need to use std::reference_wrapper because "reference" is already a typedef.
Definition duckdb.cpp:56385

◆ arena_stl_allocator() [2/2]

template<class T >
template<class U >
duckdb::arena_stl_allocator< T >::arena_stl_allocator ( const arena_stl_allocator< U > &  other)
inlinenoexcept
56341 : arena_allocator(other.GetAllocator()) {
56342 }

Member Function Documentation

◆ allocate()

template<class T >
pointer duckdb::arena_stl_allocator< T >::allocate ( size_type  n)
inline
56345 { // NOLINT: match stl case
56346 arena_allocator.get().AlignNext();
56347 return reinterpret_cast<pointer>(arena_allocator.get().Allocate(n * sizeof(T)));
56348 }

◆ deallocate()

template<class T >
void duckdb::arena_stl_allocator< T >::deallocate ( pointer  p,
size_type  n 
)
inlinenoexcept
56350 { // NOLINT: match stl case
56351 }

◆ construct()

template<class T >
template<class U , class... Args>
void duckdb::arena_stl_allocator< T >::construct ( U *  p,
Args &&...  args 
)
inline
56354 { // NOLINT: match stl case
56355 ::new (p) U(std::forward<Args>(args)...);
56356 }

◆ destroy()

template<class T >
template<class U >
void duckdb::arena_stl_allocator< T >::destroy ( U *  p)
inlinenoexcept
56359 { // NOLINT: match stl case
56360 p->~U();
56361 }

◆ address() [1/2]

template<class T >
pointer duckdb::arena_stl_allocator< T >::address ( reference  x) const
inline
56363 { // NOLINT: match stl case
56364 return &x;
56365 }

◆ address() [2/2]

template<class T >
const_pointer duckdb::arena_stl_allocator< T >::address ( const_reference  x) const
inline
56367 { // NOLINT: match stl case
56368 return &x;
56369 }

◆ GetAllocator()

template<class T >
ArenaAllocator & duckdb::arena_stl_allocator< T >::GetAllocator ( ) const
inline
56371 {
56372 return arena_allocator.get();
56373 }

◆ operator==()

template<class T >
bool duckdb::arena_stl_allocator< T >::operator== ( const arena_stl_allocator< T > &  other) const
inlinenoexcept
56376 {
56377 return RefersToSameObject(arena_allocator, other.arena_allocator);
56378 }
bool RefersToSameObject(const reference< T > &a, const reference< T > &b)
Returns whether or not two reference wrappers refer to the same object.
Definition duckdb.hpp:2191

◆ operator!=()

template<class T >
bool duckdb::arena_stl_allocator< T >::operator!= ( const arena_stl_allocator< T > &  other) const
inlinenoexcept
56379 {
56380 return !(*this == other);
56381 }

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