xrpld
Loading...
Searching...
No Matches
beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator > Class Template Reference

Associative container where each element is also indexed by time. More...

#include <aged_ordered_container.h>

Collaboration diagram for beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >:

Classes

struct  Element
class  PairValueCompare
class  KeyValueCompare
class  ConfigT
class  ChronologicalT

Public Types

using clock_type = AbstractClock<Clock>
using time_point = clock_type::time_point
using duration = clock_type::duration
using key_type = Key
using mapped_type = T
using value_type = std::conditional_t<IsMap, std::pair<Key const, T>, Key>
using size_type = std::size_t
using difference_type = std::ptrdiff_t
using is_unordered = std::false_type
using is_multi = std::integral_constant<bool, IsMulti>
using is_map = std::integral_constant<bool, IsMap>
using key_compare = Compare
using value_compare = std::conditional_t<IsMap, PairValueCompare, Compare>
using allocator_type = Allocator
using reference = value_type&
using const_reference = value_type const&
using pointer = std::allocator_traits<Allocator>::pointer
using const_pointer = std::allocator_traits<Allocator>::const_pointer
using iterator = beast::detail::AgedContainerIterator<!IsMap, typename cont_type::iterator>
using const_iterator = beast::detail::AgedContainerIterator<true, typename cont_type::iterator>
using reverse_iterator
using const_reverse_iterator

Public Member Functions

 AgedOrderedContainer ()=delete
 AgedOrderedContainer (clock_type &clock)
 AgedOrderedContainer (clock_type &clock, Compare const &comp)
 AgedOrderedContainer (clock_type &clock, Allocator const &alloc)
 AgedOrderedContainer (clock_type &clock, Compare const &comp, Allocator const &alloc)
template<class InputIt>
 AgedOrderedContainer (InputIt first, InputIt last, clock_type &clock)
template<class InputIt>
 AgedOrderedContainer (InputIt first, InputIt last, clock_type &clock, Compare const &comp)
template<class InputIt>
 AgedOrderedContainer (InputIt first, InputIt last, clock_type &clock, Allocator const &alloc)
template<class InputIt>
 AgedOrderedContainer (InputIt first, InputIt last, clock_type &clock, Compare const &comp, Allocator const &alloc)
 AgedOrderedContainer (AgedOrderedContainer const &other)
 AgedOrderedContainer (AgedOrderedContainer const &other, Allocator const &alloc)
 AgedOrderedContainer (AgedOrderedContainer &&other)
 AgedOrderedContainer (AgedOrderedContainer &&other, Allocator const &alloc)
 AgedOrderedContainer (std::initializer_list< value_type > init, clock_type &clock)
 AgedOrderedContainer (std::initializer_list< value_type > init, clock_type &clock, Compare const &comp)
 AgedOrderedContainer (std::initializer_list< value_type > init, clock_type &clock, Allocator const &alloc)
 AgedOrderedContainer (std::initializer_list< value_type > init, clock_type &clock, Compare const &comp, Allocator const &alloc)
 ~AgedOrderedContainer ()
AgedOrderedContaineroperator= (AgedOrderedContainer const &other)
AgedOrderedContaineroperator= (AgedOrderedContainer &&other)
AgedOrderedContaineroperator= (std::initializer_list< value_type > init)
allocator_type getAllocator () const
clock_typeclock ()
clock_type const & clock () const
template<class K, bool MaybeMulti = IsMulti, bool MaybeMap = IsMap>
requires (MaybeMap && !MaybeMulti)
std::conditional_t< IsMap, T, void * > & at (K const &k)
template<class K, bool MaybeMulti = IsMulti, bool MaybeMap = IsMap>
requires (MaybeMap && !MaybeMulti)
std::conditional< IsMap, T, void * >::type const & at (K const &k) const
template<bool MaybeMulti = IsMulti, bool MaybeMap = IsMap>
requires (MaybeMap && !MaybeMulti)
std::conditional_t< IsMap, T, void * > & operator[] (Key const &key)
template<bool MaybeMulti = IsMulti, bool MaybeMap = IsMap>
requires (MaybeMap && !MaybeMulti)
std::conditional_t< IsMap, T, void * > & operator[] (Key &&key)
iterator begin ()
const_iterator begin () const
const_iterator cbegin () const
iterator end ()
const_iterator end () const
const_iterator cend () const
reverse_iterator rbegin ()
const_reverse_iterator rbegin () const
const_reverse_iterator crbegin () const
reverse_iterator rend ()
const_reverse_iterator rend () const
const_reverse_iterator crend () const
iterator iteratorTo (value_type &value)
const_iterator iteratorTo (value_type const &value) const
bool empty () const noexcept
size_type size () const noexcept
size_type maxSize () const noexcept
void clear ()
template<bool MaybeMulti = IsMulti>
auto insert (value_type const &value) -> std::pair< iterator, bool > requires(!MaybeMulti)
template<bool MaybeMulti = IsMulti>
requires MaybeMulti
auto insert (value_type const &value) -> iterator
template<bool MaybeMulti = IsMulti, bool MaybeMap = IsMap>
auto insert (value_type &&value) -> std::pair< iterator, bool > requires(!MaybeMulti &&!MaybeMap)
template<bool MaybeMulti = IsMulti, bool MaybeMap = IsMap>
auto insert (value_type &&value) -> iterator requires(MaybeMulti &&!MaybeMap)
template<bool MaybeMulti = IsMulti>
auto insert (const_iterator hint, value_type const &value) -> iterator requires(!MaybeMulti)
template<bool MaybeMulti = IsMulti>
requires MaybeMulti
iterator insert (const_iterator, value_type const &value)
template<bool MaybeMulti = IsMulti>
auto insert (const_iterator hint, value_type &&value) -> iterator requires(!MaybeMulti)
template<bool MaybeMulti = IsMulti>
requires MaybeMulti
iterator insert (const_iterator, value_type &&value)
template<class P, bool MaybeMap = IsMap>
requires (MaybeMap && std::is_constructible_v<value_type, P &&>)
std::conditional_t< IsMulti, iterator, std::pair< iterator, bool > > insert (P &&value)
template<class P, bool MaybeMap = IsMap>
requires (MaybeMap && std::is_constructible_v<value_type, P &&>)
std::conditional_t< IsMulti, iterator, std::pair< iterator, bool > > insert (const_iterator hint, P &&value)
template<class InputIt>
void insert (InputIt first, InputIt last)
void insert (std::initializer_list< value_type > init)
template<bool MaybeMulti = IsMulti, class... Args>
auto emplace (Args &&... args) -> std::pair< iterator, bool > requires(!MaybeMulti)
template<bool MaybeMulti = IsMulti, class... Args>
requires MaybeMulti
auto emplace (Args &&... args) -> iterator
template<bool MaybeMulti = IsMulti, class... Args>
auto emplaceHint (const_iterator hint, Args &&... args) -> std::pair< iterator, bool > requires(!MaybeMulti)
template<bool MaybeMulti = IsMulti, class... Args>
requires MaybeMulti
iterator emplaceHint (const_iterator, Args &&... args)
template<bool IsConst, class Iterator>
requires (!IsBoostReverseIterator<Iterator>::value)
beast::detail::AgedContainerIterator< false, Iterator > erase (beast::detail::AgedContainerIterator< IsConst, Iterator > pos)
template<bool IsConst, class Iterator>
requires (!IsBoostReverseIterator<Iterator>::value)
beast::detail::AgedContainerIterator< false, Iterator > erase (beast::detail::AgedContainerIterator< IsConst, Iterator > first, beast::detail::AgedContainerIterator< IsConst, Iterator > last)
template<class K>
auto erase (K const &k) -> size_type
void swap (AgedOrderedContainer &other) noexcept
template<bool IsConst, class Iterator>
requires (!IsBoostReverseIterator<Iterator>::value)
void touch (beast::detail::AgedContainerIterator< IsConst, Iterator > pos)
template<class K>
size_type touch (K const &k)
template<class K>
size_type count (K const &k) const
template<class K>
iterator find (K const &k)
template<class K>
const_iterator find (K const &k) const
template<class K>
std::pair< iterator, iteratorequalRange (K const &k)
template<class K>
std::pair< const_iterator, const_iteratorequalRange (K const &k) const
template<class K>
iterator lowerBound (K const &k)
template<class K>
const_iterator lowerBound (K const &k) const
template<class K>
iterator upperBound (K const &k)
template<class K>
const_iterator upperBound (K const &k) const
key_compare keyComp () const
value_compare valueComp () const
template<bool OtherIsMulti, bool OtherIsMap, class OtherT, class OtherDuration, class OtherAllocator>
bool operator== (AgedOrderedContainer< OtherIsMulti, OtherIsMap, Key, OtherT, OtherDuration, Compare, OtherAllocator > const &other) const
template<bool OtherIsMulti, bool OtherIsMap, class OtherT, class OtherDuration, class OtherAllocator>
bool operator< (AgedOrderedContainer< OtherIsMulti, OtherIsMap, Key, OtherT, OtherDuration, Compare, OtherAllocator > const &other) const
template<bool OtherIsMulti, bool OtherIsMap, class OtherT, class OtherDuration, class OtherAllocator>
bool operator<= (AgedOrderedContainer< OtherIsMulti, OtherIsMap, Key, OtherT, OtherDuration, Compare, OtherAllocator > const &other) const
template<bool OtherIsMulti, bool OtherIsMap, class OtherT, class OtherDuration, class OtherAllocator>
bool operator> (AgedOrderedContainer< OtherIsMulti, OtherIsMap, Key, OtherT, OtherDuration, Compare, OtherAllocator > const &other) const
template<bool OtherIsMulti, bool OtherIsMap, class OtherT, class OtherDuration, class OtherAllocator>
bool operator>= (AgedOrderedContainer< OtherIsMulti, OtherIsMap, Key, OtherT, OtherDuration, Compare, OtherAllocator > const &other) const
template<class K, bool MaybeMulti, bool MaybeMap>
requires (MaybeMap && !MaybeMulti)
std::conditional< IsMap, T, void * >::type const & at (K const &k) const

Public Attributes

class beast::detail::AgedOrderedContainer::ChronologicalT chronological

Private Types

using list_type
using cont_type
using ElementAllocator = std::allocator_traits<Allocator>::template rebind_alloc<Element>
using ElementAllocatorTraits = std::allocator_traits<ElementAllocator>

Private Member Functions

template<class... Args>
ElementnewElement (Args &&... args)
void deleteElement (Element const *p)
void unlinkAndDeleteElement (Element const *p)
template<bool IsConst, class Iterator>
requires (!IsBoostReverseIterator<Iterator>::value)
void touch (beast::detail::AgedContainerIterator< IsConst, Iterator > pos, clock_type::time_point const &now)
template<bool MaybePropagate = std::allocator_traits<Allocator>::propagate_on_container_swap::value>
requires MaybePropagate
void swapData (AgedOrderedContainer &other) noexcept
template<bool MaybePropagate = std::allocator_traits<Allocator>::propagate_on_container_swap::value>
requires (!MaybePropagate)
void swapData (AgedOrderedContainer &other) noexcept

Static Private Member Functions

static Key const & extract (value_type const &value)

Private Attributes

ConfigT config_
cont_type cont_

Detailed Description

template<bool IsMulti, bool IsMap, class Key, class T, class Clock = std::chrono::steady_clock, class Compare = std::less<Key>, class Allocator = std::allocator<std::conditional_t<IsMap, std::pair<Key const, T>, Key>>>
class beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >

Associative container where each element is also indexed by time.

This container mirrors the interface of the standard library ordered associative containers, with the addition that each element is associated with a when time_point which is obtained from the value of the clock's now. The function touch updates the time for an element to the current time as reported by the clock.

An extra set of iterator types and member functions are provided in the chronological memberspace that allow traversal in temporal or reverse temporal order. This container is useful as a building block for caches whose items expire after a certain amount of time. The chronological iterators allow for fully customizable expiration strategies.

See also
aged_set, aged_multiset, aged_map, aged_multimap

Definition at line 67 of file aged_ordered_container.h.

Member Typedef Documentation

◆ clock_type

template<bool IsMulti, bool IsMap, class Key, class T, class Clock = std::chrono::steady_clock, class Compare = std::less<Key>, class Allocator = std::allocator<std::conditional_t<IsMap, std::pair<Key const, T>, Key>>>
using beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >::clock_type = AbstractClock<Clock>

Definition at line 70 of file aged_ordered_container.h.

◆ time_point

template<bool IsMulti, bool IsMap, class Key, class T, class Clock = std::chrono::steady_clock, class Compare = std::less<Key>, class Allocator = std::allocator<std::conditional_t<IsMap, std::pair<Key const, T>, Key>>>
using beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >::time_point = clock_type::time_point

Definition at line 71 of file aged_ordered_container.h.

◆ duration

template<bool IsMulti, bool IsMap, class Key, class T, class Clock = std::chrono::steady_clock, class Compare = std::less<Key>, class Allocator = std::allocator<std::conditional_t<IsMap, std::pair<Key const, T>, Key>>>
using beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >::duration = clock_type::duration

Definition at line 72 of file aged_ordered_container.h.

◆ key_type

template<bool IsMulti, bool IsMap, class Key, class T, class Clock = std::chrono::steady_clock, class Compare = std::less<Key>, class Allocator = std::allocator<std::conditional_t<IsMap, std::pair<Key const, T>, Key>>>
using beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >::key_type = Key

Definition at line 73 of file aged_ordered_container.h.

◆ mapped_type

template<bool IsMulti, bool IsMap, class Key, class T, class Clock = std::chrono::steady_clock, class Compare = std::less<Key>, class Allocator = std::allocator<std::conditional_t<IsMap, std::pair<Key const, T>, Key>>>
using beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >::mapped_type = T

Definition at line 74 of file aged_ordered_container.h.

◆ value_type

template<bool IsMulti, bool IsMap, class Key, class T, class Clock = std::chrono::steady_clock, class Compare = std::less<Key>, class Allocator = std::allocator<std::conditional_t<IsMap, std::pair<Key const, T>, Key>>>
using beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >::value_type = std::conditional_t<IsMap, std::pair<Key const, T>, Key>

Definition at line 75 of file aged_ordered_container.h.

◆ size_type

template<bool IsMulti, bool IsMap, class Key, class T, class Clock = std::chrono::steady_clock, class Compare = std::less<Key>, class Allocator = std::allocator<std::conditional_t<IsMap, std::pair<Key const, T>, Key>>>
using beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >::size_type = std::size_t

Definition at line 76 of file aged_ordered_container.h.

◆ difference_type

template<bool IsMulti, bool IsMap, class Key, class T, class Clock = std::chrono::steady_clock, class Compare = std::less<Key>, class Allocator = std::allocator<std::conditional_t<IsMap, std::pair<Key const, T>, Key>>>
using beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >::difference_type = std::ptrdiff_t

Definition at line 77 of file aged_ordered_container.h.

◆ is_unordered

template<bool IsMulti, bool IsMap, class Key, class T, class Clock = std::chrono::steady_clock, class Compare = std::less<Key>, class Allocator = std::allocator<std::conditional_t<IsMap, std::pair<Key const, T>, Key>>>
using beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >::is_unordered = std::false_type

Definition at line 80 of file aged_ordered_container.h.

◆ is_multi

template<bool IsMulti, bool IsMap, class Key, class T, class Clock = std::chrono::steady_clock, class Compare = std::less<Key>, class Allocator = std::allocator<std::conditional_t<IsMap, std::pair<Key const, T>, Key>>>
using beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >::is_multi = std::integral_constant<bool, IsMulti>

Definition at line 81 of file aged_ordered_container.h.

◆ is_map

template<bool IsMulti, bool IsMap, class Key, class T, class Clock = std::chrono::steady_clock, class Compare = std::less<Key>, class Allocator = std::allocator<std::conditional_t<IsMap, std::pair<Key const, T>, Key>>>
using beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >::is_map = std::integral_constant<bool, IsMap>

Definition at line 82 of file aged_ordered_container.h.

◆ list_type

template<bool IsMulti, bool IsMap, class Key, class T, class Clock = std::chrono::steady_clock, class Compare = std::less<Key>, class Allocator = std::allocator<std::conditional_t<IsMap, std::pair<Key const, T>, Key>>>
using beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >::list_type
private
Initial value:
boost::intrusive::make_list<Element, boost::intrusive::constant_time_size<false>>::type

Definition at line 200 of file aged_ordered_container.h.

◆ cont_type

template<bool IsMulti, bool IsMap, class Key, class T, class Clock = std::chrono::steady_clock, class Compare = std::less<Key>, class Allocator = std::allocator<std::conditional_t<IsMap, std::pair<Key const, T>, Key>>>
using beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >::cont_type
private
Initial value:
IsMulti,
typename boost::intrusive::make_multiset<
boost::intrusive::constant_time_size<true>,
boost::intrusive::compare<KeyValueCompare>>::type,
typename boost::intrusive::make_set<
boost::intrusive::constant_time_size<true>,
boost::intrusive::compare<KeyValueCompare>>::type>

Definition at line 203 of file aged_ordered_container.h.

◆ ElementAllocator

template<bool IsMulti, bool IsMap, class Key, class T, class Clock = std::chrono::steady_clock, class Compare = std::less<Key>, class Allocator = std::allocator<std::conditional_t<IsMap, std::pair<Key const, T>, Key>>>
using beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >::ElementAllocator = std::allocator_traits<Allocator>::template rebind_alloc<Element>
private

Definition at line 214 of file aged_ordered_container.h.

◆ ElementAllocatorTraits

template<bool IsMulti, bool IsMap, class Key, class T, class Clock = std::chrono::steady_clock, class Compare = std::less<Key>, class Allocator = std::allocator<std::conditional_t<IsMap, std::pair<Key const, T>, Key>>>
using beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >::ElementAllocatorTraits = std::allocator_traits<ElementAllocator>
private

Definition at line 216 of file aged_ordered_container.h.

◆ key_compare

template<bool IsMulti, bool IsMap, class Key, class T, class Clock = std::chrono::steady_clock, class Compare = std::less<Key>, class Allocator = std::allocator<std::conditional_t<IsMap, std::pair<Key const, T>, Key>>>
using beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >::key_compare = Compare

Definition at line 376 of file aged_ordered_container.h.

◆ value_compare

template<bool IsMulti, bool IsMap, class Key, class T, class Clock = std::chrono::steady_clock, class Compare = std::less<Key>, class Allocator = std::allocator<std::conditional_t<IsMap, std::pair<Key const, T>, Key>>>
using beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >::value_compare = std::conditional_t<IsMap, PairValueCompare, Compare>

Definition at line 377 of file aged_ordered_container.h.

◆ allocator_type

template<bool IsMulti, bool IsMap, class Key, class T, class Clock = std::chrono::steady_clock, class Compare = std::less<Key>, class Allocator = std::allocator<std::conditional_t<IsMap, std::pair<Key const, T>, Key>>>
using beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >::allocator_type = Allocator

Definition at line 378 of file aged_ordered_container.h.

◆ reference

template<bool IsMulti, bool IsMap, class Key, class T, class Clock = std::chrono::steady_clock, class Compare = std::less<Key>, class Allocator = std::allocator<std::conditional_t<IsMap, std::pair<Key const, T>, Key>>>
using beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >::reference = value_type&

Definition at line 379 of file aged_ordered_container.h.

◆ const_reference

template<bool IsMulti, bool IsMap, class Key, class T, class Clock = std::chrono::steady_clock, class Compare = std::less<Key>, class Allocator = std::allocator<std::conditional_t<IsMap, std::pair<Key const, T>, Key>>>
using beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >::const_reference = value_type const&

Definition at line 380 of file aged_ordered_container.h.

◆ pointer

template<bool IsMulti, bool IsMap, class Key, class T, class Clock = std::chrono::steady_clock, class Compare = std::less<Key>, class Allocator = std::allocator<std::conditional_t<IsMap, std::pair<Key const, T>, Key>>>
using beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >::pointer = std::allocator_traits<Allocator>::pointer

Definition at line 381 of file aged_ordered_container.h.

◆ const_pointer

template<bool IsMulti, bool IsMap, class Key, class T, class Clock = std::chrono::steady_clock, class Compare = std::less<Key>, class Allocator = std::allocator<std::conditional_t<IsMap, std::pair<Key const, T>, Key>>>
using beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >::const_pointer = std::allocator_traits<Allocator>::const_pointer

Definition at line 382 of file aged_ordered_container.h.

◆ iterator

template<bool IsMulti, bool IsMap, class Key, class T, class Clock = std::chrono::steady_clock, class Compare = std::less<Key>, class Allocator = std::allocator<std::conditional_t<IsMap, std::pair<Key const, T>, Key>>>
using beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >::iterator = beast::detail::AgedContainerIterator<!IsMap, typename cont_type::iterator>

Definition at line 386 of file aged_ordered_container.h.

◆ const_iterator

template<bool IsMulti, bool IsMap, class Key, class T, class Clock = std::chrono::steady_clock, class Compare = std::less<Key>, class Allocator = std::allocator<std::conditional_t<IsMap, std::pair<Key const, T>, Key>>>
using beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >::const_iterator = beast::detail::AgedContainerIterator<true, typename cont_type::iterator>

Definition at line 387 of file aged_ordered_container.h.

◆ reverse_iterator

template<bool IsMulti, bool IsMap, class Key, class T, class Clock = std::chrono::steady_clock, class Compare = std::less<Key>, class Allocator = std::allocator<std::conditional_t<IsMap, std::pair<Key const, T>, Key>>>
using beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >::reverse_iterator

◆ const_reverse_iterator

template<bool IsMulti, bool IsMap, class Key, class T, class Clock = std::chrono::steady_clock, class Compare = std::less<Key>, class Allocator = std::allocator<std::conditional_t<IsMap, std::pair<Key const, T>, Key>>>
using beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >::const_reverse_iterator

Constructor & Destructor Documentation

◆ AgedOrderedContainer() [1/17]

template<bool IsMulti, bool IsMap, class Key, class T, class Clock = std::chrono::steady_clock, class Compare = std::less<Key>, class Allocator = std::allocator<std::conditional_t<IsMap, std::pair<Key const, T>, Key>>>
beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >::AgedOrderedContainer ( )
delete

◆ AgedOrderedContainer() [2/17]

template<bool IsMulti, bool IsMap, class Key, class T, class Clock, class Compare, class Allocator>
beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >::AgedOrderedContainer ( clock_type & clock)
explicit

Definition at line 1147 of file aged_ordered_container.h.

◆ AgedOrderedContainer() [3/17]

template<bool IsMulti, bool IsMap, class Key, class T, class Clock, class Compare, class Allocator>
beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >::AgedOrderedContainer ( clock_type & clock,
Compare const & comp )

Definition at line 1154 of file aged_ordered_container.h.

◆ AgedOrderedContainer() [4/17]

template<bool IsMulti, bool IsMap, class Key, class T, class Clock, class Compare, class Allocator>
beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >::AgedOrderedContainer ( clock_type & clock,
Allocator const & alloc )

Definition at line 1162 of file aged_ordered_container.h.

◆ AgedOrderedContainer() [5/17]

template<bool IsMulti, bool IsMap, class Key, class T, class Clock, class Compare, class Allocator>
beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >::AgedOrderedContainer ( clock_type & clock,
Compare const & comp,
Allocator const & alloc )

Definition at line 1170 of file aged_ordered_container.h.

◆ AgedOrderedContainer() [6/17]

template<bool IsMulti, bool IsMap, class Key, class T, class Clock, class Compare, class Allocator>
template<class InputIt>
beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >::AgedOrderedContainer ( InputIt first,
InputIt last,
clock_type & clock )

Definition at line 1180 of file aged_ordered_container.h.

◆ AgedOrderedContainer() [7/17]

template<bool IsMulti, bool IsMap, class Key, class T, class Clock, class Compare, class Allocator>
template<class InputIt>
beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >::AgedOrderedContainer ( InputIt first,
InputIt last,
clock_type & clock,
Compare const & comp )

Definition at line 1191 of file aged_ordered_container.h.

◆ AgedOrderedContainer() [8/17]

template<bool IsMulti, bool IsMap, class Key, class T, class Clock, class Compare, class Allocator>
template<class InputIt>
beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >::AgedOrderedContainer ( InputIt first,
InputIt last,
clock_type & clock,
Allocator const & alloc )

Definition at line 1203 of file aged_ordered_container.h.

◆ AgedOrderedContainer() [9/17]

template<bool IsMulti, bool IsMap, class Key, class T, class Clock, class Compare, class Allocator>
template<class InputIt>
beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >::AgedOrderedContainer ( InputIt first,
InputIt last,
clock_type & clock,
Compare const & comp,
Allocator const & alloc )

Definition at line 1215 of file aged_ordered_container.h.

◆ AgedOrderedContainer() [10/17]

template<bool IsMulti, bool IsMap, class Key, class T, class Clock, class Compare, class Allocator>
beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >::AgedOrderedContainer ( AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator > const & other)

Definition at line 1227 of file aged_ordered_container.h.

◆ AgedOrderedContainer() [11/17]

template<bool IsMulti, bool IsMap, class Key, class T, class Clock, class Compare, class Allocator>
beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >::AgedOrderedContainer ( AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator > const & other,
Allocator const & alloc )

Definition at line 1235 of file aged_ordered_container.h.

◆ AgedOrderedContainer() [12/17]

template<bool IsMulti, bool IsMap, class Key, class T, class Clock, class Compare, class Allocator>
beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >::AgedOrderedContainer ( AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator > && other)

Definition at line 1244 of file aged_ordered_container.h.

◆ AgedOrderedContainer() [13/17]

template<bool IsMulti, bool IsMap, class Key, class T, class Clock, class Compare, class Allocator>
beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >::AgedOrderedContainer ( AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator > && other,
Allocator const & alloc )

Definition at line 1252 of file aged_ordered_container.h.

◆ AgedOrderedContainer() [14/17]

template<bool IsMulti, bool IsMap, class Key, class T, class Clock, class Compare, class Allocator>
beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >::AgedOrderedContainer ( std::initializer_list< value_type > init,
clock_type & clock )

Definition at line 1262 of file aged_ordered_container.h.

◆ AgedOrderedContainer() [15/17]

template<bool IsMulti, bool IsMap, class Key, class T, class Clock, class Compare, class Allocator>
beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >::AgedOrderedContainer ( std::initializer_list< value_type > init,
clock_type & clock,
Compare const & comp )

Definition at line 1271 of file aged_ordered_container.h.

◆ AgedOrderedContainer() [16/17]

template<bool IsMulti, bool IsMap, class Key, class T, class Clock, class Compare, class Allocator>
beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >::AgedOrderedContainer ( std::initializer_list< value_type > init,
clock_type & clock,
Allocator const & alloc )

Definition at line 1281 of file aged_ordered_container.h.

◆ AgedOrderedContainer() [17/17]

template<bool IsMulti, bool IsMap, class Key, class T, class Clock, class Compare, class Allocator>
beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >::AgedOrderedContainer ( std::initializer_list< value_type > init,
clock_type & clock,
Compare const & comp,
Allocator const & alloc )

Definition at line 1291 of file aged_ordered_container.h.

◆ ~AgedOrderedContainer()

template<bool IsMulti, bool IsMap, class Key, class T, class Clock, class Compare, class Allocator>
beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >::~AgedOrderedContainer ( )

Definition at line 1302 of file aged_ordered_container.h.

Member Function Documentation

◆ extract()

template<bool IsMulti, bool IsMap, class Key, class T, class Clock = std::chrono::steady_clock, class Compare = std::less<Key>, class Allocator = std::allocator<std::conditional_t<IsMap, std::pair<Key const, T>, Key>>>
Key const & beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >::extract ( value_type const & value)
staticprivate

Definition at line 86 of file aged_ordered_container.h.

◆ newElement()

template<bool IsMulti, bool IsMap, class Key, class T, class Clock = std::chrono::steady_clock, class Compare = std::less<Key>, class Allocator = std::allocator<std::conditional_t<IsMap, std::pair<Key const, T>, Key>>>
template<class... Args>
Element * beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >::newElement ( Args &&... args)
private

Definition at line 336 of file aged_ordered_container.h.

◆ deleteElement()

template<bool IsMulti, bool IsMap, class Key, class T, class Clock = std::chrono::steady_clock, class Compare = std::less<Key>, class Allocator = std::allocator<std::conditional_t<IsMap, std::pair<Key const, T>, Key>>>
void beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >::deleteElement ( Element const * p)
private

Definition at line 360 of file aged_ordered_container.h.

◆ unlinkAndDeleteElement()

template<bool IsMulti, bool IsMap, class Key, class T, class Clock = std::chrono::steady_clock, class Compare = std::less<Key>, class Allocator = std::allocator<std::conditional_t<IsMap, std::pair<Key const, T>, Key>>>
void beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >::unlinkAndDeleteElement ( Element const * p)
private

Definition at line 368 of file aged_ordered_container.h.

◆ operator=() [1/3]

template<bool IsMulti, bool IsMap, class Key, class T, class Clock, class Compare, class Allocator>
auto beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >::operator= ( AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator > const & other)

Definition at line 1309 of file aged_ordered_container.h.

◆ operator=() [2/3]

template<bool IsMulti, bool IsMap, class Key, class T, class Clock, class Compare, class Allocator>
auto beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >::operator= ( AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator > && other)

Definition at line 1323 of file aged_ordered_container.h.

◆ operator=() [3/3]

template<bool IsMulti, bool IsMap, class Key, class T, class Clock, class Compare, class Allocator>
auto beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >::operator= ( std::initializer_list< value_type > init)

Definition at line 1335 of file aged_ordered_container.h.

◆ getAllocator()

template<bool IsMulti, bool IsMap, class Key, class T, class Clock = std::chrono::steady_clock, class Compare = std::less<Key>, class Allocator = std::allocator<std::conditional_t<IsMap, std::pair<Key const, T>, Key>>>
allocator_type beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >::getAllocator ( ) const

Definition at line 589 of file aged_ordered_container.h.

◆ clock() [1/2]

template<bool IsMulti, bool IsMap, class Key, class T, class Clock = std::chrono::steady_clock, class Compare = std::less<Key>, class Allocator = std::allocator<std::conditional_t<IsMap, std::pair<Key const, T>, Key>>>
clock_type & beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >::clock ( )

Definition at line 595 of file aged_ordered_container.h.

◆ clock() [2/2]

template<bool IsMulti, bool IsMap, class Key, class T, class Clock = std::chrono::steady_clock, class Compare = std::less<Key>, class Allocator = std::allocator<std::conditional_t<IsMap, std::pair<Key const, T>, Key>>>
clock_type const & beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >::clock ( ) const

Definition at line 601 of file aged_ordered_container.h.

◆ at() [1/3]

template<bool IsMulti, bool IsMap, class Key, class T, class Clock, class Compare, class Allocator>
requires (MaybeMap && !MaybeMulti)
template<class K, bool MaybeMulti, bool MaybeMap>
requires (MaybeMap && !MaybeMulti)
std::conditional_t< IsMap, T, void * > & beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >::at ( K const & k)

Definition at line 1348 of file aged_ordered_container.h.

◆ at() [2/3]

template<bool IsMulti, bool IsMap, class Key, class T, class Clock = std::chrono::steady_clock, class Compare = std::less<Key>, class Allocator = std::allocator<std::conditional_t<IsMap, std::pair<Key const, T>, Key>>>
template<class K, bool MaybeMulti = IsMulti, bool MaybeMap = IsMap>
requires (MaybeMap && !MaybeMulti)
std::conditional< IsMap, T, void * >::type const & beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >::at ( K const & k) const

◆ operator[]() [1/2]

template<bool IsMulti, bool IsMap, class Key, class T, class Clock, class Compare, class Allocator>
requires (MaybeMap && !MaybeMulti)
template<bool MaybeMulti, bool MaybeMap>
requires (MaybeMap && !MaybeMulti)
std::conditional_t< IsMap, T, void * > & beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >::operator[] ( Key const & key)

Definition at line 1372 of file aged_ordered_container.h.

◆ operator[]() [2/2]

template<bool IsMulti, bool IsMap, class Key, class T, class Clock, class Compare, class Allocator>
requires (MaybeMap && !MaybeMulti)
template<bool MaybeMulti, bool MaybeMap>
requires (MaybeMap && !MaybeMulti)
std::conditional_t< IsMap, T, void * > & beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >::operator[] ( Key && key)

Definition at line 1391 of file aged_ordered_container.h.

◆ begin() [1/2]

template<bool IsMulti, bool IsMap, class Key, class T, class Clock = std::chrono::steady_clock, class Compare = std::less<Key>, class Allocator = std::allocator<std::conditional_t<IsMap, std::pair<Key const, T>, Key>>>
iterator beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >::begin ( )

Definition at line 639 of file aged_ordered_container.h.

◆ begin() [2/2]

template<bool IsMulti, bool IsMap, class Key, class T, class Clock = std::chrono::steady_clock, class Compare = std::less<Key>, class Allocator = std::allocator<std::conditional_t<IsMap, std::pair<Key const, T>, Key>>>
const_iterator beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >::begin ( ) const

Definition at line 645 of file aged_ordered_container.h.

◆ cbegin()

template<bool IsMulti, bool IsMap, class Key, class T, class Clock = std::chrono::steady_clock, class Compare = std::less<Key>, class Allocator = std::allocator<std::conditional_t<IsMap, std::pair<Key const, T>, Key>>>
const_iterator beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >::cbegin ( ) const

Definition at line 651 of file aged_ordered_container.h.

◆ end() [1/2]

template<bool IsMulti, bool IsMap, class Key, class T, class Clock = std::chrono::steady_clock, class Compare = std::less<Key>, class Allocator = std::allocator<std::conditional_t<IsMap, std::pair<Key const, T>, Key>>>
iterator beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >::end ( )

Definition at line 657 of file aged_ordered_container.h.

◆ end() [2/2]

template<bool IsMulti, bool IsMap, class Key, class T, class Clock = std::chrono::steady_clock, class Compare = std::less<Key>, class Allocator = std::allocator<std::conditional_t<IsMap, std::pair<Key const, T>, Key>>>
const_iterator beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >::end ( ) const

Definition at line 663 of file aged_ordered_container.h.

◆ cend()

template<bool IsMulti, bool IsMap, class Key, class T, class Clock = std::chrono::steady_clock, class Compare = std::less<Key>, class Allocator = std::allocator<std::conditional_t<IsMap, std::pair<Key const, T>, Key>>>
const_iterator beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >::cend ( ) const

Definition at line 669 of file aged_ordered_container.h.

◆ rbegin() [1/2]

template<bool IsMulti, bool IsMap, class Key, class T, class Clock = std::chrono::steady_clock, class Compare = std::less<Key>, class Allocator = std::allocator<std::conditional_t<IsMap, std::pair<Key const, T>, Key>>>
reverse_iterator beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >::rbegin ( )

Definition at line 675 of file aged_ordered_container.h.

◆ rbegin() [2/2]

template<bool IsMulti, bool IsMap, class Key, class T, class Clock = std::chrono::steady_clock, class Compare = std::less<Key>, class Allocator = std::allocator<std::conditional_t<IsMap, std::pair<Key const, T>, Key>>>
const_reverse_iterator beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >::rbegin ( ) const

Definition at line 681 of file aged_ordered_container.h.

◆ crbegin()

template<bool IsMulti, bool IsMap, class Key, class T, class Clock = std::chrono::steady_clock, class Compare = std::less<Key>, class Allocator = std::allocator<std::conditional_t<IsMap, std::pair<Key const, T>, Key>>>
const_reverse_iterator beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >::crbegin ( ) const

Definition at line 687 of file aged_ordered_container.h.

◆ rend() [1/2]

template<bool IsMulti, bool IsMap, class Key, class T, class Clock = std::chrono::steady_clock, class Compare = std::less<Key>, class Allocator = std::allocator<std::conditional_t<IsMap, std::pair<Key const, T>, Key>>>
reverse_iterator beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >::rend ( )

Definition at line 693 of file aged_ordered_container.h.

◆ rend() [2/2]

template<bool IsMulti, bool IsMap, class Key, class T, class Clock = std::chrono::steady_clock, class Compare = std::less<Key>, class Allocator = std::allocator<std::conditional_t<IsMap, std::pair<Key const, T>, Key>>>
const_reverse_iterator beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >::rend ( ) const

Definition at line 699 of file aged_ordered_container.h.

◆ crend()

template<bool IsMulti, bool IsMap, class Key, class T, class Clock = std::chrono::steady_clock, class Compare = std::less<Key>, class Allocator = std::allocator<std::conditional_t<IsMap, std::pair<Key const, T>, Key>>>
const_reverse_iterator beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >::crend ( ) const

Definition at line 705 of file aged_ordered_container.h.

◆ iteratorTo() [1/2]

template<bool IsMulti, bool IsMap, class Key, class T, class Clock = std::chrono::steady_clock, class Compare = std::less<Key>, class Allocator = std::allocator<std::conditional_t<IsMap, std::pair<Key const, T>, Key>>>
iterator beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >::iteratorTo ( value_type & value)

Definition at line 711 of file aged_ordered_container.h.

◆ iteratorTo() [2/2]

template<bool IsMulti, bool IsMap, class Key, class T, class Clock = std::chrono::steady_clock, class Compare = std::less<Key>, class Allocator = std::allocator<std::conditional_t<IsMap, std::pair<Key const, T>, Key>>>
const_iterator beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >::iteratorTo ( value_type const & value) const

Definition at line 720 of file aged_ordered_container.h.

◆ empty()

template<bool IsMulti, bool IsMap, class Key, class T, class Clock = std::chrono::steady_clock, class Compare = std::less<Key>, class Allocator = std::allocator<std::conditional_t<IsMap, std::pair<Key const, T>, Key>>>
bool beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >::empty ( ) const
noexcept

Definition at line 735 of file aged_ordered_container.h.

◆ size()

template<bool IsMulti, bool IsMap, class Key, class T, class Clock = std::chrono::steady_clock, class Compare = std::less<Key>, class Allocator = std::allocator<std::conditional_t<IsMap, std::pair<Key const, T>, Key>>>
size_type beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >::size ( ) const
noexcept

Definition at line 741 of file aged_ordered_container.h.

◆ maxSize()

template<bool IsMulti, bool IsMap, class Key, class T, class Clock = std::chrono::steady_clock, class Compare = std::less<Key>, class Allocator = std::allocator<std::conditional_t<IsMap, std::pair<Key const, T>, Key>>>
size_type beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >::maxSize ( ) const
noexcept

Definition at line 747 of file aged_ordered_container.h.

◆ clear()

template<bool IsMulti, bool IsMap, class Key, class T, class Clock, class Compare, class Allocator>
void beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >::clear ( )

Definition at line 1413 of file aged_ordered_container.h.

◆ insert() [1/12]

template<bool IsMulti, bool IsMap, class Key, class T, class Clock, class Compare, class Allocator>
template<bool MaybeMulti>
auto beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >::insert ( value_type const & value) -> std::pair< iterator, bool > requires(!MaybeMulti)

Definition at line 1425 of file aged_ordered_container.h.

◆ insert() [2/12]

template<bool IsMulti, bool IsMap, class Key, class T, class Clock, class Compare, class Allocator>
requires MaybeMulti
template<bool MaybeMulti>
requires MaybeMulti
auto beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >::insert ( value_type const & value) -> iterator

Definition at line 1445 of file aged_ordered_container.h.

◆ insert() [3/12]

template<bool IsMulti, bool IsMap, class Key, class T, class Clock, class Compare, class Allocator>
template<bool MaybeMulti, bool MaybeMap>
auto beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >::insert ( value_type && value) -> std::pair< iterator, bool > requires(!MaybeMulti &&!MaybeMap)

Definition at line 1460 of file aged_ordered_container.h.

◆ insert() [4/12]

template<bool IsMulti, bool IsMap, class Key, class T, class Clock, class Compare, class Allocator>
template<bool MaybeMulti, bool MaybeMap>
auto beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >::insert ( value_type && value) -> iterator requires(MaybeMulti &&!MaybeMap)

Definition at line 1480 of file aged_ordered_container.h.

◆ insert() [5/12]

template<bool IsMulti, bool IsMap, class Key, class T, class Clock, class Compare, class Allocator>
template<bool MaybeMulti>
auto beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >::insert ( const_iterator hint,
value_type const & value ) -> iterator requires(!MaybeMulti)

Definition at line 1497 of file aged_ordered_container.h.

◆ insert() [6/12]

template<bool IsMulti, bool IsMap, class Key, class T, class Clock = std::chrono::steady_clock, class Compare = std::less<Key>, class Allocator = std::allocator<std::conditional_t<IsMap, std::pair<Key const, T>, Key>>>
template<bool MaybeMulti = IsMulti>
requires MaybeMulti
iterator beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >::insert ( const_iterator ,
value_type const & value )

Definition at line 796 of file aged_ordered_container.h.

◆ insert() [7/12]

template<bool IsMulti, bool IsMap, class Key, class T, class Clock, class Compare, class Allocator>
template<bool MaybeMulti>
auto beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >::insert ( const_iterator hint,
value_type && value ) -> iterator requires(!MaybeMulti)

Definition at line 1519 of file aged_ordered_container.h.

◆ insert() [8/12]

template<bool IsMulti, bool IsMap, class Key, class T, class Clock = std::chrono::steady_clock, class Compare = std::less<Key>, class Allocator = std::allocator<std::conditional_t<IsMap, std::pair<Key const, T>, Key>>>
template<bool MaybeMulti = IsMulti>
requires MaybeMulti
iterator beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >::insert ( const_iterator ,
value_type && value )

Definition at line 812 of file aged_ordered_container.h.

◆ insert() [9/12]

template<bool IsMulti, bool IsMap, class Key, class T, class Clock = std::chrono::steady_clock, class Compare = std::less<Key>, class Allocator = std::allocator<std::conditional_t<IsMap, std::pair<Key const, T>, Key>>>
template<class P, bool MaybeMap = IsMap>
requires (MaybeMap && std::is_constructible_v<value_type, P &&>)
std::conditional_t< IsMulti, iterator, std::pair< iterator, bool > > beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >::insert ( P && value)

Definition at line 822 of file aged_ordered_container.h.

◆ insert() [10/12]

template<bool IsMulti, bool IsMap, class Key, class T, class Clock = std::chrono::steady_clock, class Compare = std::less<Key>, class Allocator = std::allocator<std::conditional_t<IsMap, std::pair<Key const, T>, Key>>>
template<class P, bool MaybeMap = IsMap>
requires (MaybeMap && std::is_constructible_v<value_type, P &&>)
std::conditional_t< IsMulti, iterator, std::pair< iterator, bool > > beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >::insert ( const_iterator hint,
P && value )

Definition at line 831 of file aged_ordered_container.h.

◆ insert() [11/12]

template<bool IsMulti, bool IsMap, class Key, class T, class Clock = std::chrono::steady_clock, class Compare = std::less<Key>, class Allocator = std::allocator<std::conditional_t<IsMap, std::pair<Key const, T>, Key>>>
template<class InputIt>
void beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >::insert ( InputIt first,
InputIt last )

Definition at line 839 of file aged_ordered_container.h.

◆ insert() [12/12]

template<bool IsMulti, bool IsMap, class Key, class T, class Clock = std::chrono::steady_clock, class Compare = std::less<Key>, class Allocator = std::allocator<std::conditional_t<IsMap, std::pair<Key const, T>, Key>>>
void beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >::insert ( std::initializer_list< value_type > init)

Definition at line 846 of file aged_ordered_container.h.

◆ emplace() [1/2]

template<bool IsMulti, bool IsMap, class Key, class T, class Clock, class Compare, class Allocator>
template<bool MaybeMulti, class... Args>
auto beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >::emplace ( Args &&... args) -> std::pair< iterator, bool > requires(!MaybeMulti)

Definition at line 1541 of file aged_ordered_container.h.

◆ emplace() [2/2]

template<bool IsMulti, bool IsMap, class Key, class T, class Clock, class Compare, class Allocator>
requires MaybeMulti
template<bool MaybeMulti, class... Args>
requires MaybeMulti
auto beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >::emplace ( Args &&... args) -> iterator

Definition at line 1564 of file aged_ordered_container.h.

◆ emplaceHint() [1/2]

template<bool IsMulti, bool IsMap, class Key, class T, class Clock, class Compare, class Allocator>
template<bool MaybeMulti, class... Args>
auto beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >::emplaceHint ( const_iterator hint,
Args &&... args ) -> std::pair< iterator, bool > requires(!MaybeMulti)

Definition at line 1579 of file aged_ordered_container.h.

◆ emplaceHint() [2/2]

template<bool IsMulti, bool IsMap, class Key, class T, class Clock = std::chrono::steady_clock, class Compare = std::less<Key>, class Allocator = std::allocator<std::conditional_t<IsMap, std::pair<Key const, T>, Key>>>
template<bool MaybeMulti = IsMulti, class... Args>
requires MaybeMulti
iterator beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >::emplaceHint ( const_iterator ,
Args &&... args )

Definition at line 872 of file aged_ordered_container.h.

◆ erase() [1/3]

template<bool IsMulti, bool IsMap, class Key, class T, class Clock, class Compare, class Allocator>
requires (!IsBoostReverseIterator<Iterator>::value)
template<bool IsConst, class Iterator>
requires (!IsBoostReverseIterator<Iterator>::value)
beast::detail::AgedContainerIterator< false, Iterator > beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >::erase ( beast::detail::AgedContainerIterator< IsConst, Iterator > pos)

Definition at line 1603 of file aged_ordered_container.h.

◆ erase() [2/3]

template<bool IsMulti, bool IsMap, class Key, class T, class Clock, class Compare, class Allocator>
requires (!IsBoostReverseIterator<Iterator>::value)
template<bool IsConst, class Iterator>
requires (!IsBoostReverseIterator<Iterator>::value)
beast::detail::AgedContainerIterator< false, Iterator > beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >::erase ( beast::detail::AgedContainerIterator< IsConst, Iterator > first,
beast::detail::AgedContainerIterator< IsConst, Iterator > last )

Definition at line 1614 of file aged_ordered_container.h.

◆ erase() [3/3]

template<bool IsMulti, bool IsMap, class Key, class T, class Clock, class Compare, class Allocator>
template<class K>
auto beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >::erase ( K const & k) -> size_type

Definition at line 1628 of file aged_ordered_container.h.

◆ swap()

template<bool IsMulti, bool IsMap, class Key, class T, class Clock, class Compare, class Allocator>
void beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >::swap ( AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator > & other)
noexcept

Definition at line 1649 of file aged_ordered_container.h.

◆ touch() [1/3]

template<bool IsMulti, bool IsMap, class Key, class T, class Clock = std::chrono::steady_clock, class Compare = std::less<Key>, class Allocator = std::allocator<std::conditional_t<IsMap, std::pair<Key const, T>, Key>>>
template<bool IsConst, class Iterator>
requires (!IsBoostReverseIterator<Iterator>::value)
void beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >::touch ( beast::detail::AgedContainerIterator< IsConst, Iterator > pos)

Definition at line 906 of file aged_ordered_container.h.

◆ touch() [2/3]

template<bool IsMulti, bool IsMap, class Key, class T, class Clock, class Compare, class Allocator>
template<class K>
auto beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >::touch ( K const & k)

Definition at line 1662 of file aged_ordered_container.h.

◆ count()

template<bool IsMulti, bool IsMap, class Key, class T, class Clock = std::chrono::steady_clock, class Compare = std::less<Key>, class Allocator = std::allocator<std::conditional_t<IsMap, std::pair<Key const, T>, Key>>>
template<class K>
size_type beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >::count ( K const & k) const

Definition at line 925 of file aged_ordered_container.h.

◆ find() [1/2]

template<bool IsMulti, bool IsMap, class Key, class T, class Clock = std::chrono::steady_clock, class Compare = std::less<Key>, class Allocator = std::allocator<std::conditional_t<IsMap, std::pair<Key const, T>, Key>>>
template<class K>
iterator beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >::find ( K const & k)

Definition at line 933 of file aged_ordered_container.h.

◆ find() [2/2]

template<bool IsMulti, bool IsMap, class Key, class T, class Clock = std::chrono::steady_clock, class Compare = std::less<Key>, class Allocator = std::allocator<std::conditional_t<IsMap, std::pair<Key const, T>, Key>>>
template<class K>
const_iterator beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >::find ( K const & k) const

Definition at line 941 of file aged_ordered_container.h.

◆ equalRange() [1/2]

template<bool IsMulti, bool IsMap, class Key, class T, class Clock = std::chrono::steady_clock, class Compare = std::less<Key>, class Allocator = std::allocator<std::conditional_t<IsMap, std::pair<Key const, T>, Key>>>
template<class K>
std::pair< iterator, iterator > beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >::equalRange ( K const & k)

Definition at line 949 of file aged_ordered_container.h.

◆ equalRange() [2/2]

template<bool IsMulti, bool IsMap, class Key, class T, class Clock = std::chrono::steady_clock, class Compare = std::less<Key>, class Allocator = std::allocator<std::conditional_t<IsMap, std::pair<Key const, T>, Key>>>
template<class K>
std::pair< const_iterator, const_iterator > beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >::equalRange ( K const & k) const

Definition at line 958 of file aged_ordered_container.h.

◆ lowerBound() [1/2]

template<bool IsMulti, bool IsMap, class Key, class T, class Clock = std::chrono::steady_clock, class Compare = std::less<Key>, class Allocator = std::allocator<std::conditional_t<IsMap, std::pair<Key const, T>, Key>>>
template<class K>
iterator beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >::lowerBound ( K const & k)

Definition at line 967 of file aged_ordered_container.h.

◆ lowerBound() [2/2]

template<bool IsMulti, bool IsMap, class Key, class T, class Clock = std::chrono::steady_clock, class Compare = std::less<Key>, class Allocator = std::allocator<std::conditional_t<IsMap, std::pair<Key const, T>, Key>>>
template<class K>
const_iterator beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >::lowerBound ( K const & k) const

Definition at line 975 of file aged_ordered_container.h.

◆ upperBound() [1/2]

template<bool IsMulti, bool IsMap, class Key, class T, class Clock = std::chrono::steady_clock, class Compare = std::less<Key>, class Allocator = std::allocator<std::conditional_t<IsMap, std::pair<Key const, T>, Key>>>
template<class K>
iterator beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >::upperBound ( K const & k)

Definition at line 983 of file aged_ordered_container.h.

◆ upperBound() [2/2]

template<bool IsMulti, bool IsMap, class Key, class T, class Clock = std::chrono::steady_clock, class Compare = std::less<Key>, class Allocator = std::allocator<std::conditional_t<IsMap, std::pair<Key const, T>, Key>>>
template<class K>
const_iterator beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >::upperBound ( K const & k) const

Definition at line 991 of file aged_ordered_container.h.

◆ keyComp()

template<bool IsMulti, bool IsMap, class Key, class T, class Clock = std::chrono::steady_clock, class Compare = std::less<Key>, class Allocator = std::allocator<std::conditional_t<IsMap, std::pair<Key const, T>, Key>>>
key_compare beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >::keyComp ( ) const

Definition at line 1003 of file aged_ordered_container.h.

◆ valueComp()

template<bool IsMulti, bool IsMap, class Key, class T, class Clock = std::chrono::steady_clock, class Compare = std::less<Key>, class Allocator = std::allocator<std::conditional_t<IsMap, std::pair<Key const, T>, Key>>>
value_compare beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >::valueComp ( ) const

Definition at line 1010 of file aged_ordered_container.h.

◆ operator==()

template<bool IsMulti, bool IsMap, class Key, class T, class Clock, class Compare, class Allocator>
template<bool OtherIsMulti, bool OtherIsMap, class OtherT, class OtherDuration, class OtherAllocator>
bool beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >::operator== ( AgedOrderedContainer< OtherIsMulti, OtherIsMap, Key, OtherT, OtherDuration, Compare, OtherAllocator > const & other) const

Definition at line 1686 of file aged_ordered_container.h.

◆ operator<()

template<bool IsMulti, bool IsMap, class Key, class T, class Clock = std::chrono::steady_clock, class Compare = std::less<Key>, class Allocator = std::allocator<std::conditional_t<IsMap, std::pair<Key const, T>, Key>>>
template<bool OtherIsMulti, bool OtherIsMap, class OtherT, class OtherDuration, class OtherAllocator>
bool beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >::operator< ( AgedOrderedContainer< OtherIsMulti, OtherIsMap, Key, OtherT, OtherDuration, Compare, OtherAllocator > const & other) const

Definition at line 1047 of file aged_ordered_container.h.

◆ operator<=()

template<bool IsMulti, bool IsMap, class Key, class T, class Clock = std::chrono::steady_clock, class Compare = std::less<Key>, class Allocator = std::allocator<std::conditional_t<IsMap, std::pair<Key const, T>, Key>>>
template<bool OtherIsMulti, bool OtherIsMap, class OtherT, class OtherDuration, class OtherAllocator>
bool beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >::operator<= ( AgedOrderedContainer< OtherIsMulti, OtherIsMap, Key, OtherT, OtherDuration, Compare, OtherAllocator > const & other) const

Definition at line 1067 of file aged_ordered_container.h.

◆ operator>()

template<bool IsMulti, bool IsMap, class Key, class T, class Clock = std::chrono::steady_clock, class Compare = std::less<Key>, class Allocator = std::allocator<std::conditional_t<IsMap, std::pair<Key const, T>, Key>>>
template<bool OtherIsMulti, bool OtherIsMap, class OtherT, class OtherDuration, class OtherAllocator>
bool beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >::operator> ( AgedOrderedContainer< OtherIsMulti, OtherIsMap, Key, OtherT, OtherDuration, Compare, OtherAllocator > const & other) const

Definition at line 1087 of file aged_ordered_container.h.

◆ operator>=()

template<bool IsMulti, bool IsMap, class Key, class T, class Clock = std::chrono::steady_clock, class Compare = std::less<Key>, class Allocator = std::allocator<std::conditional_t<IsMap, std::pair<Key const, T>, Key>>>
template<bool OtherIsMulti, bool OtherIsMap, class OtherT, class OtherDuration, class OtherAllocator>
bool beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >::operator>= ( AgedOrderedContainer< OtherIsMulti, OtherIsMap, Key, OtherT, OtherDuration, Compare, OtherAllocator > const & other) const

Definition at line 1106 of file aged_ordered_container.h.

◆ touch() [3/3]

template<bool IsMulti, bool IsMap, class Key, class T, class Clock, class Compare, class Allocator>
requires (!IsBoostReverseIterator<Iterator>::value)
template<bool IsConst, class Iterator>
requires (!IsBoostReverseIterator<Iterator>::value)
void beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >::touch ( beast::detail::AgedContainerIterator< IsConst, Iterator > pos,
clock_type::time_point const & now )
private

Definition at line 1722 of file aged_ordered_container.h.

◆ swapData() [1/2]

template<bool IsMulti, bool IsMap, class Key, class T, class Clock, class Compare, class Allocator>
requires MaybePropagate
template<bool MaybePropagate>
requires MaybePropagate
void beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >::swapData ( AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator > & other)
privatenoexcept

Definition at line 1736 of file aged_ordered_container.h.

◆ swapData() [2/2]

template<bool IsMulti, bool IsMap, class Key, class T, class Clock = std::chrono::steady_clock, class Compare = std::less<Key>, class Allocator = std::allocator<std::conditional_t<IsMap, std::pair<Key const, T>, Key>>>
template<bool MaybePropagate = std::allocator_traits<Allocator>::propagate_on_container_swap::value>
requires (!MaybePropagate)
void beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >::swapData ( AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator > & other)
privatenoexcept

◆ at() [3/3]

template<bool IsMulti, bool IsMap, class Key, class T, class Clock = std::chrono::steady_clock, class Compare = std::less<Key>, class Allocator = std::allocator<std::conditional_t<IsMap, std::pair<Key const, T>, Key>>>
template<class K, bool MaybeMulti, bool MaybeMap>
requires (MaybeMap && !MaybeMulti)
std::conditional< IsMap, T, void * >::type const & beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >::at ( K const & k) const

Definition at line 1360 of file aged_ordered_container.h.

Member Data Documentation

◆ chronological

template<bool IsMulti, bool IsMap, class Key, class T, class Clock = std::chrono::steady_clock, class Compare = std::less<Key>, class Allocator = std::allocator<std::conditional_t<IsMap, std::pair<Key const, T>, Key>>>
class beast::detail::AgedOrderedContainer::ChronologicalT beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >::chronological

◆ config_

template<bool IsMulti, bool IsMap, class Key, class T, class Clock = std::chrono::steady_clock, class Compare = std::less<Key>, class Allocator = std::allocator<std::conditional_t<IsMap, std::pair<Key const, T>, Key>>>
ConfigT beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >::config_
private

Definition at line 1140 of file aged_ordered_container.h.

◆ cont_

template<bool IsMulti, bool IsMap, class Key, class T, class Clock = std::chrono::steady_clock, class Compare = std::less<Key>, class Allocator = std::allocator<std::conditional_t<IsMap, std::pair<Key const, T>, Key>>>
cont_type beast::detail::AgedOrderedContainer< IsMulti, IsMap, Key, T, Clock, Compare, Allocator >::cont_
mutableprivate

Definition at line 1141 of file aged_ordered_container.h.