20template<
typename T,
typename TAllocator>
88template<
typename T,
typename TAllocator>
104 template<typename TSibling>
113 template<
typename TSibling>
135 template<
typename U >
138 return &allocBase::getAllocator() == &rhs.getAllocator();
145 template<
typename U >
197template<
typename T,
typename TAllocator>
218 template<typename TSibling>
235 template<
typename U >
237 {
return recycler == rhs.recycler; }
243 template<
typename U >
245 {
return recycler != rhs.recycler; }
263 return reinterpret_cast<T*
>(
recycler.Get(
sizeof(T),
267 return reinterpret_cast<T*
>(
recycler.AllocUnrelated(
sizeof(T) * n,
284 if( n == 1 )
recycler.Recycle( p,
sizeof(T) ,
alignof(T)
ALIB_DBG(,
typeid(T) ) );
MonoAllocator & allocator
AllocatorInterface< TAllocator > AI() const noexcept
TAllocator & GetAllocator() const noexcept
AllocatorMember()=delete
Deleted default constructor. (The allocator has to be given with construction)
constexpr StdContainerAllocatorRecycling(RTTRAllocator< TAllocator > &pRecycler)
bool operator==(const StdContainerAllocatorRecycling< U, TAllocator > &rhs) const noexcept
T * allocate(size_t n, const void *=nullptr)
constexpr StdContainerAllocatorRecycling(const StdContainerAllocatorRecycling &) noexcept=default
Defaulted copy constructor.
void deallocate(T *p, std::size_t n)
constexpr StdContainerAllocatorRecycling(StdContainerAllocatorRecycling &&) noexcept=default
Defaulted move constructor.
bool operator!=(const StdContainerAllocatorRecycling< U, TAllocator > &rhs) const noexcept
RTTRAllocator< TAllocator > & recycler
The only member of this allocator type used to perform all duties.
StdContainerAllocator()=default
Parameterless constructor used with heap allocation.
bool operator==(const StdContainerAllocator< U, TAllocator > &rhs) const noexcept
StdContainerAllocator(TAllocator &pAllocator)
constexpr StdContainerAllocator(const StdContainerAllocator &) noexcept=default
Defaulted copy constructor.
constexpr StdContainerAllocator(StdContainerAllocator &&) noexcept=default
Defaulted move constructor.
void deallocate(T *p, std::size_t n)
StdContainerAllocator(const StdContainerAllocator< TSibling, TAllocator > &origin)
T * allocate(size_t n, const void *=nullptr)
AllocatorMember< TAllocator > allocBase
The allocator type that TAllocator specifies.
bool operator!=(const StdContainerAllocator< U, TAllocator > &rhs) const noexcept
const T & const_reference
Type definition as required by C++ library standards.
std::false_type is_always_equal
Type definition as required by C++ library standards.
T value_type
Type definition as required by C++ library standards.
TAllocator AllocatorType
The allocator type that TAllocator specifies.
T & reference
Type definition as required by C++ library standards.
size_t size_type
Type definition as required by C++ library standards.
ptrdiff_t difference_type
Type definition as required by C++ library standards.