|
template<typename Other > |
| cycle_allocator (const cycle_allocator< Other > &other) noexcept(std::is_nothrow_constructible_v< Nested, const Other & >) |
| Copy constructor for distinct type.
|
|
template<typename... Args, typename = std::enable_if_t<std::is_constructible_v<Nested, Args...>>> |
| cycle_allocator (const cycle_base &base, Args &&... args) |
| Create allocator, with declared ownership. More...
|
|
template<typename... Args, typename = std::enable_if_t<std::is_constructible_v<Nested, Args...>>> |
| cycle_allocator ([[maybe_unused]] unowned_cycle_t unowned_tag, Args &&... args) |
| Create allocator, with elements having no ownership. More...
|
|
template<typename T , typename... Args> |
auto | construct (T *ptr, Args &&... args) -> void |
| Constructor. More...
|
|
template<typename Dummy = void> |
auto | select_on_container_copy_construction () -> cycle_allocator |
| Fail to create copy of this allocator. More...
|
|
auto | operator== (const cycle_allocator &other) const noexcept(std::allocator_traits< Nested >::is_always_equal::value||noexcept(std::declval< const Nested & >()==std::declval< const Nested & >())) -> bool |
| Compare allocators for equality. More...
|
|
auto | operator!= (const cycle_allocator &other) const noexcept(noexcept(*this==other)) -> bool |
| Inequality comparison.
|
|
template<typename Nested>
class cycle_ptr::cycle_allocator< Nested >
Adaptor for collections with member types.
Member types are owned by the owner supplied at allocator construction.
- Template Parameters
-
Nested | Underlying allocator. |
template<typename Nested>
template<typename T , typename... Args>
Constructor.
Publishes the owner control block prior to construction, to allow for members to pick it up automatically. (After construction, the control block is unpublished.)
Forwards to construct as implemented by Nested
.