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

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 >::const_iterator
 
using key_compare = typename key_type::Comparator
 
using key_type = Range< Key >
 
using pointer = typename std::vector< value_type >::pointer
 
using reference = typename std::vector< value_type >::reference
 
using reverse_iterator = typename std::vector< value_type >::const_reverse_iterator
 
using size_type = typename std::vector< value_type >::size_type
 
using value_compare = typename value_type::Comparator
 
using value_type = key_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>>>
 RangeSet (InputIt first, InputIt last)
 
 RangeSet (Range< Key > &&range)
 
 RangeSet (Range< Key > const &range)
 
 RangeSet (RangeSet &&other)
 
 RangeSet (RangeSet const &other)
 
template<typename Key2 >
 RangeSet (RangeSet< Key2 > const &other)
 
 RangeSet (std::initializer_list< Key > init)
 
 RangeSet (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
 
allocator_type get_allocator () const noexcept
 
iterator insert (const_iterator hint, value_type 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)
 
void insert (std::initializer_list< value_type > ilist)
 
std::pair< iterator, bool > insert (value_type value)
 
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
 
RangeSetoperator= (RangeSet &&other) noexcept(std::allocator_traits< allocator_type >::is_always_equal::value &&std::is_nothrow_move_assignable< value_compare >::value)
 
RangeSetoperator= (RangeSet const &other)
 
template<typename Key2 >
RangeSetoperator= (RangeSet< Key2 > const &other)
 
RangeSetoperator= (std::initializer_list< value_type > ilist)
 
const_reverse_iterator rbegin () const noexcept
 
reverse_iterator rbegin () noexcept
 
std::istream & readData (std::istream &in_stream)
 
const_reverse_iterator rend () const noexcept
 
reverse_iterator rend () noexcept
 
size_type size () const noexcept
 
void swap (RangeSet &other) noexcept(std::allocator_traits< allocator_type >::is_always_equal::value &&std::is_nothrow_move_assignable< value_compare >::value)
 
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>>>
const_iterator upper_bound (K key) const
 
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
 
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
 
std::ostream & writeData (std::ostream &out_stream) 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_typeranges_
 

Friends

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

Detailed Description

template<typename Key>
class ufo::RangeSet< Key >

Definition at line 51 of file range_set.hpp.

Member Typedef Documentation

◆ allocator_type

template<typename Key >
using ufo::RangeSet< Key >::allocator_type = typename std::vector<value_type>::allocator_type

Definition at line 64 of file range_set.hpp.

◆ const_iterator

template<typename Key >
using ufo::RangeSet< Key >::const_iterator = typename std::vector<value_type>::const_iterator

Definition at line 70 of file range_set.hpp.

◆ const_pointer

template<typename Key >
using ufo::RangeSet< Key >::const_pointer = typename std::vector<value_type>::const_pointer

Definition at line 68 of file range_set.hpp.

◆ const_reference

template<typename Key >
using ufo::RangeSet< Key >::const_reference = typename std::vector<value_type>::const_reference

Definition at line 66 of file range_set.hpp.

◆ const_reverse_iterator

template<typename Key >
using ufo::RangeSet< Key >::const_reverse_iterator = typename std::vector<value_type>::const_reverse_iterator

Definition at line 72 of file range_set.hpp.

◆ difference_type

template<typename Key >
using ufo::RangeSet< Key >::difference_type = typename std::vector<value_type>::difference_type

Definition at line 61 of file range_set.hpp.

◆ iterator

template<typename Key >
using ufo::RangeSet< Key >::iterator = typename std::vector<value_type>::const_iterator

Definition at line 69 of file range_set.hpp.

◆ key_compare

template<typename Key >
using ufo::RangeSet< Key >::key_compare = typename key_type::Comparator

Definition at line 62 of file range_set.hpp.

◆ key_type

template<typename Key >
using ufo::RangeSet< Key >::key_type = Range<Key>

Definition at line 58 of file range_set.hpp.

◆ pointer

template<typename Key >
using ufo::RangeSet< Key >::pointer = typename std::vector<value_type>::pointer

Definition at line 67 of file range_set.hpp.

◆ reference

template<typename Key >
using ufo::RangeSet< Key >::reference = typename std::vector<value_type>::reference

Definition at line 65 of file range_set.hpp.

◆ reverse_iterator

template<typename Key >
using ufo::RangeSet< Key >::reverse_iterator = typename std::vector<value_type>::const_reverse_iterator

Definition at line 71 of file range_set.hpp.

◆ size_type

template<typename Key >
using ufo::RangeSet< Key >::size_type = typename std::vector<value_type>::size_type

Definition at line 60 of file range_set.hpp.

◆ value_compare

template<typename Key >
using ufo::RangeSet< Key >::value_compare = typename value_type::Comparator

Definition at line 63 of file range_set.hpp.

◆ value_type

template<typename Key >
using ufo::RangeSet< Key >::value_type = key_type

Definition at line 59 of file range_set.hpp.

Constructor & Destructor Documentation

◆ RangeSet() [1/9]

template<typename Key >
ufo::RangeSet< Key >::RangeSet ( )
inline

Definition at line 80 of file range_set.hpp.

◆ RangeSet() [2/9]

template<typename Key >
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::RangeSet< Key >::RangeSet ( InputIt  first,
InputIt  last 
)
inline

Definition at line 86 of file range_set.hpp.

◆ RangeSet() [3/9]

template<typename Key >
ufo::RangeSet< Key >::RangeSet ( Range< Key > const &  range)
inline

Definition at line 91 of file range_set.hpp.

◆ RangeSet() [4/9]

template<typename Key >
ufo::RangeSet< Key >::RangeSet ( Range< Key > &&  range)
inline

Definition at line 93 of file range_set.hpp.

◆ RangeSet() [5/9]

template<typename Key >
ufo::RangeSet< Key >::RangeSet ( RangeSet< Key > const &  other)
inline

Definition at line 95 of file range_set.hpp.

◆ RangeSet() [6/9]

template<typename Key >
template<typename Key2 >
ufo::RangeSet< Key >::RangeSet ( RangeSet< Key2 > const &  other)
inline

Definition at line 98 of file range_set.hpp.

◆ RangeSet() [7/9]

template<typename Key >
ufo::RangeSet< Key >::RangeSet ( RangeSet< Key > &&  other)
inline

Definition at line 104 of file range_set.hpp.

◆ RangeSet() [8/9]

template<typename Key >
ufo::RangeSet< Key >::RangeSet ( std::initializer_list< value_type init)
inline

Definition at line 106 of file range_set.hpp.

◆ RangeSet() [9/9]

template<typename Key >
ufo::RangeSet< Key >::RangeSet ( std::initializer_list< Key >  init)
inline

Definition at line 108 of file range_set.hpp.

◆ ~RangeSet()

template<typename Key >
ufo::RangeSet< Key >::~RangeSet ( )
inline

Definition at line 114 of file range_set.hpp.

Member Function Documentation

◆ begin() [1/2]

template<typename Key >
const_iterator ufo::RangeSet< Key >::begin ( ) const
inlinenoexcept

Definition at line 163 of file range_set.hpp.

◆ begin() [2/2]

template<typename Key >
iterator ufo::RangeSet< Key >::begin ( )
inlinenoexcept

Definition at line 161 of file range_set.hpp.

◆ cbegin()

template<typename Key >
const_iterator ufo::RangeSet< Key >::cbegin ( ) const
inlinenoexcept

Definition at line 165 of file range_set.hpp.

◆ cend()

template<typename Key >
const_iterator ufo::RangeSet< Key >::cend ( ) const
inlinenoexcept

Definition at line 171 of file range_set.hpp.

◆ clear()

template<typename Key >
void ufo::RangeSet< Key >::clear ( )
inlinenoexcept

Definition at line 209 of file range_set.hpp.

◆ contains() [1/4]

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

Definition at line 499 of file range_set.hpp.

◆ contains() [2/4]

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

Definition at line 505 of file range_set.hpp.

◆ contains() [3/4]

template<typename Key >
bool ufo::RangeSet< Key >::contains ( key_type  key) const
inline

Definition at line 485 of file range_set.hpp.

◆ contains() [4/4]

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

Definition at line 493 of file range_set.hpp.

◆ count() [1/4]

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

Definition at line 418 of file range_set.hpp.

◆ count() [2/4]

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

Definition at line 424 of file range_set.hpp.

◆ count() [3/4]

template<typename Key >
size_type ufo::RangeSet< Key >::count ( key_type  key) const
inline

Definition at line 409 of file range_set.hpp.

◆ count() [4/4]

template<typename Key >
template<typename Key2 >
size_type ufo::RangeSet< Key >::count ( Range< Key2 >  key)
inline

Definition at line 412 of file range_set.hpp.

◆ crbegin()

template<typename Key >
const_reverse_iterator ufo::RangeSet< Key >::crbegin ( ) const
inlinenoexcept

Definition at line 177 of file range_set.hpp.

◆ crend()

template<typename Key >
const_reverse_iterator ufo::RangeSet< Key >::crend ( ) const
inlinenoexcept

Definition at line 183 of file range_set.hpp.

◆ decrement()

template<typename Key >
static constexpr Key ufo::RangeSet< Key >::decrement ( Key  value)
inlinestaticconstexprprotected

Definition at line 729 of file range_set.hpp.

◆ emplace()

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

Definition at line 299 of file range_set.hpp.

◆ emplace_hint()

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

Definition at line 305 of file range_set.hpp.

◆ empty()

template<typename Key >
bool ufo::RangeSet< Key >::empty ( ) const
inlinenoexcept

Definition at line 189 of file range_set.hpp.

◆ end() [1/2]

template<typename Key >
const_iterator ufo::RangeSet< Key >::end ( ) const
inlinenoexcept

Definition at line 169 of file range_set.hpp.

◆ end() [2/2]

template<typename Key >
iterator ufo::RangeSet< Key >::end ( )
inlinenoexcept

Definition at line 167 of file range_set.hpp.

◆ equal_range() [1/8]

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

Definition at line 523 of file range_set.hpp.

◆ equal_range() [2/8]

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

Definition at line 548 of file range_set.hpp.

◆ equal_range() [3/8]

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

Definition at line 529 of file range_set.hpp.

◆ equal_range() [4/8]

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

Definition at line 554 of file range_set.hpp.

◆ equal_range() [5/8]

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

Definition at line 510 of file range_set.hpp.

◆ equal_range() [6/8]

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

Definition at line 534 of file range_set.hpp.

◆ equal_range() [7/8]

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

Definition at line 517 of file range_set.hpp.

◆ equal_range() [8/8]

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

Definition at line 541 of file range_set.hpp.

◆ erase() [1/6]

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

Definition at line 312 of file range_set.hpp.

◆ erase() [2/6]

template<typename Key >
iterator ufo::RangeSet< Key >::erase ( const_iterator  pos)
inline

Definition at line 310 of file range_set.hpp.

◆ erase() [3/6]

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

Definition at line 373 of file range_set.hpp.

◆ erase() [4/6]

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

Definition at line 379 of file range_set.hpp.

◆ erase() [5/6]

template<typename Key >
size_type ufo::RangeSet< Key >::erase ( key_type  key)
inline

Definition at line 317 of file range_set.hpp.

◆ erase() [6/6]

template<typename Key >
template<typename Key2 >
size_type ufo::RangeSet< Key >::erase ( Range< Key2 >  key)
inline

Definition at line 367 of file range_set.hpp.

◆ find() [1/8]

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

Definition at line 446 of file range_set.hpp.

◆ find() [2/8]

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

Definition at line 474 of file range_set.hpp.

◆ find() [3/8]

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

Definition at line 452 of file range_set.hpp.

◆ find() [4/8]

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

Definition at line 480 of file range_set.hpp.

◆ find() [5/8]

template<typename Key >
iterator ufo::RangeSet< Key >::find ( key_type  key)
inline

Definition at line 429 of file range_set.hpp.

◆ find() [6/8]

template<typename Key >
const_iterator ufo::RangeSet< Key >::find ( key_type  key) const
inline

Definition at line 457 of file range_set.hpp.

◆ find() [7/8]

template<typename Key >
template<typename Key2 >
iterator ufo::RangeSet< Key >::find ( Range< Key2 >  key)
inline

Definition at line 440 of file range_set.hpp.

◆ find() [8/8]

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

Definition at line 468 of file range_set.hpp.

◆ get_allocator()

template<typename Key >
allocator_type ufo::RangeSet< Key >::get_allocator ( ) const
inlinenoexcept

Definition at line 155 of file range_set.hpp.

◆ increment()

template<typename Key >
static constexpr Key ufo::RangeSet< Key >::increment ( Key  value)
inlinestaticconstexprprotected

Definition at line 720 of file range_set.hpp.

◆ insert() [1/4]

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

Definition at line 273 of file range_set.hpp.

◆ insert() [2/4]

template<typename Key >
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::RangeSet< Key >::insert ( InputIt  first,
InputIt  last 
)
inline

Definition at line 283 of file range_set.hpp.

◆ insert() [3/4]

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

Definition at line 289 of file range_set.hpp.

◆ insert() [4/4]

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

Definition at line 211 of file range_set.hpp.

◆ key_comp()

template<typename Key >
key_compare ufo::RangeSet< Key >::key_comp ( ) const
inline

Definition at line 689 of file range_set.hpp.

◆ lower_bound() [1/8]

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

Definition at line 573 of file range_set.hpp.

◆ lower_bound() [2/8]

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

Definition at line 597 of file range_set.hpp.

◆ lower_bound() [3/8]

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

Definition at line 579 of file range_set.hpp.

◆ lower_bound() [4/8]

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

Definition at line 603 of file range_set.hpp.

◆ lower_bound() [5/8]

template<typename Key >
iterator ufo::RangeSet< Key >::lower_bound ( key_type  key)
inline

Definition at line 560 of file range_set.hpp.

◆ lower_bound() [6/8]

template<typename Key >
const_iterator ufo::RangeSet< Key >::lower_bound ( key_type  key) const
inline

Definition at line 584 of file range_set.hpp.

◆ lower_bound() [7/8]

template<typename Key >
template<typename Key2 >
iterator ufo::RangeSet< Key >::lower_bound ( Range< Key2 >  key)
inline

Definition at line 567 of file range_set.hpp.

◆ lower_bound() [8/8]

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

Definition at line 591 of file range_set.hpp.

◆ max_size()

template<typename Key >
size_type ufo::RangeSet< Key >::max_size ( ) const
inlinenoexcept

Definition at line 193 of file range_set.hpp.

◆ numRanges()

template<typename Key >
size_type ufo::RangeSet< Key >::numRanges ( ) const
inlinenoexcept

Definition at line 195 of file range_set.hpp.

◆ numValues()

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

Definition at line 198 of file range_set.hpp.

◆ operator=() [1/4]

template<typename Key >
RangeSet & ufo::RangeSet< Key >::operator= ( RangeSet< Key > &&  other)
inlinenoexcept

Definition at line 135 of file range_set.hpp.

◆ operator=() [2/4]

template<typename Key >
RangeSet & ufo::RangeSet< Key >::operator= ( RangeSet< Key > const &  other)
inline

Definition at line 120 of file range_set.hpp.

◆ operator=() [3/4]

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

Definition at line 127 of file range_set.hpp.

◆ operator=() [4/4]

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

Definition at line 144 of file range_set.hpp.

◆ rbegin() [1/2]

template<typename Key >
const_reverse_iterator ufo::RangeSet< Key >::rbegin ( ) const
inlinenoexcept

Definition at line 175 of file range_set.hpp.

◆ rbegin() [2/2]

template<typename Key >
reverse_iterator ufo::RangeSet< Key >::rbegin ( )
inlinenoexcept

Definition at line 173 of file range_set.hpp.

◆ readData()

template<typename Key >
std::istream & ufo::RangeSet< Key >::readData ( std::istream &  in_stream)
inline

Definition at line 670 of file range_set.hpp.

◆ rend() [1/2]

template<typename Key >
const_reverse_iterator ufo::RangeSet< Key >::rend ( ) const
inlinenoexcept

Definition at line 181 of file range_set.hpp.

◆ rend() [2/2]

template<typename Key >
reverse_iterator ufo::RangeSet< Key >::rend ( )
inlinenoexcept

Definition at line 179 of file range_set.hpp.

◆ size()

template<typename Key >
size_type ufo::RangeSet< Key >::size ( ) const
inlinenoexcept

Definition at line 191 of file range_set.hpp.

◆ swap()

template<typename Key >
void ufo::RangeSet< Key >::swap ( RangeSet< Key > &  other)
inlinenoexcept

Definition at line 384 of file range_set.hpp.

◆ upper_bound() [1/8]

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

Definition at line 621 of file range_set.hpp.

◆ upper_bound() [2/8]

template<typename Key >
template<typename K , typename = std::enable_if_t<std::is_arithmetic_v<K>>>
const_iterator ufo::RangeSet< Key >::upper_bound ( key) const
inline

Definition at line 645 of file range_set.hpp.

◆ upper_bound() [3/8]

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

Definition at line 627 of file range_set.hpp.

◆ upper_bound() [4/8]

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

Definition at line 651 of file range_set.hpp.

◆ upper_bound() [5/8]

template<typename Key >
iterator ufo::RangeSet< Key >::upper_bound ( key_type  key)
inline

Definition at line 608 of file range_set.hpp.

◆ upper_bound() [6/8]

template<typename Key >
const_iterator ufo::RangeSet< Key >::upper_bound ( key_type  key) const
inline

Definition at line 632 of file range_set.hpp.

◆ upper_bound() [7/8]

template<typename Key >
template<typename Key2 >
iterator ufo::RangeSet< Key >::upper_bound ( Range< Key2 >  key)
inline

Definition at line 615 of file range_set.hpp.

◆ upper_bound() [8/8]

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

Definition at line 639 of file range_set.hpp.

◆ value_comp()

template<typename Key >
value_compare ufo::RangeSet< Key >::value_comp ( ) const
inline

Definition at line 691 of file range_set.hpp.

◆ writeData()

template<typename Key >
std::ostream & ufo::RangeSet< Key >::writeData ( std::ostream &  out_stream) const
inline

Definition at line 660 of file range_set.hpp.

Member Data Documentation

◆ comp_

template<typename Key >
value_compare ufo::RangeSet< Key >::comp_
protected

Definition at line 740 of file range_set.hpp.

◆ ranges_

template<typename Key >
std::vector<value_type> ufo::RangeSet< Key >::ranges_
protected

Definition at line 739 of file range_set.hpp.


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