UFO 1.0.0
An Efficient Probabilistic 3D Mapping Framework That Embraces the Unknown
Loading...
Searching...
No Matches
ufo::RangeMap< Key, T > Class Template Reference

Classes

struct  value_compare
 

Public Types

using allocator_type = typename std::vector< value_type >::allocator_type
 
using const_iterator = typename std::vector< value_type >::const_iterator
 
using const_pointer = typename std::vector< value_type >::const_pointer
 
using const_reference = typename std::vector< value_type >::const_reference
 
using const_reverse_iterator = typename std::vector< value_type >::const_reverse_iterator
 
using difference_type = typename std::vector< value_type >::difference_type
 
using iterator = typename std::vector< value_type >::iterator
 
using key_compare = typename key_type::Comparator
 
using key_type = Range< Key >
 
using mapped_type = T
 
using pointer = typename std::vector< value_type >::pointer
 
using reference = typename std::vector< value_type >::reference
 
using reverse_iterator = typename std::vector< value_type >::reverse_iterator
 
using size_type = typename std::vector< value_type >::size_type
 
using value_type = std::pair< key_type, mapped_type >
 

Public Member Functions

template<class InputIt , typename = std::enable_if_t<std::is_base_of_v< std::input_iterator_tag, typename std::iterator_traits<InputIt>::iterator_category>>>
 RangeMap (InputIt first, InputIt last)
 
 RangeMap (RangeMap &&other)
 
 RangeMap (RangeMap const &other)
 
template<typename Key2 >
 RangeMap (RangeMap< Key2, T > const &other)
 
 RangeMap (std::initializer_list< value_type > init)
 
const_iterator begin () const noexcept
 
iterator begin () noexcept
 
const_iterator cbegin () const noexcept
 
const_iterator cend () const noexcept
 
void clear () noexcept
 
template<typename K , typename = std::enable_if_t<std::is_arithmetic_v<K>>>
bool contains (K key) const
 
template<typename K , typename = std::enable_if_t<std::is_arithmetic_v<K>>>
bool contains (K lower, K upper) const
 
bool contains (key_type key) const
 
template<typename Key2 >
bool contains (Range< Key2 > key) const
 
template<typename K , typename = std::enable_if_t<std::is_arithmetic_v<K>>>
size_type count (K key)
 
template<typename K , typename = std::enable_if_t<std::is_arithmetic_v<K>>>
size_type count (K lower, K upper)
 
size_type count (key_type key) const
 
template<typename Key2 >
size_type count (Range< Key2 > key)
 
const_reverse_iterator crbegin () const noexcept
 
const_reverse_iterator crend () const noexcept
 
template<class... Args>
std::pair< iterator, bool > emplace (Args &&... args)
 
template<class... Args>
iterator emplace_hint (const_iterator hint, Args &&... args)
 
bool empty () const noexcept
 
const_iterator end () const noexcept
 
iterator end () noexcept
 
template<typename K , typename = std::enable_if_t<std::is_arithmetic_v<K>>>
std::pair< iterator, iterator > equal_range (K key)
 
template<typename K , typename = std::enable_if_t<std::is_arithmetic_v<K>>>
std::pair< const_iterator, const_iterator > equal_range (K key) const
 
template<typename K , typename = std::enable_if_t<std::is_arithmetic_v<K>>>
std::pair< iterator, iterator > equal_range (K lower, K upper)
 
template<typename K , typename = std::enable_if_t<std::is_arithmetic_v<K>>>
std::pair< const_iterator, const_iterator > equal_range (K lower, K upper) const
 
std::pair< iterator, iterator > equal_range (key_type key)
 
std::pair< const_iterator, const_iterator > equal_range (key_type key) const
 
template<typename Key2 >
std::pair< iterator, iterator > equal_range (Range< Key2 > key)
 
template<typename Key2 >
std::pair< const_iterator, const_iterator > equal_range (Range< Key2 > key) const
 
iterator erase (const_iterator first, const_iterator last)
 
iterator erase (const_iterator pos)
 
template<typename K , typename = std::enable_if_t<std::is_arithmetic_v<K>>>
size_type erase (K key)
 
template<typename K , typename = std::enable_if_t<std::is_arithmetic_v<K>>>
size_type erase (K lower, K upper)
 
size_type erase (key_type key)
 
template<typename Key2 >
size_type erase (Range< Key2 > key)
 
template<typename K , typename = std::enable_if_t<std::is_arithmetic_v<K>>>
iterator find (K key)
 
template<typename K , typename = std::enable_if_t<std::is_arithmetic_v<K>>>
const_iterator find (K key) const
 
template<typename K , typename = std::enable_if_t<std::is_arithmetic_v<K>>>
iterator find (K lower, K upper)
 
template<typename K , typename = std::enable_if_t<std::is_arithmetic_v<K>>>
const_iterator find (K lower, K upper) const
 
iterator find (key_type key)
 
const_iterator find (key_type key) const
 
template<typename Key2 >
iterator find (Range< Key2 > key)
 
template<typename Key2 >
const_iterator find (Range< Key2 > key) const
 
template<typename K , typename = std::enable_if_t<std::is_arithmetic_v<K>>>
T const & get (K key)
 
allocator_type get_allocator () const noexcept
 
template<class P >
iterator insert (const_iterator hint, P &&value)
 
iterator insert (const_iterator hint, value_type &&value)
 
iterator insert (const_iterator hint, value_type const &value)
 
template<class InputIt , typename = std::enable_if_t<std::is_base_of_v< std::input_iterator_tag, typename std::iterator_traits<InputIt>::iterator_category>>>
void insert (InputIt first, InputIt last)
 
template<class P , typename = std::enable_if_t<std::is_constructible_v<value_type, P&&>>>
std::pair< iterator, bool > insert (P &&value)
 
void insert (std::initializer_list< value_type > ilist)
 
std::pair< iterator, bool > insert (value_type &&value)
 
std::pair< iterator, bool > insert (value_type const &value)
 
template<class M >
iterator insert_or_assign (const_iterator hint, key_type key, M &&obj)
 
template<class M >
std::pair< iterator, bool > insert_or_assign (key_type key, M &&obj)
 
key_compare key_comp () const
 
template<typename K , typename = std::enable_if_t<std::is_arithmetic_v<K>>>
iterator lower_bound (K key)
 
template<typename K , typename = std::enable_if_t<std::is_arithmetic_v<K>>>
const_iterator lower_bound (K key) const
 
template<typename K , typename = std::enable_if_t<std::is_arithmetic_v<K>>>
iterator lower_bound (K lower, K upper)
 
template<typename K , typename = std::enable_if_t<std::is_arithmetic_v<K>>>
const_iterator lower_bound (K lower, K upper) const
 
iterator lower_bound (key_type key)
 
const_iterator lower_bound (key_type key) const
 
template<typename Key2 >
iterator lower_bound (Range< Key2 > key)
 
template<typename Key2 >
const_iterator lower_bound (Range< Key2 > key) const
 
size_type max_size () const noexcept
 
size_type numRanges () const noexcept
 
template<typename Key2 = Key>
std::enable_if_t< std::is_integral_v< Key2 >, size_type > numValues () const
 
RangeMapoperator= (RangeMap &&other)
 
RangeMapoperator= (RangeMap const &other)
 
template<typename Key2 >
RangeMapoperator= (RangeMap< Key2, T > const &other)
 
RangeMapoperator= (std::initializer_list< value_type > ilist)
 
const_reverse_iterator rbegin () const noexcept
 
reverse_iterator rbegin () noexcept
 
const_reverse_iterator rend () const noexcept
 
reverse_iterator rend () noexcept
 
size_type size () const noexcept
 
void swap (RangeMap &other) noexcept(std::allocator_traits< allocator_type >::is_always_equal::value &&std::is_nothrow_move_assignable< value_compare >::value)
 
template<class... Args>
iterator try_emplace (const_iterator hint, key_type k, Args &&... args)
 
template<class... Args>
std::pair< iterator, bool > try_emplace (key_type k, Args &&... args)
 
template<typename K , typename = std::enable_if_t<std::is_arithmetic_v<K>>>
iterator upper_bound (K key)
 
template<typename K , typename = std::enable_if_t<std::is_arithmetic_v<K>>>
iterator upper_bound (K lower, K upper)
 
template<typename K , typename = std::enable_if_t<std::is_arithmetic_v<K>>>
const_iterator upper_bound (K lower, K upper) const
 
template<typename K , typename = std::enable_if_t<std::is_arithmetic_v<K>>>
const_iterator upper_bound (K value) const
 
iterator upper_bound (key_type key)
 
const_iterator upper_bound (key_type key) const
 
template<typename Key2 >
iterator upper_bound (Range< Key2 > key)
 
template<typename Key2 >
const_iterator upper_bound (Range< Key2 > key) const
 
value_compare value_comp () const
 

Static Protected Member Functions

static constexpr Key decrement (Key value)
 
static constexpr Key increment (Key value)
 

Protected Attributes

value_compare comp_
 
std::vector< value_type > ranges_
 

Friends

template<typename K , typename M , class Pred >
size_type erase_if (RangeMap< K, M > &range_set, Pred pred)
 
template<typename K , typename M >
bool operator!= (RangeMap< K, M > const &lhs, RangeMap< K, M > const &rhs)
 
template<typename K , typename M >
bool operator< (RangeMap< K, M > const &lhs, RangeMap< K, M > const &rhs)
 
template<typename K , typename M >
std::ostream & operator<< (std::ostream &os, RangeMap< K, M > const &range_map)
 
template<typename K , typename M >
bool operator<= (RangeMap< K, M > const &lhs, RangeMap< K, M > const &rhs)
 
template<typename K , typename M >
bool operator== (RangeMap< K, M > const &lhs, RangeMap< K, M > const &rhs)
 
template<typename K , typename M >
bool operator> (RangeMap< K, M > const &lhs, RangeMap< K, M > const &rhs)
 
template<typename K , typename M >
bool operator>= (RangeMap< K, M > const &lhs, RangeMap< K, M > const &rhs)
 
template<typename K , typename M >
void swap (RangeMap< K, M > &lhs, RangeMap< K, M > &rhs) noexcept(noexcept(lhs.swap(rhs)))
 

Detailed Description

template<typename Key, typename T>
class ufo::RangeMap< Key, T >

Definition at line 51 of file range_map.hpp.

Member Typedef Documentation

◆ allocator_type

template<typename Key , typename T >
using ufo::RangeMap< Key, T >::allocator_type = typename std::vector<value_type>::allocator_type

Definition at line 68 of file range_map.hpp.

◆ const_iterator

template<typename Key , typename T >
using ufo::RangeMap< Key, T >::const_iterator = typename std::vector<value_type>::const_iterator

Definition at line 74 of file range_map.hpp.

◆ const_pointer

template<typename Key , typename T >
using ufo::RangeMap< Key, T >::const_pointer = typename std::vector<value_type>::const_pointer

Definition at line 72 of file range_map.hpp.

◆ const_reference

template<typename Key , typename T >
using ufo::RangeMap< Key, T >::const_reference = typename std::vector<value_type>::const_reference

Definition at line 70 of file range_map.hpp.

◆ const_reverse_iterator

template<typename Key , typename T >
using ufo::RangeMap< Key, T >::const_reverse_iterator = typename std::vector<value_type>::const_reverse_iterator

Definition at line 76 of file range_map.hpp.

◆ difference_type

template<typename Key , typename T >
using ufo::RangeMap< Key, T >::difference_type = typename std::vector<value_type>::difference_type

Definition at line 66 of file range_map.hpp.

◆ iterator

template<typename Key , typename T >
using ufo::RangeMap< Key, T >::iterator = typename std::vector<value_type>::iterator

Definition at line 73 of file range_map.hpp.

◆ key_compare

template<typename Key , typename T >
using ufo::RangeMap< Key, T >::key_compare = typename key_type::Comparator

Definition at line 67 of file range_map.hpp.

◆ key_type

template<typename Key , typename T >
using ufo::RangeMap< Key, T >::key_type = Range<Key>

Definition at line 60 of file range_map.hpp.

◆ mapped_type

template<typename Key , typename T >
using ufo::RangeMap< Key, T >::mapped_type = T

Definition at line 61 of file range_map.hpp.

◆ pointer

template<typename Key , typename T >
using ufo::RangeMap< Key, T >::pointer = typename std::vector<value_type>::pointer

Definition at line 71 of file range_map.hpp.

◆ reference

template<typename Key , typename T >
using ufo::RangeMap< Key, T >::reference = typename std::vector<value_type>::reference

Definition at line 69 of file range_map.hpp.

◆ reverse_iterator

template<typename Key , typename T >
using ufo::RangeMap< Key, T >::reverse_iterator = typename std::vector<value_type>::reverse_iterator

Definition at line 75 of file range_map.hpp.

◆ size_type

template<typename Key , typename T >
using ufo::RangeMap< Key, T >::size_type = typename std::vector<value_type>::size_type

Definition at line 65 of file range_map.hpp.

◆ value_type

template<typename Key , typename T >
using ufo::RangeMap< Key, T >::value_type = std::pair<key_type, mapped_type>

Definition at line 64 of file range_map.hpp.

Constructor & Destructor Documentation

◆ RangeMap() [1/6]

template<typename Key , typename T >
ufo::RangeMap< Key, T >::RangeMap ( )
inline

Definition at line 113 of file range_map.hpp.

◆ RangeMap() [2/6]

template<typename Key , typename T >
template<class InputIt , typename = std::enable_if_t<std::is_base_of_v< std::input_iterator_tag, typename std::iterator_traits<InputIt>::iterator_category>>>
ufo::RangeMap< Key, T >::RangeMap ( InputIt  first,
InputIt  last 
)
inline

Definition at line 119 of file range_map.hpp.

◆ RangeMap() [3/6]

template<typename Key , typename T >
ufo::RangeMap< Key, T >::RangeMap ( RangeMap< Key, T > const &  other)
inline

Definition at line 124 of file range_map.hpp.

◆ RangeMap() [4/6]

template<typename Key , typename T >
template<typename Key2 >
ufo::RangeMap< Key, T >::RangeMap ( RangeMap< Key2, T > const &  other)
inline

Definition at line 127 of file range_map.hpp.

◆ RangeMap() [5/6]

template<typename Key , typename T >
ufo::RangeMap< Key, T >::RangeMap ( RangeMap< Key, T > &&  other)
inline

Definition at line 133 of file range_map.hpp.

◆ RangeMap() [6/6]

template<typename Key , typename T >
ufo::RangeMap< Key, T >::RangeMap ( std::initializer_list< value_type >  init)
inline

Definition at line 135 of file range_map.hpp.

◆ ~RangeMap()

template<typename Key , typename T >
ufo::RangeMap< Key, T >::~RangeMap ( )
inline

Definition at line 141 of file range_map.hpp.

Member Function Documentation

◆ begin() [1/2]

template<typename Key , typename T >
const_iterator ufo::RangeMap< Key, T >::begin ( ) const
inlinenoexcept

Definition at line 203 of file range_map.hpp.

◆ begin() [2/2]

template<typename Key , typename T >
iterator ufo::RangeMap< Key, T >::begin ( )
inlinenoexcept

Definition at line 201 of file range_map.hpp.

◆ cbegin()

template<typename Key , typename T >
const_iterator ufo::RangeMap< Key, T >::cbegin ( ) const
inlinenoexcept

Definition at line 205 of file range_map.hpp.

◆ cend()

template<typename Key , typename T >
const_iterator ufo::RangeMap< Key, T >::cend ( ) const
inlinenoexcept

Definition at line 211 of file range_map.hpp.

◆ clear()

template<typename Key , typename T >
void ufo::RangeMap< Key, T >::clear ( )
inlinenoexcept

Definition at line 249 of file range_map.hpp.

◆ contains() [1/4]

template<typename Key , typename T >
template<typename K , typename = std::enable_if_t<std::is_arithmetic_v<K>>>
bool ufo::RangeMap< Key, T >::contains ( key) const
inline

Definition at line 933 of file range_map.hpp.

◆ contains() [2/4]

template<typename Key , typename T >
template<typename K , typename = std::enable_if_t<std::is_arithmetic_v<K>>>
bool ufo::RangeMap< Key, T >::contains ( lower,
upper 
) const
inline

Definition at line 939 of file range_map.hpp.

◆ contains() [3/4]

template<typename Key , typename T >
bool ufo::RangeMap< Key, T >::contains ( key_type  key) const
inline

Definition at line 917 of file range_map.hpp.

◆ contains() [4/4]

template<typename Key , typename T >
template<typename Key2 >
bool ufo::RangeMap< Key, T >::contains ( Range< Key2 >  key) const
inline

Definition at line 927 of file range_map.hpp.

◆ count() [1/4]

template<typename Key , typename T >
template<typename K , typename = std::enable_if_t<std::is_arithmetic_v<K>>>
size_type ufo::RangeMap< Key, T >::count ( key)
inline

Definition at line 846 of file range_map.hpp.

◆ count() [2/4]

template<typename Key , typename T >
template<typename K , typename = std::enable_if_t<std::is_arithmetic_v<K>>>
size_type ufo::RangeMap< Key, T >::count ( lower,
upper 
)
inline

Definition at line 852 of file range_map.hpp.

◆ count() [3/4]

template<typename Key , typename T >
size_type ufo::RangeMap< Key, T >::count ( key_type  key) const
inline

Definition at line 837 of file range_map.hpp.

◆ count() [4/4]

template<typename Key , typename T >
template<typename Key2 >
size_type ufo::RangeMap< Key, T >::count ( Range< Key2 >  key)
inline

Definition at line 840 of file range_map.hpp.

◆ crbegin()

template<typename Key , typename T >
const_reverse_iterator ufo::RangeMap< Key, T >::crbegin ( ) const
inlinenoexcept

Definition at line 217 of file range_map.hpp.

◆ crend()

template<typename Key , typename T >
const_reverse_iterator ufo::RangeMap< Key, T >::crend ( ) const
inlinenoexcept

Definition at line 223 of file range_map.hpp.

◆ decrement()

template<typename Key , typename T >
static constexpr Key ufo::RangeMap< Key, T >::decrement ( Key  value)
inlinestaticconstexprprotected

Definition at line 1140 of file range_map.hpp.

◆ emplace()

template<typename Key , typename T >
template<class... Args>
std::pair< iterator, bool > ufo::RangeMap< Key, T >::emplace ( Args &&...  args)
inline

Definition at line 711 of file range_map.hpp.

◆ emplace_hint()

template<typename Key , typename T >
template<class... Args>
iterator ufo::RangeMap< Key, T >::emplace_hint ( const_iterator  hint,
Args &&...  args 
)
inline

Definition at line 718 of file range_map.hpp.

◆ empty()

template<typename Key , typename T >
bool ufo::RangeMap< Key, T >::empty ( ) const
inlinenoexcept

Definition at line 229 of file range_map.hpp.

◆ end() [1/2]

template<typename Key , typename T >
const_iterator ufo::RangeMap< Key, T >::end ( ) const
inlinenoexcept

Definition at line 209 of file range_map.hpp.

◆ end() [2/2]

template<typename Key , typename T >
iterator ufo::RangeMap< Key, T >::end ( )
inlinenoexcept

Definition at line 207 of file range_map.hpp.

◆ equal_range() [1/8]

template<typename Key , typename T >
template<typename K , typename = std::enable_if_t<std::is_arithmetic_v<K>>>
std::pair< iterator, iterator > ufo::RangeMap< Key, T >::equal_range ( key)
inline

Definition at line 957 of file range_map.hpp.

◆ equal_range() [2/8]

template<typename Key , typename T >
template<typename K , typename = std::enable_if_t<std::is_arithmetic_v<K>>>
std::pair< const_iterator, const_iterator > ufo::RangeMap< Key, T >::equal_range ( key) const
inline

Definition at line 982 of file range_map.hpp.

◆ equal_range() [3/8]

template<typename Key , typename T >
template<typename K , typename = std::enable_if_t<std::is_arithmetic_v<K>>>
std::pair< iterator, iterator > ufo::RangeMap< Key, T >::equal_range ( lower,
upper 
)
inline

Definition at line 963 of file range_map.hpp.

◆ equal_range() [4/8]

template<typename Key , typename T >
template<typename K , typename = std::enable_if_t<std::is_arithmetic_v<K>>>
std::pair< const_iterator, const_iterator > ufo::RangeMap< Key, T >::equal_range ( lower,
upper 
) const
inline

Definition at line 988 of file range_map.hpp.

◆ equal_range() [5/8]

template<typename Key , typename T >
std::pair< iterator, iterator > ufo::RangeMap< Key, T >::equal_range ( key_type  key)
inline

Definition at line 944 of file range_map.hpp.

◆ equal_range() [6/8]

template<typename Key , typename T >
std::pair< const_iterator, const_iterator > ufo::RangeMap< Key, T >::equal_range ( key_type  key) const
inline

Definition at line 968 of file range_map.hpp.

◆ equal_range() [7/8]

template<typename Key , typename T >
template<typename Key2 >
std::pair< iterator, iterator > ufo::RangeMap< Key, T >::equal_range ( Range< Key2 >  key)
inline

Definition at line 951 of file range_map.hpp.

◆ equal_range() [8/8]

template<typename Key , typename T >
template<typename Key2 >
std::pair< const_iterator, const_iterator > ufo::RangeMap< Key, T >::equal_range ( Range< Key2 >  key) const
inline

Definition at line 975 of file range_map.hpp.

◆ erase() [1/6]

template<typename Key , typename T >
iterator ufo::RangeMap< Key, T >::erase ( const_iterator  first,
const_iterator  last 
)
inline

Definition at line 741 of file range_map.hpp.

◆ erase() [2/6]

template<typename Key , typename T >
iterator ufo::RangeMap< Key, T >::erase ( const_iterator  pos)
inline

Definition at line 739 of file range_map.hpp.

◆ erase() [3/6]

template<typename Key , typename T >
template<typename K , typename = std::enable_if_t<std::is_arithmetic_v<K>>>
size_type ufo::RangeMap< Key, T >::erase ( key)
inline

Definition at line 800 of file range_map.hpp.

◆ erase() [4/6]

template<typename Key , typename T >
template<typename K , typename = std::enable_if_t<std::is_arithmetic_v<K>>>
size_type ufo::RangeMap< Key, T >::erase ( lower,
upper 
)
inline

Definition at line 806 of file range_map.hpp.

◆ erase() [5/6]

template<typename Key , typename T >
size_type ufo::RangeMap< Key, T >::erase ( key_type  key)
inline

Definition at line 746 of file range_map.hpp.

◆ erase() [6/6]

template<typename Key , typename T >
template<typename Key2 >
size_type ufo::RangeMap< Key, T >::erase ( Range< Key2 >  key)
inline

Definition at line 794 of file range_map.hpp.

◆ find() [1/8]

template<typename Key , typename T >
template<typename K , typename = std::enable_if_t<std::is_arithmetic_v<K>>>
iterator ufo::RangeMap< Key, T >::find ( key)
inline

Definition at line 876 of file range_map.hpp.

◆ find() [2/8]

template<typename Key , typename T >
template<typename K , typename = std::enable_if_t<std::is_arithmetic_v<K>>>
const_iterator ufo::RangeMap< Key, T >::find ( key) const
inline

Definition at line 906 of file range_map.hpp.

◆ find() [3/8]

template<typename Key , typename T >
template<typename K , typename = std::enable_if_t<std::is_arithmetic_v<K>>>
iterator ufo::RangeMap< Key, T >::find ( lower,
upper 
)
inline

Definition at line 882 of file range_map.hpp.

◆ find() [4/8]

template<typename Key , typename T >
template<typename K , typename = std::enable_if_t<std::is_arithmetic_v<K>>>
const_iterator ufo::RangeMap< Key, T >::find ( lower,
upper 
) const
inline

Definition at line 912 of file range_map.hpp.

◆ find() [5/8]

template<typename Key , typename T >
iterator ufo::RangeMap< Key, T >::find ( key_type  key)
inline

Definition at line 857 of file range_map.hpp.

◆ find() [6/8]

template<typename Key , typename T >
const_iterator ufo::RangeMap< Key, T >::find ( key_type  key) const
inline

Definition at line 887 of file range_map.hpp.

◆ find() [7/8]

template<typename Key , typename T >
template<typename Key2 >
iterator ufo::RangeMap< Key, T >::find ( Range< Key2 >  key)
inline

Definition at line 870 of file range_map.hpp.

◆ find() [8/8]

template<typename Key , typename T >
template<typename Key2 >
const_iterator ufo::RangeMap< Key, T >::find ( Range< Key2 >  key) const
inline

Definition at line 900 of file range_map.hpp.

◆ get()

template<typename Key , typename T >
template<typename K , typename = std::enable_if_t<std::is_arithmetic_v<K>>>
T const & ufo::RangeMap< Key, T >::get ( key)
inline

Definition at line 188 of file range_map.hpp.

◆ get_allocator()

template<typename Key , typename T >
allocator_type ufo::RangeMap< Key, T >::get_allocator ( ) const
inlinenoexcept

Definition at line 179 of file range_map.hpp.

◆ increment()

template<typename Key , typename T >
static constexpr Key ufo::RangeMap< Key, T >::increment ( Key  value)
inlinestaticconstexprprotected

Definition at line 1130 of file range_map.hpp.

◆ insert() [1/8]

template<typename Key , typename T >
template<class P >
iterator ufo::RangeMap< Key, T >::insert ( const_iterator  hint,
P &&  value 
)
inline

Definition at line 566 of file range_map.hpp.

◆ insert() [2/8]

template<typename Key , typename T >
iterator ufo::RangeMap< Key, T >::insert ( const_iterator  hint,
value_type &&  value 
)
inline

Definition at line 572 of file range_map.hpp.

◆ insert() [3/8]

template<typename Key , typename T >
iterator ufo::RangeMap< Key, T >::insert ( const_iterator  hint,
value_type const &  value 
)
inline

Definition at line 559 of file range_map.hpp.

◆ insert() [4/8]

template<typename Key , typename T >
template<class InputIt , typename = std::enable_if_t<std::is_base_of_v< std::input_iterator_tag, typename std::iterator_traits<InputIt>::iterator_category>>>
void ufo::RangeMap< Key, T >::insert ( InputIt  first,
InputIt  last 
)
inline

Definition at line 582 of file range_map.hpp.

◆ insert() [5/8]

template<typename Key , typename T >
template<class P , typename = std::enable_if_t<std::is_constructible_v<value_type, P&&>>>
std::pair< iterator, bool > ufo::RangeMap< Key, T >::insert ( P &&  value)
inline

Definition at line 406 of file range_map.hpp.

◆ insert() [6/8]

template<typename Key , typename T >
void ufo::RangeMap< Key, T >::insert ( std::initializer_list< value_type >  ilist)
inline

Definition at line 588 of file range_map.hpp.

◆ insert() [7/8]

template<typename Key , typename T >
std::pair< iterator, bool > ufo::RangeMap< Key, T >::insert ( value_type &&  value)
inline

Definition at line 411 of file range_map.hpp.

◆ insert() [8/8]

template<typename Key , typename T >
std::pair< iterator, bool > ufo::RangeMap< Key, T >::insert ( value_type const &  value)
inline

Definition at line 251 of file range_map.hpp.

◆ insert_or_assign() [1/2]

template<typename Key , typename T >
template<class M >
iterator ufo::RangeMap< Key, T >::insert_or_assign ( const_iterator  hint,
key_type  key,
M &&  obj 
)
inline

Definition at line 704 of file range_map.hpp.

◆ insert_or_assign() [2/2]

template<typename Key , typename T >
template<class M >
std::pair< iterator, bool > ufo::RangeMap< Key, T >::insert_or_assign ( key_type  key,
M &&  obj 
)
inline

Definition at line 603 of file range_map.hpp.

◆ key_comp()

template<typename Key , typename T >
key_compare ufo::RangeMap< Key, T >::key_comp ( ) const
inline

Definition at line 1094 of file range_map.hpp.

◆ lower_bound() [1/8]

template<typename Key , typename T >
template<typename K , typename = std::enable_if_t<std::is_arithmetic_v<K>>>
iterator ufo::RangeMap< Key, T >::lower_bound ( key)
inline

Definition at line 1007 of file range_map.hpp.

◆ lower_bound() [2/8]

template<typename Key , typename T >
template<typename K , typename = std::enable_if_t<std::is_arithmetic_v<K>>>
const_iterator ufo::RangeMap< Key, T >::lower_bound ( key) const
inline

Definition at line 1031 of file range_map.hpp.

◆ lower_bound() [3/8]

template<typename Key , typename T >
template<typename K , typename = std::enable_if_t<std::is_arithmetic_v<K>>>
iterator ufo::RangeMap< Key, T >::lower_bound ( lower,
upper 
)
inline

Definition at line 1013 of file range_map.hpp.

◆ lower_bound() [4/8]

template<typename Key , typename T >
template<typename K , typename = std::enable_if_t<std::is_arithmetic_v<K>>>
const_iterator ufo::RangeMap< Key, T >::lower_bound ( lower,
upper 
) const
inline

Definition at line 1037 of file range_map.hpp.

◆ lower_bound() [5/8]

template<typename Key , typename T >
iterator ufo::RangeMap< Key, T >::lower_bound ( key_type  key)
inline

Definition at line 994 of file range_map.hpp.

◆ lower_bound() [6/8]

template<typename Key , typename T >
const_iterator ufo::RangeMap< Key, T >::lower_bound ( key_type  key) const
inline

Definition at line 1018 of file range_map.hpp.

◆ lower_bound() [7/8]

template<typename Key , typename T >
template<typename Key2 >
iterator ufo::RangeMap< Key, T >::lower_bound ( Range< Key2 >  key)
inline

Definition at line 1001 of file range_map.hpp.

◆ lower_bound() [8/8]

template<typename Key , typename T >
template<typename Key2 >
const_iterator ufo::RangeMap< Key, T >::lower_bound ( Range< Key2 >  key) const
inline

Definition at line 1025 of file range_map.hpp.

◆ max_size()

template<typename Key , typename T >
size_type ufo::RangeMap< Key, T >::max_size ( ) const
inlinenoexcept

Definition at line 233 of file range_map.hpp.

◆ numRanges()

template<typename Key , typename T >
size_type ufo::RangeMap< Key, T >::numRanges ( ) const
inlinenoexcept

Definition at line 235 of file range_map.hpp.

◆ numValues()

template<typename Key , typename T >
template<typename Key2 = Key>
std::enable_if_t< std::is_integral_v< Key2 >, size_type > ufo::RangeMap< Key, T >::numValues ( ) const
inline

Definition at line 238 of file range_map.hpp.

◆ operator=() [1/4]

template<typename Key , typename T >
RangeMap & ufo::RangeMap< Key, T >::operator= ( RangeMap< Key, T > &&  other)
inline

Definition at line 162 of file range_map.hpp.

◆ operator=() [2/4]

template<typename Key , typename T >
RangeMap & ufo::RangeMap< Key, T >::operator= ( RangeMap< Key, T > const &  other)
inline

Definition at line 147 of file range_map.hpp.

◆ operator=() [3/4]

template<typename Key , typename T >
template<typename Key2 >
RangeMap & ufo::RangeMap< Key, T >::operator= ( RangeMap< Key2, T > const &  other)
inline

Definition at line 154 of file range_map.hpp.

◆ operator=() [4/4]

template<typename Key , typename T >
RangeMap & ufo::RangeMap< Key, T >::operator= ( std::initializer_list< value_type >  ilist)
inline

Definition at line 168 of file range_map.hpp.

◆ rbegin() [1/2]

template<typename Key , typename T >
const_reverse_iterator ufo::RangeMap< Key, T >::rbegin ( ) const
inlinenoexcept

Definition at line 215 of file range_map.hpp.

◆ rbegin() [2/2]

template<typename Key , typename T >
reverse_iterator ufo::RangeMap< Key, T >::rbegin ( )
inlinenoexcept

Definition at line 213 of file range_map.hpp.

◆ rend() [1/2]

template<typename Key , typename T >
const_reverse_iterator ufo::RangeMap< Key, T >::rend ( ) const
inlinenoexcept

Definition at line 221 of file range_map.hpp.

◆ rend() [2/2]

template<typename Key , typename T >
reverse_iterator ufo::RangeMap< Key, T >::rend ( )
inlinenoexcept

Definition at line 219 of file range_map.hpp.

◆ size()

template<typename Key , typename T >
size_type ufo::RangeMap< Key, T >::size ( ) const
inlinenoexcept

Definition at line 231 of file range_map.hpp.

◆ swap()

template<typename Key , typename T >
void ufo::RangeMap< Key, T >::swap ( RangeMap< Key, T > &  other)
inlinenoexcept

Definition at line 811 of file range_map.hpp.

◆ try_emplace() [1/2]

template<typename Key , typename T >
template<class... Args>
iterator ufo::RangeMap< Key, T >::try_emplace ( const_iterator  hint,
key_type  k,
Args &&...  args 
)
inline

Definition at line 733 of file range_map.hpp.

◆ try_emplace() [2/2]

template<typename Key , typename T >
template<class... Args>
std::pair< iterator, bool > ufo::RangeMap< Key, T >::try_emplace ( key_type  k,
Args &&...  args 
)
inline

Definition at line 725 of file range_map.hpp.

◆ upper_bound() [1/8]

template<typename Key , typename T >
template<typename K , typename = std::enable_if_t<std::is_arithmetic_v<K>>>
iterator ufo::RangeMap< Key, T >::upper_bound ( key)
inline

Definition at line 1055 of file range_map.hpp.

◆ upper_bound() [2/8]

template<typename Key , typename T >
template<typename K , typename = std::enable_if_t<std::is_arithmetic_v<K>>>
iterator ufo::RangeMap< Key, T >::upper_bound ( lower,
upper 
)
inline

Definition at line 1061 of file range_map.hpp.

◆ upper_bound() [3/8]

template<typename Key , typename T >
template<typename K , typename = std::enable_if_t<std::is_arithmetic_v<K>>>
const_iterator ufo::RangeMap< Key, T >::upper_bound ( lower,
upper 
) const
inline

Definition at line 1085 of file range_map.hpp.

◆ upper_bound() [4/8]

template<typename Key , typename T >
template<typename K , typename = std::enable_if_t<std::is_arithmetic_v<K>>>
const_iterator ufo::RangeMap< Key, T >::upper_bound ( value) const
inline

Definition at line 1079 of file range_map.hpp.

◆ upper_bound() [5/8]

template<typename Key , typename T >
iterator ufo::RangeMap< Key, T >::upper_bound ( key_type  key)
inline

Definition at line 1042 of file range_map.hpp.

◆ upper_bound() [6/8]

template<typename Key , typename T >
const_iterator ufo::RangeMap< Key, T >::upper_bound ( key_type  key) const
inline

Definition at line 1066 of file range_map.hpp.

◆ upper_bound() [7/8]

template<typename Key , typename T >
template<typename Key2 >
iterator ufo::RangeMap< Key, T >::upper_bound ( Range< Key2 >  key)
inline

Definition at line 1049 of file range_map.hpp.

◆ upper_bound() [8/8]

template<typename Key , typename T >
template<typename Key2 >
const_iterator ufo::RangeMap< Key, T >::upper_bound ( Range< Key2 >  key) const
inline

Definition at line 1073 of file range_map.hpp.

◆ value_comp()

template<typename Key , typename T >
value_compare ufo::RangeMap< Key, T >::value_comp ( ) const
inline

Definition at line 1100 of file range_map.hpp.

Member Data Documentation

◆ comp_

template<typename Key , typename T >
value_compare ufo::RangeMap< Key, T >::comp_
protected

Definition at line 1152 of file range_map.hpp.

◆ ranges_

template<typename Key , typename T >
std::vector<value_type> ufo::RangeMap< Key, T >::ranges_
protected

Definition at line 1151 of file range_map.hpp.


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