14#ifndef ATHCONTAINERS_AUXDATATRAITS_H
15#define ATHCONTAINERS_AUXDATATRAITS_H
38template <
class T,
class ALLOC = AuxAllocator_t<T> >
99 using allocator_type =
typename std::allocator_traits<ALLOC>::template rebind_alloc<char>;
113 return reinterpret_cast<bool*
>(ptr)[ndx];
120 return reinterpret_cast<const bool*
>(ptr)[ndx];
Simplified version of the C++20 std::span.
const element_type & const_reference_type
typename std::allocator_traits< ALLOC >::template rebind_alloc< char > allocator_type
Allocator type used to store this variable.
CxxUtils::span< container_value_type > span
typename vector_type::pointer container_pointer_type
Pointers to the data within the container.
bool element_type
The type the user sees.
element_type & reference_type
Reference types returned by aux data accessors.
static const_reference_type index(const void *ptr, size_t ndx)
Look up an element in the container by index.
CxxUtils::span< const container_value_type > const_span
typename vector_type::value_type container_value_type
std::vector< char, allocator_type > vector_type
Container type used to store this variable.
static reference_type index(void *ptr, size_t ndx)
Look up an element in the container by index.
typename vector_type::const_pointer const_container_pointer_type
Allow customizing how aux data types are treated.
const element_type & const_reference_type
typename vector_type::pointer container_pointer_type
Pointers to the data within the container.
CxxUtils::span< container_value_type > span
typename vector_type::value_type container_value_type
CxxUtils::span< const container_value_type > const_span
element_type & reference_type
Reference types returned by aux data accessors.
std::vector< T, allocator_type > vector_type
Container type used to store this variable.
T element_type
The type the user sees.
ALLOC allocator_type
Allocator type used to store this variable.
typename vector_type::const_pointer const_container_pointer_type
static const_reference_type index(const void *ptr, size_t ndx)
Look up an element in the container by index.
static reference_type index(void *ptr, size_t ndx)
Look up an element in the container by index.
constexpr const char * auxAllocatorNamePrefix
std::allocator< T > AuxAllocator_t
The default allocator type to use for auxiliary variables.
Simplified version of the C++20 std::span.
Helper to specialize how to make an initialized instance of T.