Iros
 
Loading...
Searching...
No Matches
di::container::MapInterface< Self, Value, Key, Val, Iterator, ConstIterator, ValidForLookup, is_multi > Class Template Reference

#include <di/container/associative/map_interface.h>

Public Member Functions

constexpr auto empty () const -> bool
 
constexpr void clear ()
 
constexpr auto operator[] (Key const &needle) -> decltype(auto) requires(!is_multi &&concepts::Clonable< Key > &&concepts::DefaultConstructible< Val >)
 
constexpr auto operator[] (Key &&needle) -> decltype(auto) requires(!is_multi &&concepts::DefaultConstructible< Val >)
 
template<typename K>
requires (!is_multi && concepts::CreatableFrom<Key, K> && concepts::DefaultConstructible<Val>)
constexpr auto operator[] (K &&needle) -> decltype(auto)
 
constexpr auto insert (Value const &value)
 
constexpr auto insert (Value &&value)
 
template<typename U>
requires (valid<U> && concepts::CreatableFrom<Value, U>)
constexpr auto insert (U &&value)
 
constexpr auto insert (ConstIterator hint, Value const &value)
 
constexpr auto insert (ConstIterator hint, Value &&value)
 
template<typename U>
requires (valid<U> && concepts::CreatableFrom<Value, U>)
constexpr auto insert (ConstIterator hint, U &&value)
 
template<typename U>
requires (!is_multi && concepts::Clonable<Key> && concepts::CreatableFrom<Val, U>)
constexpr auto insert_or_assign (Key const &needle, U &&value)
 
template<typename U>
requires (!is_multi && concepts::CreatableFrom<Val, U>)
constexpr auto insert_or_assign (Key &&needle, U &&value)
 
template<typename K, typename U>
requires (!is_multi && valid<K> && concepts::CreatableFrom<Key, K> && concepts::CreatableFrom<Val, U>)
constexpr auto insert_or_assign (K &&needle, U &&value)
 
template<typename U>
requires (!is_multi && concepts::Clonable<Key> && concepts::CreatableFrom<Val, U>)
constexpr auto insert_or_assign (ConstIterator hint, Key const &needle, U &&value)
 
template<typename U>
requires (!is_multi && concepts::CreatableFrom<Val, U>)
constexpr auto insert_or_assign (ConstIterator hint, Key &&needle, U &&value)
 
template<typename K, typename U>
requires (!is_multi && valid<K> && concepts::CreatableFrom<Key, K> && concepts::CreatableFrom<Val, U>)
constexpr auto insert_or_assign (ConstIterator, K &&needle, U &&value)
 
template<typename... Args>
requires (!is_multi && concepts::Clonable<Key> && concepts::CreatableFrom<Val, Args...>)
constexpr auto try_emplace (Key const &needle, Args &&... args)
 
template<typename... Args>
requires (!is_multi && concepts::CreatableFrom<Val, Args...>)
constexpr auto try_emplace (Key &&needle, Args &&... args)
 
template<typename K, typename... Args>
requires (!is_multi && concepts::CreatableFrom<Key, K> && concepts::CreatableFrom<Val, Args...>)
constexpr auto try_emplace (K &&needle, Args &&... args)
 
template<typename... Args>
requires (!is_multi && concepts::Clonable<Key> && concepts::CreatableFrom<Val, Args...>)
constexpr auto try_emplace (ConstIterator hint, Key const &needle, Args &&... args)
 
template<typename... Args>
requires (!is_multi && concepts::CreatableFrom<Val, Args...>)
constexpr auto try_emplace (ConstIterator hint, Key &&needle, Args &&... args)
 
template<typename K, typename... Args>
requires (!is_multi && concepts::CreatableFrom<Key, K> && concepts::CreatableFrom<Val, Args...>)
constexpr auto try_emplace (ConstIterator hint, K &&needle, Args &&... args)
 
template<typename... Args>
requires (concepts::ConstructibleFrom<Value, Args...>)
constexpr auto emplace (Args &&... args)
 
template<typename... Args>
requires (concepts::ConstructibleFrom<Value, Args...>)
constexpr auto emplace_hint (ConstIterator hint, Args &&... args)
 
template<concepts::ContainerCompatible< Value > Con>
constexpr auto insert_container (Con &&container)
 
template<concepts::ContainerCompatible< Value > Con>
constexpr void insert_container (ConstIterator hint, Con &&container)
 
constexpr auto merge (Self &self)
 
constexpr auto merge (Self &&self)
 
constexpr auto erase (Iterator position)
 
constexpr auto erase (Iterator first, Iterator last) -> Iterator
 
constexpr auto erase (Key const &needle) -> size_t
 
template<typename U>
requires (valid<U>)
constexpr auto erase (U &&needle) -> size_t
 
constexpr auto front () -> Optional< Value & >
 
constexpr auto front () const -> Optional< Value const & >
 
constexpr auto back () -> Optional< Value & >
 
constexpr auto back () const -> Optional< Value const & >
 
constexpr auto at (Key const &needle) -> Optional< Val & >
 
constexpr auto at (Key const &needle) const -> Optional< Val const & >
 
template<typename U>
requires (valid<U>)
constexpr auto at (U &&needle) -> Optional< Val & >
 
template<typename U>
requires (valid<U>)
constexpr auto at (U &&needle) const -> Optional< Val const & >
 
constexpr auto find (Key const &needle) -> Iterator
 
constexpr auto find (Key const &needle) const -> ConstIterator
 
template<typename U>
requires (valid<U>)
constexpr auto find (U &&needle) -> Iterator
 
template<typename U>
requires (valid<U>)
constexpr auto find (U &&needle) const -> ConstIterator
 
constexpr auto contains (Key const &needle) const -> bool
 
template<typename U>
requires (valid<U>)
constexpr auto contains (U &&needle) const -> bool
 
constexpr auto count (Key const &needle) const -> size_t
 
template<typename U>
requires (valid<U>)
constexpr auto count (U &&needle) const -> size_t
 
constexpr auto equal_range (Key const &needle)
 
template<typename U>
requires (valid<U>)
constexpr auto equal_range (U &&needle)
 
constexpr auto equal_range (Key const &needle) const
 
template<typename U>
requires (valid<U>)
constexpr auto equal_range (U &&needle) const
 
constexpr auto lower_bound (Key const &needle) -> Iterator requires(
 
constexpr auto lower_bound (Key const &needle) const -> ConstIterator requires(
 
template<typename U>
requires (valid<U>)
constexpr auto lower_bound (U &&needle) -> Iterator requires(
 
template<typename U>
requires (valid<U>)
constexpr auto lower_bound (U &&needle) const -> ConstIterator requires(
 
constexpr auto upper_bound (Key const &needle) -> Iterator requires(
 
constexpr auto upper_bound (Key const &needle) const -> ConstIterator requires(
 
template<typename U>
requires (valid<U>)
constexpr auto upper_bound (U &&needle) -> Iterator requires(
 
template<typename U>
requires (valid<U>)
constexpr auto upper_bound (U &&needle) const -> ConstIterator requires(
 

Friends

template<concepts::ContainerCompatible< Value > Con, typename... Args>
requires (concepts::ConstructibleFrom<Self, Args...>)
constexpr friend auto tag_invoke (types::Tag< util::create_in_place >, InPlaceType< Self >, Con &&container, Args &&... args)
 
template<typename F, SameAs< Tag< erase_if > > T = Tag<erase_if>>
requires (concepts::Predicate<F&, Value const&>)
constexpr friend auto tag_invoke (T, Self &self, F &&function) -> usize
 

Member Function Documentation

◆ at() [1/4]

template<typename Self, typename Value, typename Key, typename Val, typename Iterator, typename ConstIterator, template< typename > typename ValidForLookup, bool is_multi>
auto di::container::MapInterface< Self, Value, Key, Val, Iterator, ConstIterator, ValidForLookup, is_multi >::at ( Key const & needle) -> Optional<Val&>
inlineconstexpr

◆ at() [2/4]

template<typename Self, typename Value, typename Key, typename Val, typename Iterator, typename ConstIterator, template< typename > typename ValidForLookup, bool is_multi>
auto di::container::MapInterface< Self, Value, Key, Val, Iterator, ConstIterator, ValidForLookup, is_multi >::at ( Key const & needle) const -> Optional<Val const&>
inlineconstexpr

◆ at() [3/4]

template<typename Self, typename Value, typename Key, typename Val, typename Iterator, typename ConstIterator, template< typename > typename ValidForLookup, bool is_multi>
template<typename U>
requires (valid<U>)
auto di::container::MapInterface< Self, Value, Key, Val, Iterator, ConstIterator, ValidForLookup, is_multi >::at ( U && needle) -> Optional<Val&>
inlineconstexpr

◆ at() [4/4]

template<typename Self, typename Value, typename Key, typename Val, typename Iterator, typename ConstIterator, template< typename > typename ValidForLookup, bool is_multi>
template<typename U>
requires (valid<U>)
auto di::container::MapInterface< Self, Value, Key, Val, Iterator, ConstIterator, ValidForLookup, is_multi >::at ( U && needle) const -> Optional<Val const&>
inlineconstexpr

◆ back() [1/2]

template<typename Self, typename Value, typename Key, typename Val, typename Iterator, typename ConstIterator, template< typename > typename ValidForLookup, bool is_multi>
auto di::container::MapInterface< Self, Value, Key, Val, Iterator, ConstIterator, ValidForLookup, is_multi >::back ( ) -> Optional<Value&>
inlineconstexpr

◆ back() [2/2]

template<typename Self, typename Value, typename Key, typename Val, typename Iterator, typename ConstIterator, template< typename > typename ValidForLookup, bool is_multi>
auto di::container::MapInterface< Self, Value, Key, Val, Iterator, ConstIterator, ValidForLookup, is_multi >::back ( ) const -> Optional<Value const&>
inlineconstexpr

◆ clear()

template<typename Self, typename Value, typename Key, typename Val, typename Iterator, typename ConstIterator, template< typename > typename ValidForLookup, bool is_multi>
void di::container::MapInterface< Self, Value, Key, Val, Iterator, ConstIterator, ValidForLookup, is_multi >::clear ( )
inlineconstexpr

◆ contains() [1/2]

template<typename Self, typename Value, typename Key, typename Val, typename Iterator, typename ConstIterator, template< typename > typename ValidForLookup, bool is_multi>
auto di::container::MapInterface< Self, Value, Key, Val, Iterator, ConstIterator, ValidForLookup, is_multi >::contains ( Key const & needle) const -> bool
inlineconstexpr

◆ contains() [2/2]

template<typename Self, typename Value, typename Key, typename Val, typename Iterator, typename ConstIterator, template< typename > typename ValidForLookup, bool is_multi>
template<typename U>
requires (valid<U>)
auto di::container::MapInterface< Self, Value, Key, Val, Iterator, ConstIterator, ValidForLookup, is_multi >::contains ( U && needle) const -> bool
inlineconstexpr

◆ count() [1/2]

template<typename Self, typename Value, typename Key, typename Val, typename Iterator, typename ConstIterator, template< typename > typename ValidForLookup, bool is_multi>
auto di::container::MapInterface< Self, Value, Key, Val, Iterator, ConstIterator, ValidForLookup, is_multi >::count ( Key const & needle) const -> size_t
inlineconstexpr

◆ count() [2/2]

template<typename Self, typename Value, typename Key, typename Val, typename Iterator, typename ConstIterator, template< typename > typename ValidForLookup, bool is_multi>
template<typename U>
requires (valid<U>)
auto di::container::MapInterface< Self, Value, Key, Val, Iterator, ConstIterator, ValidForLookup, is_multi >::count ( U && needle) const -> size_t
inlineconstexpr

◆ emplace()

template<typename Self, typename Value, typename Key, typename Val, typename Iterator, typename ConstIterator, template< typename > typename ValidForLookup, bool is_multi>
template<typename... Args>
requires (concepts::ConstructibleFrom<Value, Args...>)
auto di::container::MapInterface< Self, Value, Key, Val, Iterator, ConstIterator, ValidForLookup, is_multi >::emplace ( Args &&... args)
inlineconstexpr

◆ emplace_hint()

template<typename Self, typename Value, typename Key, typename Val, typename Iterator, typename ConstIterator, template< typename > typename ValidForLookup, bool is_multi>
template<typename... Args>
requires (concepts::ConstructibleFrom<Value, Args...>)
auto di::container::MapInterface< Self, Value, Key, Val, Iterator, ConstIterator, ValidForLookup, is_multi >::emplace_hint ( ConstIterator hint,
Args &&... args )
inlineconstexpr

◆ empty()

template<typename Self, typename Value, typename Key, typename Val, typename Iterator, typename ConstIterator, template< typename > typename ValidForLookup, bool is_multi>
auto di::container::MapInterface< Self, Value, Key, Val, Iterator, ConstIterator, ValidForLookup, is_multi >::empty ( ) const -> bool
inlineconstexpr

◆ equal_range() [1/4]

template<typename Self, typename Value, typename Key, typename Val, typename Iterator, typename ConstIterator, template< typename > typename ValidForLookup, bool is_multi>
auto di::container::MapInterface< Self, Value, Key, Val, Iterator, ConstIterator, ValidForLookup, is_multi >::equal_range ( Key const & needle)
inlineconstexpr

◆ equal_range() [2/4]

template<typename Self, typename Value, typename Key, typename Val, typename Iterator, typename ConstIterator, template< typename > typename ValidForLookup, bool is_multi>
auto di::container::MapInterface< Self, Value, Key, Val, Iterator, ConstIterator, ValidForLookup, is_multi >::equal_range ( Key const & needle) const
inlineconstexpr

◆ equal_range() [3/4]

template<typename Self, typename Value, typename Key, typename Val, typename Iterator, typename ConstIterator, template< typename > typename ValidForLookup, bool is_multi>
template<typename U>
requires (valid<U>)
auto di::container::MapInterface< Self, Value, Key, Val, Iterator, ConstIterator, ValidForLookup, is_multi >::equal_range ( U && needle)
inlineconstexpr

◆ equal_range() [4/4]

template<typename Self, typename Value, typename Key, typename Val, typename Iterator, typename ConstIterator, template< typename > typename ValidForLookup, bool is_multi>
template<typename U>
requires (valid<U>)
auto di::container::MapInterface< Self, Value, Key, Val, Iterator, ConstIterator, ValidForLookup, is_multi >::equal_range ( U && needle) const
inlineconstexpr

◆ erase() [1/4]

template<typename Self, typename Value, typename Key, typename Val, typename Iterator, typename ConstIterator, template< typename > typename ValidForLookup, bool is_multi>
auto di::container::MapInterface< Self, Value, Key, Val, Iterator, ConstIterator, ValidForLookup, is_multi >::erase ( Iterator first,
Iterator last ) -> Iterator
inlineconstexpr

◆ erase() [2/4]

template<typename Self, typename Value, typename Key, typename Val, typename Iterator, typename ConstIterator, template< typename > typename ValidForLookup, bool is_multi>
auto di::container::MapInterface< Self, Value, Key, Val, Iterator, ConstIterator, ValidForLookup, is_multi >::erase ( Iterator position)
inlineconstexpr

◆ erase() [3/4]

template<typename Self, typename Value, typename Key, typename Val, typename Iterator, typename ConstIterator, template< typename > typename ValidForLookup, bool is_multi>
auto di::container::MapInterface< Self, Value, Key, Val, Iterator, ConstIterator, ValidForLookup, is_multi >::erase ( Key const & needle) -> size_t
inlineconstexpr

◆ erase() [4/4]

template<typename Self, typename Value, typename Key, typename Val, typename Iterator, typename ConstIterator, template< typename > typename ValidForLookup, bool is_multi>
template<typename U>
requires (valid<U>)
auto di::container::MapInterface< Self, Value, Key, Val, Iterator, ConstIterator, ValidForLookup, is_multi >::erase ( U && needle) -> size_t
inlineconstexpr

◆ find() [1/4]

template<typename Self, typename Value, typename Key, typename Val, typename Iterator, typename ConstIterator, template< typename > typename ValidForLookup, bool is_multi>
auto di::container::MapInterface< Self, Value, Key, Val, Iterator, ConstIterator, ValidForLookup, is_multi >::find ( Key const & needle) -> Iterator
inlineconstexpr

◆ find() [2/4]

template<typename Self, typename Value, typename Key, typename Val, typename Iterator, typename ConstIterator, template< typename > typename ValidForLookup, bool is_multi>
auto di::container::MapInterface< Self, Value, Key, Val, Iterator, ConstIterator, ValidForLookup, is_multi >::find ( Key const & needle) const -> ConstIterator
inlineconstexpr

◆ find() [3/4]

template<typename Self, typename Value, typename Key, typename Val, typename Iterator, typename ConstIterator, template< typename > typename ValidForLookup, bool is_multi>
template<typename U>
requires (valid<U>)
auto di::container::MapInterface< Self, Value, Key, Val, Iterator, ConstIterator, ValidForLookup, is_multi >::find ( U && needle) -> Iterator
inlineconstexpr

◆ find() [4/4]

template<typename Self, typename Value, typename Key, typename Val, typename Iterator, typename ConstIterator, template< typename > typename ValidForLookup, bool is_multi>
template<typename U>
requires (valid<U>)
auto di::container::MapInterface< Self, Value, Key, Val, Iterator, ConstIterator, ValidForLookup, is_multi >::find ( U && needle) const -> ConstIterator
inlineconstexpr

◆ front() [1/2]

template<typename Self, typename Value, typename Key, typename Val, typename Iterator, typename ConstIterator, template< typename > typename ValidForLookup, bool is_multi>
auto di::container::MapInterface< Self, Value, Key, Val, Iterator, ConstIterator, ValidForLookup, is_multi >::front ( ) -> Optional<Value&>
inlineconstexpr

◆ front() [2/2]

template<typename Self, typename Value, typename Key, typename Val, typename Iterator, typename ConstIterator, template< typename > typename ValidForLookup, bool is_multi>
auto di::container::MapInterface< Self, Value, Key, Val, Iterator, ConstIterator, ValidForLookup, is_multi >::front ( ) const -> Optional<Value const&>
inlineconstexpr

◆ insert() [1/6]

template<typename Self, typename Value, typename Key, typename Val, typename Iterator, typename ConstIterator, template< typename > typename ValidForLookup, bool is_multi>
template<typename U>
requires (valid<U> && concepts::CreatableFrom<Value, U>)
auto di::container::MapInterface< Self, Value, Key, Val, Iterator, ConstIterator, ValidForLookup, is_multi >::insert ( ConstIterator hint,
U && value )
inlineconstexpr

◆ insert() [2/6]

template<typename Self, typename Value, typename Key, typename Val, typename Iterator, typename ConstIterator, template< typename > typename ValidForLookup, bool is_multi>
auto di::container::MapInterface< Self, Value, Key, Val, Iterator, ConstIterator, ValidForLookup, is_multi >::insert ( ConstIterator hint,
Value && value )
inlineconstexpr

◆ insert() [3/6]

template<typename Self, typename Value, typename Key, typename Val, typename Iterator, typename ConstIterator, template< typename > typename ValidForLookup, bool is_multi>
auto di::container::MapInterface< Self, Value, Key, Val, Iterator, ConstIterator, ValidForLookup, is_multi >::insert ( ConstIterator hint,
Value const & value )
inlineconstexpr

◆ insert() [4/6]

template<typename Self, typename Value, typename Key, typename Val, typename Iterator, typename ConstIterator, template< typename > typename ValidForLookup, bool is_multi>
template<typename U>
requires (valid<U> && concepts::CreatableFrom<Value, U>)
auto di::container::MapInterface< Self, Value, Key, Val, Iterator, ConstIterator, ValidForLookup, is_multi >::insert ( U && value)
inlineconstexpr

◆ insert() [5/6]

template<typename Self, typename Value, typename Key, typename Val, typename Iterator, typename ConstIterator, template< typename > typename ValidForLookup, bool is_multi>
auto di::container::MapInterface< Self, Value, Key, Val, Iterator, ConstIterator, ValidForLookup, is_multi >::insert ( Value && value)
inlineconstexpr

◆ insert() [6/6]

template<typename Self, typename Value, typename Key, typename Val, typename Iterator, typename ConstIterator, template< typename > typename ValidForLookup, bool is_multi>
auto di::container::MapInterface< Self, Value, Key, Val, Iterator, ConstIterator, ValidForLookup, is_multi >::insert ( Value const & value)
inlineconstexpr

◆ insert_container() [1/2]

template<typename Self, typename Value, typename Key, typename Val, typename Iterator, typename ConstIterator, template< typename > typename ValidForLookup, bool is_multi>
template<concepts::ContainerCompatible< Value > Con>
auto di::container::MapInterface< Self, Value, Key, Val, Iterator, ConstIterator, ValidForLookup, is_multi >::insert_container ( Con && container)
inlineconstexpr

◆ insert_container() [2/2]

template<typename Self, typename Value, typename Key, typename Val, typename Iterator, typename ConstIterator, template< typename > typename ValidForLookup, bool is_multi>
template<concepts::ContainerCompatible< Value > Con>
void di::container::MapInterface< Self, Value, Key, Val, Iterator, ConstIterator, ValidForLookup, is_multi >::insert_container ( ConstIterator hint,
Con && container )
inlineconstexpr

◆ insert_or_assign() [1/6]

template<typename Self, typename Value, typename Key, typename Val, typename Iterator, typename ConstIterator, template< typename > typename ValidForLookup, bool is_multi>
template<typename U>
requires (!is_multi && concepts::CreatableFrom<Val, U>)
auto di::container::MapInterface< Self, Value, Key, Val, Iterator, ConstIterator, ValidForLookup, is_multi >::insert_or_assign ( ConstIterator hint,
Key && needle,
U && value )
inlineconstexpr

◆ insert_or_assign() [2/6]

template<typename Self, typename Value, typename Key, typename Val, typename Iterator, typename ConstIterator, template< typename > typename ValidForLookup, bool is_multi>
template<typename U>
requires (!is_multi && concepts::Clonable<Key> && concepts::CreatableFrom<Val, U>)
auto di::container::MapInterface< Self, Value, Key, Val, Iterator, ConstIterator, ValidForLookup, is_multi >::insert_or_assign ( ConstIterator hint,
Key const & needle,
U && value )
inlineconstexpr

◆ insert_or_assign() [3/6]

template<typename Self, typename Value, typename Key, typename Val, typename Iterator, typename ConstIterator, template< typename > typename ValidForLookup, bool is_multi>
template<typename K, typename U>
requires (!is_multi && valid<K> && concepts::CreatableFrom<Key, K> && concepts::CreatableFrom<Val, U>)
auto di::container::MapInterface< Self, Value, Key, Val, Iterator, ConstIterator, ValidForLookup, is_multi >::insert_or_assign ( ConstIterator ,
K && needle,
U && value )
inlineconstexpr

◆ insert_or_assign() [4/6]

template<typename Self, typename Value, typename Key, typename Val, typename Iterator, typename ConstIterator, template< typename > typename ValidForLookup, bool is_multi>
template<typename K, typename U>
requires (!is_multi && valid<K> && concepts::CreatableFrom<Key, K> && concepts::CreatableFrom<Val, U>)
auto di::container::MapInterface< Self, Value, Key, Val, Iterator, ConstIterator, ValidForLookup, is_multi >::insert_or_assign ( K && needle,
U && value )
inlineconstexpr

◆ insert_or_assign() [5/6]

template<typename Self, typename Value, typename Key, typename Val, typename Iterator, typename ConstIterator, template< typename > typename ValidForLookup, bool is_multi>
template<typename U>
requires (!is_multi && concepts::CreatableFrom<Val, U>)
auto di::container::MapInterface< Self, Value, Key, Val, Iterator, ConstIterator, ValidForLookup, is_multi >::insert_or_assign ( Key && needle,
U && value )
inlineconstexpr

◆ insert_or_assign() [6/6]

template<typename Self, typename Value, typename Key, typename Val, typename Iterator, typename ConstIterator, template< typename > typename ValidForLookup, bool is_multi>
template<typename U>
requires (!is_multi && concepts::Clonable<Key> && concepts::CreatableFrom<Val, U>)
auto di::container::MapInterface< Self, Value, Key, Val, Iterator, ConstIterator, ValidForLookup, is_multi >::insert_or_assign ( Key const & needle,
U && value )
inlineconstexpr

◆ lower_bound() [1/4]

template<typename Self, typename Value, typename Key, typename Val, typename Iterator, typename ConstIterator, template< typename > typename ValidForLookup, bool is_multi>
auto di::container::MapInterface< Self, Value, Key, Val, Iterator, ConstIterator, ValidForLookup, is_multi >::lower_bound ( Key const & needle) -> Iterator requires(
inlineconstexpr

◆ lower_bound() [2/4]

template<typename Self, typename Value, typename Key, typename Val, typename Iterator, typename ConstIterator, template< typename > typename ValidForLookup, bool is_multi>
auto di::container::MapInterface< Self, Value, Key, Val, Iterator, ConstIterator, ValidForLookup, is_multi >::lower_bound ( Key const & needle) const -> ConstIterator requires(
inlineconstexpr

◆ lower_bound() [3/4]

template<typename Self, typename Value, typename Key, typename Val, typename Iterator, typename ConstIterator, template< typename > typename ValidForLookup, bool is_multi>
template<typename U>
requires (valid<U>)
auto di::container::MapInterface< Self, Value, Key, Val, Iterator, ConstIterator, ValidForLookup, is_multi >::lower_bound ( U && needle) -> Iterator requires(
inlineconstexpr

◆ lower_bound() [4/4]

template<typename Self, typename Value, typename Key, typename Val, typename Iterator, typename ConstIterator, template< typename > typename ValidForLookup, bool is_multi>
template<typename U>
requires (valid<U>)
auto di::container::MapInterface< Self, Value, Key, Val, Iterator, ConstIterator, ValidForLookup, is_multi >::lower_bound ( U && needle) const -> ConstIterator requires(
inlineconstexpr

◆ merge() [1/2]

template<typename Self, typename Value, typename Key, typename Val, typename Iterator, typename ConstIterator, template< typename > typename ValidForLookup, bool is_multi>
auto di::container::MapInterface< Self, Value, Key, Val, Iterator, ConstIterator, ValidForLookup, is_multi >::merge ( Self && self)
inlineconstexpr

◆ merge() [2/2]

template<typename Self, typename Value, typename Key, typename Val, typename Iterator, typename ConstIterator, template< typename > typename ValidForLookup, bool is_multi>
auto di::container::MapInterface< Self, Value, Key, Val, Iterator, ConstIterator, ValidForLookup, is_multi >::merge ( Self & self)
inlineconstexpr

◆ operator[]() [1/3]

template<typename Self, typename Value, typename Key, typename Val, typename Iterator, typename ConstIterator, template< typename > typename ValidForLookup, bool is_multi>
template<typename K>
requires (!is_multi && concepts::CreatableFrom<Key, K> && concepts::DefaultConstructible<Val>)
auto di::container::MapInterface< Self, Value, Key, Val, Iterator, ConstIterator, ValidForLookup, is_multi >::operator[] ( K && needle) -> decltype(auto)
inlineconstexpr

◆ operator[]() [2/3]

template<typename Self, typename Value, typename Key, typename Val, typename Iterator, typename ConstIterator, template< typename > typename ValidForLookup, bool is_multi>
auto di::container::MapInterface< Self, Value, Key, Val, Iterator, ConstIterator, ValidForLookup, is_multi >::operator[] ( Key && needle) -> decltype(auto) requires(!is_multi && concepts::DefaultConstructible<Val>)
inlineconstexpr

◆ operator[]() [3/3]

template<typename Self, typename Value, typename Key, typename Val, typename Iterator, typename ConstIterator, template< typename > typename ValidForLookup, bool is_multi>
auto di::container::MapInterface< Self, Value, Key, Val, Iterator, ConstIterator, ValidForLookup, is_multi >::operator[] ( Key const & needle) -> decltype(auto) requires(!is_multi && concepts::Clonable<Key> && concepts::DefaultConstructible<Val>)
inlineconstexpr

◆ try_emplace() [1/6]

template<typename Self, typename Value, typename Key, typename Val, typename Iterator, typename ConstIterator, template< typename > typename ValidForLookup, bool is_multi>
template<typename K, typename... Args>
requires (!is_multi && concepts::CreatableFrom<Key, K> && concepts::CreatableFrom<Val, Args...>)
auto di::container::MapInterface< Self, Value, Key, Val, Iterator, ConstIterator, ValidForLookup, is_multi >::try_emplace ( ConstIterator hint,
K && needle,
Args &&... args )
inlineconstexpr

◆ try_emplace() [2/6]

template<typename Self, typename Value, typename Key, typename Val, typename Iterator, typename ConstIterator, template< typename > typename ValidForLookup, bool is_multi>
template<typename... Args>
requires (!is_multi && concepts::CreatableFrom<Val, Args...>)
auto di::container::MapInterface< Self, Value, Key, Val, Iterator, ConstIterator, ValidForLookup, is_multi >::try_emplace ( ConstIterator hint,
Key && needle,
Args &&... args )
inlineconstexpr

◆ try_emplace() [3/6]

template<typename Self, typename Value, typename Key, typename Val, typename Iterator, typename ConstIterator, template< typename > typename ValidForLookup, bool is_multi>
template<typename... Args>
requires (!is_multi && concepts::Clonable<Key> && concepts::CreatableFrom<Val, Args...>)
auto di::container::MapInterface< Self, Value, Key, Val, Iterator, ConstIterator, ValidForLookup, is_multi >::try_emplace ( ConstIterator hint,
Key const & needle,
Args &&... args )
inlineconstexpr

◆ try_emplace() [4/6]

template<typename Self, typename Value, typename Key, typename Val, typename Iterator, typename ConstIterator, template< typename > typename ValidForLookup, bool is_multi>
template<typename K, typename... Args>
requires (!is_multi && concepts::CreatableFrom<Key, K> && concepts::CreatableFrom<Val, Args...>)
auto di::container::MapInterface< Self, Value, Key, Val, Iterator, ConstIterator, ValidForLookup, is_multi >::try_emplace ( K && needle,
Args &&... args )
inlineconstexpr

◆ try_emplace() [5/6]

template<typename Self, typename Value, typename Key, typename Val, typename Iterator, typename ConstIterator, template< typename > typename ValidForLookup, bool is_multi>
template<typename... Args>
requires (!is_multi && concepts::CreatableFrom<Val, Args...>)
auto di::container::MapInterface< Self, Value, Key, Val, Iterator, ConstIterator, ValidForLookup, is_multi >::try_emplace ( Key && needle,
Args &&... args )
inlineconstexpr

◆ try_emplace() [6/6]

template<typename Self, typename Value, typename Key, typename Val, typename Iterator, typename ConstIterator, template< typename > typename ValidForLookup, bool is_multi>
template<typename... Args>
requires (!is_multi && concepts::Clonable<Key> && concepts::CreatableFrom<Val, Args...>)
auto di::container::MapInterface< Self, Value, Key, Val, Iterator, ConstIterator, ValidForLookup, is_multi >::try_emplace ( Key const & needle,
Args &&... args )
inlineconstexpr

◆ upper_bound() [1/4]

template<typename Self, typename Value, typename Key, typename Val, typename Iterator, typename ConstIterator, template< typename > typename ValidForLookup, bool is_multi>
auto di::container::MapInterface< Self, Value, Key, Val, Iterator, ConstIterator, ValidForLookup, is_multi >::upper_bound ( Key const & needle) -> Iterator requires(
inlineconstexpr

◆ upper_bound() [2/4]

template<typename Self, typename Value, typename Key, typename Val, typename Iterator, typename ConstIterator, template< typename > typename ValidForLookup, bool is_multi>
auto di::container::MapInterface< Self, Value, Key, Val, Iterator, ConstIterator, ValidForLookup, is_multi >::upper_bound ( Key const & needle) const -> ConstIterator requires(
inlineconstexpr

◆ upper_bound() [3/4]

template<typename Self, typename Value, typename Key, typename Val, typename Iterator, typename ConstIterator, template< typename > typename ValidForLookup, bool is_multi>
template<typename U>
requires (valid<U>)
auto di::container::MapInterface< Self, Value, Key, Val, Iterator, ConstIterator, ValidForLookup, is_multi >::upper_bound ( U && needle) -> Iterator requires(
inlineconstexpr

◆ upper_bound() [4/4]

template<typename Self, typename Value, typename Key, typename Val, typename Iterator, typename ConstIterator, template< typename > typename ValidForLookup, bool is_multi>
template<typename U>
requires (valid<U>)
auto di::container::MapInterface< Self, Value, Key, Val, Iterator, ConstIterator, ValidForLookup, is_multi >::upper_bound ( U && needle) const -> ConstIterator requires(
inlineconstexpr

Friends And Related Symbol Documentation

◆ tag_invoke [1/2]

template<typename Self, typename Value, typename Key, typename Val, typename Iterator, typename ConstIterator, template< typename > typename ValidForLookup, bool is_multi>
template<typename F, SameAs< Tag< erase_if > > T = Tag<erase_if>>
requires (concepts::Predicate<F&, Value const&>)
friend auto tag_invoke ( T ,
Self & self,
F && function ) -> usize
friend

◆ tag_invoke [2/2]

template<typename Self, typename Value, typename Key, typename Val, typename Iterator, typename ConstIterator, template< typename > typename ValidForLookup, bool is_multi>
template<concepts::ContainerCompatible< Value > Con, typename... Args>
requires (concepts::ConstructibleFrom<Self, Args...>)
friend auto tag_invoke ( types::Tag< util::create_in_place > ,
InPlaceType< Self > ,
Con && container,
Args &&... args )
friend

The documentation for this class was generated from the following file: