|
| | debug (Container &container) noexcept(std::is_nothrow_default_constructible_v< Alloc >) |
| | Construct the allocator with a reference to a container object.
|
| |
| template<typename... Args, typename = std::enable_if_t< std::is_constructible_v<Alloc, Args...>>> |
| | debug (Container &container, Args &&... args) noexcept(std::is_nothrow_constructible_v< Alloc, Args... >) |
| | Constructor for forwarding any arguments to the underlying allocator.
|
| |
| | debug (const debug &)=default |
| |
| | debug (debug &&)=default |
| |
| debug & | operator= (const debug &)=default |
| |
| debug & | operator= (debug &&)=default |
| |
| bool | operator== (const debug &rhs) const noexcept(detail::has_nothrow_equal_v< Alloc >) |
| |
| bool | operator!= (const debug &rhs) const noexcept(detail::has_nothrow_not_equal_v< Alloc >) |
| |
| void * | allocate (size_type n, const source_location &source=KTL_SOURCE()) noexcept(detail::has_nothrow_allocate_v< Alloc >) |
| | Attempts to allocate a chunk of memory defined by n.
|
| |
| void | deallocate (void *p, size_type n) noexcept(detail::has_nothrow_deallocate_v< Alloc >) |
| | Attempts to deallocate the memory at location p.
|
| |
| template<typename T , typename... Args> |
| std::enable_if< detail::has_construct_v< Alloc, T *, Args... >, void >::type | construct (T *p, Args &&... args) noexcept(detail::has_nothrow_construct_v< Alloc, T *, Args... >) |
| | Constructs an object of T with the given ...args at the given location.
|
| |
| template<typename T > |
| std::enable_if< detail::has_destroy_v< Alloc, T * >, void >::type | destroy (T *p) noexcept(detail::has_nothrow_destroy_v< Alloc, T * >) |
| | Destructs an object of T at the given location.
|
| |
| template<typename A = Alloc> |
| std::enable_if< detail::has_max_size_v< A >, size_type >::type | max_size () const noexcept(detail::has_nothrow_max_size_v< A >) |
| | Returns the maximum size that an allocation can be.
|
| |
| template<typename A = Alloc> |
| std::enable_if< detail::has_owns_v< A >, bool >::type | owns (void *p) const noexcept(detail::has_nothrow_owns_v< A >) |
| | Returns whether or not the allocator owns the given location in memory.
|
| |
| Alloc & | get_allocator () noexcept |
| | Returns a reference to the underlying allocator.
|
| |
| const Alloc & | get_allocator () const noexcept |
| | Returns a const reference to the underlying allocator.
|
| |
| Container & | get_container () noexcept |
| | Return a reference to the container that will be used to accumulate statistics.
|
| |
| const Container & | get_container () const noexcept |
| | Return a const reference to the container that will be used to accumulate statistics.
|
| |
template<typename Alloc , typename Container >
template<typename... Args, typename = std::enable_if_t< std::is_constructible_v<Alloc, Args...>>>
| ktl::debug< Alloc, Container >::debug |
( |
Container & |
container, |
|
|
Args &&... |
args |
|
) |
| |
|
inlineexplicitnoexcept |
Constructor for forwarding any arguments to the underlying allocator.