|  | WPILibC++ 2025.3.2
    | 
Class template wpi::memory::joint_ptr, wpi::memory::joint_allocator and related. More...
#include <initializer_list>#include <new>#include "detail/align.hpp"#include "detail/memory_stack.hpp"#include "detail/utility.hpp"#include "allocator_storage.hpp"#include "config.hpp"#include "default_allocator.hpp"#include "error.hpp"Go to the source code of this file.
| Classes | |
| class | wpi::memory::detail::joint_stack | 
| class | wpi::memory::joint | 
| Tag type that can't be created.  More... | |
| struct | wpi::memory::joint_size | 
| Tag type to make the joint size more explicit.  More... | |
| class | wpi::memory::joint_type< T > | 
| CRTP base class for all objects that want to use joint memory.  More... | |
| class | wpi::memory::joint_ptr< T, RawAllocator > | 
| A pointer to an object where all allocations are joint.  More... | |
| class | wpi::memory::joint_allocator | 
| A RawAllocator that uses the additional joint memory for its allocation.  More... | |
| struct | wpi::memory::is_shared_allocator< joint_allocator > | 
| Specialization of is_shared_allocator to mark joint_allocator as shared.  More... | |
| struct | wpi::memory::is_thread_safe_allocator< joint_allocator > | 
| Specialization of is_thread_safe_allocator to mark joint_allocator as thread safe.  More... | |
| struct | wpi::memory::propagation_traits< joint_allocator > | 
| Specialization of the propagation_traits for the joint_allocator.  More... | |
| class | wpi::memory::joint_array< T > | 
| A zero overhead dynamic array using joint memory.  More... | |
| Namespaces | |
| namespace | wpi | 
| Foonathan namespace. | |
| namespace | wpi::memory | 
| Memory namespace. | |
| namespace | wpi::memory::detail | 
| Functions | |
| template<typename T > | |
| detail::joint_stack & | wpi::memory::detail::get_stack (joint_type< T > &obj) noexcept | 
| template<typename T > | |
| const detail::joint_stack & | wpi::memory::detail::get_stack (const joint_type< T > &obj) noexcept | 
| template<typename T > | |
| char * | wpi::memory::detail::get_memory (joint_type< T > &obj) noexcept | 
| template<typename T > | |
| const char * | wpi::memory::detail::get_memory (const joint_type< T > &obj) noexcept | 
| template<typename T , class RawAllocator > | |
| bool | wpi::memory::operator== (std::nullptr_t, const joint_ptr< T, RawAllocator > &ptr) | 
| template<typename T , class RawAllocator > | |
| bool | wpi::memory::operator== (T *p, const joint_ptr< T, RawAllocator > &ptr) | 
| template<typename T , class RawAllocator > | |
| bool | wpi::memory::operator!= (std::nullptr_t, const joint_ptr< T, RawAllocator > &ptr) | 
| template<typename T , class RawAllocator > | |
| bool | wpi::memory::operator!= (T *p, const joint_ptr< T, RawAllocator > &ptr) | 
| template<typename T , class RawAllocator , typename... Args> | |
| auto | wpi::memory::allocate_joint (RawAllocator &alloc, joint_size additional_size, Args &&... args) -> joint_ptr< T, RawAllocator > | 
| template<typename T , class RawAllocator , typename... Args> | |
| auto | wpi::memory::allocate_joint (const RawAllocator &alloc, joint_size additional_size, Args &&... args) -> joint_ptr< T, RawAllocator > | 
| template<class RawAllocator , typename T > | |
| auto | wpi::memory::clone_joint (RawAllocator &alloc, const joint_type< T > &joint) -> joint_ptr< T, RawAllocator > | 
| template<class RawAllocator , typename T > | |
| auto | wpi::memory::clone_joint (const RawAllocator &alloc, const joint_type< T > &joint) -> joint_ptr< T, RawAllocator > | 
| bool | wpi::memory::operator!= (const joint_allocator &lhs, const joint_allocator &rhs) noexcept | 
Class template wpi::memory::joint_ptr, wpi::memory::joint_allocator and related.