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

Public Types

using const_iterator = Semantic const *
 
using const_pointer = Semantic const *
 
using const_reference = Semantic const &
 
using const_reverse_iterator = std::reverse_iterator< const_iterator >
 
using difference_type = std::ptrdiff_t
 
using iterator = Semantic *
 
using pointer = Semantic *
 
using reference = Semantic &
 
using reverse_iterator = std::reverse_iterator< iterator >
 
using size_type = label_t
 
using value_type = Semantic
 

Public Member Functions

 SemanticSet (SemanticSet &&other) noexcept
 
 SemanticSet (SemanticSet const &other)
 
bool all (offset_t index, SemanticRange range) const
 
template<class UnaryPredicate >
bool all (offset_t index, SemanticRange range, UnaryPredicate p) const
 
bool all (offset_t index, SemanticRangeSet const &ranges) const
 
template<class UnaryPredicate >
bool all (offset_t index, SemanticRangeSet const &ranges, UnaryPredicate p) const
 
template<class UnaryPredicate >
bool all (offset_t index, UnaryPredicate p) const
 
bool any (offset_t index, SemanticRange range) const
 
template<class UnaryPredicate >
bool any (offset_t index, SemanticRange range, UnaryPredicate p) const
 
bool any (offset_t index, SemanticRangeSet const &ranges) const
 
template<class UnaryPredicate >
bool any (offset_t index, SemanticRangeSet const &ranges, UnaryPredicate p) const
 
template<class UnaryPredicate >
bool any (offset_t index, UnaryPredicate p) const
 
template<class UnaryFunction , class = std::enable_if_t<std::is_invocable<UnaryFunction, Semantic>::value>>
void assign (offset_t const index, SemanticRange range, UnaryFunction f)
 
void assign (offset_t const index, SemanticRange range, value_t value)
 
template<class UnaryFunction , class = std::enable_if_t<std::is_invocable<UnaryFunction, Semantic>::value>>
void assign (offset_t const index, SemanticRangeSet const &ranges, UnaryFunction f)
 
void assign (offset_t const index, SemanticRangeSet const &ranges, value_t value)
 
template<class UnaryPredicate , class UnaryFunction , class = std::enable_if_t<std::is_invocable<UnaryFunction, Semantic>::value>, class = std::enable_if_t<std::is_invocable<UnaryPredicate, Semantic>::value>>
void assign (offset_t const index, UnaryPredicate p, UnaryFunction f)
 
template<class UnaryFunction , class = std::enable_if_t<std::is_invocable<UnaryFunction, Semantic>::value>>
void assign (SemanticRange range, UnaryFunction f)
 
void assign (SemanticRange range, value_t value)
 
template<class UnaryFunction , class = std::enable_if_t<std::is_invocable<UnaryFunction, Semantic>::value>>
void assign (SemanticRangeSet const &ranges, UnaryFunction f)
 
void assign (SemanticRangeSet const &ranges, value_t value)
 
template<class UnaryPredicate , class UnaryFunction , class = std::enable_if_t<std::is_invocable<UnaryFunction, Semantic>::value>, class = std::enable_if_t<std::is_invocable<UnaryPredicate, Semantic>::value>>
void assign (UnaryPredicate p, UnaryFunction f)
 
std::optional< Semanticat (offset_t index, label_t label) const
 
const_iterator begin () const noexcept
 
iterator begin () noexcept
 
const_iterator begin (offset_t const index) const noexcept
 
iterator begin (offset_t const index) noexcept
 
const_iterator cbegin () const noexcept
 
const_iterator cbegin (offset_t const index) const noexcept
 
const_iterator cend () const noexcept
 
const_iterator cend (offset_t const index) const noexcept
 
void clear () noexcept
 
void clear (offset_t const index)
 
bool contains (offset_t index, label_t label) const
 
size_type count (offset_t index, label_t label) const
 
const_reverse_iterator crbegin () const noexcept
 
const_reverse_iterator crbegin (offset_t const index) const noexcept
 
const_reverse_iterator crend () const noexcept
 
const_reverse_iterator crend (offset_t const index) const noexcept
 
bool empty () const noexcept
 
bool empty (offset_t const index) const
 
const_iterator end () const noexcept
 
iterator end () noexcept
 
const_iterator end (offset_t const index) const noexcept
 
iterator end (offset_t const index) noexcept
 
std::pair< const_iterator, const_iterator > equal_range (offset_t index, label_t label) const
 
iterator erase (const_iterator first, const_iterator last)
 
iterator erase (const_iterator pos)
 
iterator erase (iterator pos)
 
size_type erase (label_t label)
 
size_type erase (offset_t const index, label_t label)
 
size_type erase (offset_t const index, SemanticRange range)
 
size_type erase (offset_t const index, SemanticRangeSet const &ranges)
 
size_type erase (SemanticRange range)
 
size_type erase (SemanticRangeSet const &ranges)
 
template<class UnaryPredicate , class = std::enable_if_t<std::is_invocable<UnaryPredicate, Semantic>::value>>
size_type eraseIf (offset_t const index, SemanticRange range, UnaryPredicate p)
 
template<class UnaryPredicate , class = std::enable_if_t<std::is_invocable<UnaryPredicate, Semantic>::value>>
size_type eraseIf (offset_t const index, SemanticRangeSet const &ranges, UnaryPredicate p)
 
template<class UnaryPredicate , class = std::enable_if_t<std::is_invocable<UnaryPredicate, Semantic>::value>>
size_type eraseIf (offset_t const index, UnaryPredicate p)
 
template<class UnaryPredicate , class = std::enable_if_t<std::is_invocable<UnaryPredicate, Semantic>::value>>
size_type eraseIf (SemanticRange range, UnaryPredicate p)
 
template<class UnaryPredicate , class = std::enable_if_t<std::is_invocable<UnaryPredicate, Semantic>::value>>
size_type eraseIf (SemanticRangeSet const &ranges, UnaryPredicate p)
 
template<class UnaryPredicate , class = std::enable_if_t<std::is_invocable<UnaryPredicate, Semantic>::value>>
size_type eraseIf (UnaryPredicate p)
 
void fill (SemanticSet const &parent, offset_t const index)
 
const_iterator find (offset_t index, label_t label) const
 
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 (label_t label, value_t 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 (offset_t index, InputIt first, InputIt last)
 
void insert (offset_t index, label_t label, value_t 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 insertOrAssign (InputIt first, InputIt last)
 
template<class InputIt , class UnaryFunction , class = std::enable_if_t<std::is_invocable<UnaryFunction, Semantic>::value>, typename = std::enable_if_t<std::is_base_of_v< std::input_iterator_tag, typename std::iterator_traits<InputIt>::iterator_category>>>
void insertOrAssign (InputIt first, InputIt last, UnaryFunction f)
 
template<class UnaryFunction , class = std::enable_if_t<std::is_invocable<UnaryFunction, Semantic>::value>>
void insertOrAssign (label_t label, UnaryFunction f)
 
void insertOrAssign (label_t label, value_t 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 insertOrAssign (offset_t index, InputIt first, InputIt last)
 
template<class InputIt , class UnaryFunction , class = std::enable_if_t<std::is_invocable<UnaryFunction, Semantic>::value>, typename = std::enable_if_t<std::is_base_of_v< std::input_iterator_tag, typename std::iterator_traits<InputIt>::iterator_category>>>
void insertOrAssign (offset_t index, InputIt first, InputIt last, UnaryFunction f)
 
template<class UnaryFunction , class = std::enable_if_t<std::is_invocable<UnaryFunction, Semantic>::value>>
void insertOrAssign (offset_t index, label_t label, UnaryFunction f)
 
void insertOrAssign (offset_t index, label_t label, value_t value)
 
bool isPrunable () const
 
const_iterator lower_bound (offset_t index, label_t label) const
 
std::size_t memoryUsage () const
 
bool none (offset_t index, SemanticRange range) const
 
template<class UnaryPredicate >
bool none (offset_t index, SemanticRange range, UnaryPredicate p) const
 
bool none (offset_t index, SemanticRangeSet const &ranges) const
 
template<class UnaryPredicate >
bool none (offset_t index, SemanticRangeSet const &ranges, UnaryPredicate p) const
 
template<class UnaryPredicate >
bool none (offset_t index, UnaryPredicate p) const
 
std::size_t offset (offset_t const index) const
 
SemanticSetoperator= (SemanticSet &&other) noexcept
 
SemanticSetoperator= (SemanticSet const &other)
 
const_reverse_iterator rbegin () const noexcept
 
reverse_iterator rbegin () noexcept
 
const_reverse_iterator rbegin (offset_t const index) const noexcept
 
reverse_iterator rbegin (offset_t const index) noexcept
 
void read (ReadBuffer &in)
 
void read (ReadBuffer &in, BitSet< N > rf)
 
void read (ReadBuffer &in, offset_t pos)
 
const_reverse_iterator rend () const noexcept
 
reverse_iterator rend () noexcept
 
const_reverse_iterator rend (offset_t const index) const noexcept
 
reverse_iterator rend (offset_t const index) noexcept
 
void resizeLazy (std::array< size_type, N > const &new_sizes)
 
size_type semanticAllocSize () const
 
template<class InputIt >
void set (offset_t index, InputIt first, InputIt last)
 
void set (offset_t index, SemanticSet const &semantics)
 
void set (SemanticSet const &semantics)
 
size_type size () const
 
size_type size (offset_t const index) const
 
std::array< size_type, N > sizes () const
 
std::string toString () const
 
std::string toString (offset_t index) const
 
const_iterator upper_bound (offset_t index, label_t label) const
 
std::optional< value_t > value (offset_t index, label_t label) const
 
void write (WriteBuffer &out) const
 
void write (WriteBuffer &out, BitSet< N > wf)
 
void write (WriteBuffer &out, offset_t index) const
 

Static Public Member Functions

static constexpr std::size_t semanticSize ()
 

Public Attributes

std::unique_ptr< Semantic[]> semantics
 

Static Public Attributes

static constexpr std::size_t N_H = 1 + (N - 1) / 2
 

Detailed Description

template<std::size_t N = 1>
class ufo::SemanticSet< N >

Definition at line 71 of file semantic_set.hpp.

Member Typedef Documentation

◆ const_iterator

template<std::size_t N = 1>
using ufo::SemanticSet< N >::const_iterator = Semantic const*

Definition at line 83 of file semantic_set.hpp.

◆ const_pointer

template<std::size_t N = 1>
using ufo::SemanticSet< N >::const_pointer = Semantic const*

Definition at line 81 of file semantic_set.hpp.

◆ const_reference

template<std::size_t N = 1>
using ufo::SemanticSet< N >::const_reference = Semantic const&

Definition at line 79 of file semantic_set.hpp.

◆ const_reverse_iterator

template<std::size_t N = 1>
using ufo::SemanticSet< N >::const_reverse_iterator = std::reverse_iterator<const_iterator>

Definition at line 85 of file semantic_set.hpp.

◆ difference_type

template<std::size_t N = 1>
using ufo::SemanticSet< N >::difference_type = std::ptrdiff_t

Definition at line 77 of file semantic_set.hpp.

◆ iterator

template<std::size_t N = 1>
using ufo::SemanticSet< N >::iterator = Semantic*

Definition at line 82 of file semantic_set.hpp.

◆ pointer

template<std::size_t N = 1>
using ufo::SemanticSet< N >::pointer = Semantic*

Definition at line 80 of file semantic_set.hpp.

◆ reference

template<std::size_t N = 1>
using ufo::SemanticSet< N >::reference = Semantic&

Definition at line 78 of file semantic_set.hpp.

◆ reverse_iterator

template<std::size_t N = 1>
using ufo::SemanticSet< N >::reverse_iterator = std::reverse_iterator<iterator>

Definition at line 84 of file semantic_set.hpp.

◆ size_type

template<std::size_t N = 1>
using ufo::SemanticSet< N >::size_type = label_t

Definition at line 76 of file semantic_set.hpp.

◆ value_type

template<std::size_t N = 1>
using ufo::SemanticSet< N >::value_type = Semantic

Definition at line 75 of file semantic_set.hpp.

Constructor & Destructor Documentation

◆ SemanticSet() [1/3]

template<std::size_t N = 1>
ufo::SemanticSet< N >::SemanticSet ( )
inline

Definition at line 96 of file semantic_set.hpp.

◆ SemanticSet() [2/3]

template<std::size_t N = 1>
ufo::SemanticSet< N >::SemanticSet ( SemanticSet< N > const &  other)
inline

Definition at line 99 of file semantic_set.hpp.

◆ SemanticSet() [3/3]

template<std::size_t N = 1>
ufo::SemanticSet< N >::SemanticSet ( SemanticSet< N > &&  other)
inlinenoexcept

Definition at line 107 of file semantic_set.hpp.

◆ ~SemanticSet()

template<std::size_t N = 1>
ufo::SemanticSet< N >::~SemanticSet ( )
inline

Definition at line 125 of file semantic_set.hpp.

Member Function Documentation

◆ all() [1/5]

template<std::size_t N = 1>
bool ufo::SemanticSet< N >::all ( offset_t  index,
SemanticRange  range 
) const
inline

Definition at line 724 of file semantic_set.hpp.

◆ all() [2/5]

template<std::size_t N = 1>
template<class UnaryPredicate >
bool ufo::SemanticSet< N >::all ( offset_t  index,
SemanticRange  range,
UnaryPredicate  p 
) const
inline

Definition at line 741 of file semantic_set.hpp.

◆ all() [3/5]

template<std::size_t N = 1>
bool ufo::SemanticSet< N >::all ( offset_t  index,
SemanticRangeSet const &  ranges 
) const
inline

Definition at line 729 of file semantic_set.hpp.

◆ all() [4/5]

template<std::size_t N = 1>
template<class UnaryPredicate >
bool ufo::SemanticSet< N >::all ( offset_t  index,
SemanticRangeSet const &  ranges,
UnaryPredicate  p 
) const
inline

Definition at line 747 of file semantic_set.hpp.

◆ all() [5/5]

template<std::size_t N = 1>
template<class UnaryPredicate >
bool ufo::SemanticSet< N >::all ( offset_t  index,
UnaryPredicate  p 
) const
inline

Definition at line 735 of file semantic_set.hpp.

◆ any() [1/5]

template<std::size_t N = 1>
bool ufo::SemanticSet< N >::any ( offset_t  index,
SemanticRange  range 
) const
inline

Definition at line 757 of file semantic_set.hpp.

◆ any() [2/5]

template<std::size_t N = 1>
template<class UnaryPredicate >
bool ufo::SemanticSet< N >::any ( offset_t  index,
SemanticRange  range,
UnaryPredicate  p 
) const
inline

Definition at line 774 of file semantic_set.hpp.

◆ any() [3/5]

template<std::size_t N = 1>
bool ufo::SemanticSet< N >::any ( offset_t  index,
SemanticRangeSet const &  ranges 
) const
inline

Definition at line 762 of file semantic_set.hpp.

◆ any() [4/5]

template<std::size_t N = 1>
template<class UnaryPredicate >
bool ufo::SemanticSet< N >::any ( offset_t  index,
SemanticRangeSet const &  ranges,
UnaryPredicate  p 
) const
inline

Definition at line 780 of file semantic_set.hpp.

◆ any() [5/5]

template<std::size_t N = 1>
template<class UnaryPredicate >
bool ufo::SemanticSet< N >::any ( offset_t  index,
UnaryPredicate  p 
) const
inline

Definition at line 768 of file semantic_set.hpp.

◆ assign() [1/10]

template<std::size_t N = 1>
template<class UnaryFunction , class = std::enable_if_t<std::is_invocable<UnaryFunction, Semantic>::value>>
void ufo::SemanticSet< N >::assign ( offset_t const  index,
SemanticRange  range,
UnaryFunction  f 
)
inline

Definition at line 543 of file semantic_set.hpp.

◆ assign() [2/10]

template<std::size_t N = 1>
void ufo::SemanticSet< N >::assign ( offset_t const  index,
SemanticRange  range,
value_t  value 
)
inline

Definition at line 524 of file semantic_set.hpp.

◆ assign() [3/10]

template<std::size_t N = 1>
template<class UnaryFunction , class = std::enable_if_t<std::is_invocable<UnaryFunction, Semantic>::value>>
void ufo::SemanticSet< N >::assign ( offset_t const  index,
SemanticRangeSet const &  ranges,
UnaryFunction  f 
)
inline

Definition at line 536 of file semantic_set.hpp.

◆ assign() [4/10]

template<std::size_t N = 1>
void ufo::SemanticSet< N >::assign ( offset_t const  index,
SemanticRangeSet const &  ranges,
value_t  value 
)
inline

Definition at line 529 of file semantic_set.hpp.

◆ assign() [5/10]

template<std::size_t N = 1>
template<class UnaryPredicate , class UnaryFunction , class = std::enable_if_t<std::is_invocable<UnaryFunction, Semantic>::value>, class = std::enable_if_t<std::is_invocable<UnaryPredicate, Semantic>::value>>
void ufo::SemanticSet< N >::assign ( offset_t const  index,
UnaryPredicate  p,
UnaryFunction  f 
)
inline

Definition at line 551 of file semantic_set.hpp.

◆ assign() [6/10]

template<std::size_t N = 1>
template<class UnaryFunction , class = std::enable_if_t<std::is_invocable<UnaryFunction, Semantic>::value>>
void ufo::SemanticSet< N >::assign ( SemanticRange  range,
UnaryFunction  f 
)
inline

Definition at line 503 of file semantic_set.hpp.

◆ assign() [7/10]

template<std::size_t N = 1>
void ufo::SemanticSet< N >::assign ( SemanticRange  range,
value_t  value 
)
inline

Definition at line 491 of file semantic_set.hpp.

◆ assign() [8/10]

template<std::size_t N = 1>
template<class UnaryFunction , class = std::enable_if_t<std::is_invocable<UnaryFunction, Semantic>::value>>
void ufo::SemanticSet< N >::assign ( SemanticRangeSet const &  ranges,
UnaryFunction  f 
)
inline

Definition at line 510 of file semantic_set.hpp.

◆ assign() [9/10]

template<std::size_t N = 1>
void ufo::SemanticSet< N >::assign ( SemanticRangeSet const &  ranges,
value_t  value 
)
inline

Definition at line 496 of file semantic_set.hpp.

◆ assign() [10/10]

template<std::size_t N = 1>
template<class UnaryPredicate , class UnaryFunction , class = std::enable_if_t<std::is_invocable<UnaryFunction, Semantic>::value>, class = std::enable_if_t<std::is_invocable<UnaryPredicate, Semantic>::value>>
void ufo::SemanticSet< N >::assign ( UnaryPredicate  p,
UnaryFunction  f 
)
inline

Definition at line 518 of file semantic_set.hpp.

◆ at()

template<std::size_t N = 1>
std::optional< Semantic > ufo::SemanticSet< N >::at ( offset_t  index,
label_t  label 
) const
inline

Definition at line 651 of file semantic_set.hpp.

◆ begin() [1/4]

template<std::size_t N = 1>
const_iterator ufo::SemanticSet< N >::begin ( ) const
inlinenoexcept

Definition at line 190 of file semantic_set.hpp.

◆ begin() [2/4]

template<std::size_t N = 1>
iterator ufo::SemanticSet< N >::begin ( )
inlinenoexcept

Definition at line 188 of file semantic_set.hpp.

◆ begin() [3/4]

template<std::size_t N = 1>
const_iterator ufo::SemanticSet< N >::begin ( offset_t const  index) const
inlinenoexcept

Definition at line 231 of file semantic_set.hpp.

◆ begin() [4/4]

template<std::size_t N = 1>
iterator ufo::SemanticSet< N >::begin ( offset_t const  index)
inlinenoexcept

Definition at line 226 of file semantic_set.hpp.

◆ cbegin() [1/2]

template<std::size_t N = 1>
const_iterator ufo::SemanticSet< N >::cbegin ( ) const
inlinenoexcept

Definition at line 192 of file semantic_set.hpp.

◆ cbegin() [2/2]

template<std::size_t N = 1>
const_iterator ufo::SemanticSet< N >::cbegin ( offset_t const  index) const
inlinenoexcept

Definition at line 236 of file semantic_set.hpp.

◆ cend() [1/2]

template<std::size_t N = 1>
const_iterator ufo::SemanticSet< N >::cend ( ) const
inlinenoexcept

Definition at line 198 of file semantic_set.hpp.

◆ cend() [2/2]

template<std::size_t N = 1>
const_iterator ufo::SemanticSet< N >::cend ( offset_t const  index) const
inlinenoexcept

Definition at line 248 of file semantic_set.hpp.

◆ clear() [1/2]

template<std::size_t N = 1>
void ufo::SemanticSet< N >::clear ( )
inlinenoexcept

Definition at line 334 of file semantic_set.hpp.

◆ clear() [2/2]

template<std::size_t N = 1>
void ufo::SemanticSet< N >::clear ( offset_t const  index)
inline

Definition at line 336 of file semantic_set.hpp.

◆ contains()

template<std::size_t N = 1>
bool ufo::SemanticSet< N >::contains ( offset_t  index,
label_t  label 
) const
inline

Definition at line 687 of file semantic_set.hpp.

◆ count()

template<std::size_t N = 1>
size_type ufo::SemanticSet< N >::count ( offset_t  index,
label_t  label 
) const
inline

Definition at line 669 of file semantic_set.hpp.

◆ crbegin() [1/2]

template<std::size_t N = 1>
const_reverse_iterator ufo::SemanticSet< N >::crbegin ( ) const
inlinenoexcept

Definition at line 211 of file semantic_set.hpp.

◆ crbegin() [2/2]

template<std::size_t N = 1>
const_reverse_iterator ufo::SemanticSet< N >::crbegin ( offset_t const  index) const
inlinenoexcept

Definition at line 264 of file semantic_set.hpp.

◆ crend() [1/2]

template<std::size_t N = 1>
const_reverse_iterator ufo::SemanticSet< N >::crend ( ) const
inlinenoexcept

Definition at line 220 of file semantic_set.hpp.

◆ crend() [2/2]

template<std::size_t N = 1>
const_reverse_iterator ufo::SemanticSet< N >::crend ( offset_t const  index) const
inlinenoexcept

Definition at line 279 of file semantic_set.hpp.

◆ empty() [1/2]

template<std::size_t N = 1>
bool ufo::SemanticSet< N >::empty ( ) const
inlinenoexcept

Definition at line 288 of file semantic_set.hpp.

◆ empty() [2/2]

template<std::size_t N = 1>
bool ufo::SemanticSet< N >::empty ( offset_t const  index) const
inline

Definition at line 290 of file semantic_set.hpp.

◆ end() [1/4]

template<std::size_t N = 1>
const_iterator ufo::SemanticSet< N >::end ( ) const
inlinenoexcept

Definition at line 196 of file semantic_set.hpp.

◆ end() [2/4]

template<std::size_t N = 1>
iterator ufo::SemanticSet< N >::end ( )
inlinenoexcept

Definition at line 194 of file semantic_set.hpp.

◆ end() [3/4]

template<std::size_t N = 1>
const_iterator ufo::SemanticSet< N >::end ( offset_t const  index) const
inlinenoexcept

Definition at line 243 of file semantic_set.hpp.

◆ end() [4/4]

template<std::size_t N = 1>
iterator ufo::SemanticSet< N >::end ( offset_t const  index)
inlinenoexcept

Definition at line 238 of file semantic_set.hpp.

◆ equal_range()

template<std::size_t N = 1>
std::pair< const_iterator, const_iterator > ufo::SemanticSet< N >::equal_range ( offset_t  index,
label_t  label 
) const
inline

Definition at line 696 of file semantic_set.hpp.

◆ erase() [1/9]

template<std::size_t N = 1>
iterator ufo::SemanticSet< N >::erase ( const_iterator  first,
const_iterator  last 
)
inline

Definition at line 571 of file semantic_set.hpp.

◆ erase() [2/9]

template<std::size_t N = 1>
iterator ufo::SemanticSet< N >::erase ( const_iterator  pos)
inline

Definition at line 560 of file semantic_set.hpp.

◆ erase() [3/9]

template<std::size_t N = 1>
iterator ufo::SemanticSet< N >::erase ( iterator  pos)
inline

Definition at line 565 of file semantic_set.hpp.

◆ erase() [4/9]

template<std::size_t N = 1>
size_type ufo::SemanticSet< N >::erase ( label_t  label)
inline

Definition at line 576 of file semantic_set.hpp.

◆ erase() [5/9]

template<std::size_t N = 1>
size_type ufo::SemanticSet< N >::erase ( offset_t const  index,
label_t  label 
)
inline

Definition at line 585 of file semantic_set.hpp.

◆ erase() [6/9]

template<std::size_t N = 1>
size_type ufo::SemanticSet< N >::erase ( offset_t const  index,
SemanticRange  range 
)
inline

Definition at line 595 of file semantic_set.hpp.

◆ erase() [7/9]

template<std::size_t N = 1>
size_type ufo::SemanticSet< N >::erase ( offset_t const  index,
SemanticRangeSet const &  ranges 
)
inline

Definition at line 590 of file semantic_set.hpp.

◆ erase() [8/9]

template<std::size_t N = 1>
size_type ufo::SemanticSet< N >::erase ( SemanticRange  range)
inline

Definition at line 583 of file semantic_set.hpp.

◆ erase() [9/9]

template<std::size_t N = 1>
size_type ufo::SemanticSet< N >::erase ( SemanticRangeSet const &  ranges)
inline

Definition at line 578 of file semantic_set.hpp.

◆ eraseIf() [1/6]

template<std::size_t N = 1>
template<class UnaryPredicate , class = std::enable_if_t<std::is_invocable<UnaryPredicate, Semantic>::value>>
size_type ufo::SemanticSet< N >::eraseIf ( offset_t const  index,
SemanticRange  range,
UnaryPredicate  p 
)
inline

Definition at line 642 of file semantic_set.hpp.

◆ eraseIf() [2/6]

template<std::size_t N = 1>
template<class UnaryPredicate , class = std::enable_if_t<std::is_invocable<UnaryPredicate, Semantic>::value>>
size_type ufo::SemanticSet< N >::eraseIf ( offset_t const  index,
SemanticRangeSet const &  ranges,
UnaryPredicate  p 
)
inline

Definition at line 634 of file semantic_set.hpp.

◆ eraseIf() [3/6]

template<std::size_t N = 1>
template<class UnaryPredicate , class = std::enable_if_t<std::is_invocable<UnaryPredicate, Semantic>::value>>
size_type ufo::SemanticSet< N >::eraseIf ( offset_t const  index,
UnaryPredicate  p 
)
inline

Definition at line 627 of file semantic_set.hpp.

◆ eraseIf() [4/6]

template<std::size_t N = 1>
template<class UnaryPredicate , class = std::enable_if_t<std::is_invocable<UnaryPredicate, Semantic>::value>>
size_type ufo::SemanticSet< N >::eraseIf ( SemanticRange  range,
UnaryPredicate  p 
)
inline

Definition at line 620 of file semantic_set.hpp.

◆ eraseIf() [5/6]

template<std::size_t N = 1>
template<class UnaryPredicate , class = std::enable_if_t<std::is_invocable<UnaryPredicate, Semantic>::value>>
size_type ufo::SemanticSet< N >::eraseIf ( SemanticRangeSet const &  ranges,
UnaryPredicate  p 
)
inline

Definition at line 613 of file semantic_set.hpp.

◆ eraseIf() [6/6]

template<std::size_t N = 1>
template<class UnaryPredicate , class = std::enable_if_t<std::is_invocable<UnaryPredicate, Semantic>::value>>
size_type ufo::SemanticSet< N >::eraseIf ( UnaryPredicate  p)
inline

Definition at line 606 of file semantic_set.hpp.

◆ fill()

template<std::size_t N = 1>
void ufo::SemanticSet< N >::fill ( SemanticSet< N > const &  parent,
offset_t const  index 
)
inline

Definition at line 143 of file semantic_set.hpp.

◆ find()

template<std::size_t N = 1>
const_iterator ufo::SemanticSet< N >::find ( offset_t  index,
label_t  label 
) const
inline

Definition at line 678 of file semantic_set.hpp.

◆ insert() [1/4]

template<std::size_t N = 1>
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::SemanticSet< N >::insert ( InputIt  first,
InputIt  last 
)
inline

Definition at line 401 of file semantic_set.hpp.

◆ insert() [2/4]

template<std::size_t N = 1>
void ufo::SemanticSet< N >::insert ( label_t  label,
value_t  value 
)
inline

Definition at line 387 of file semantic_set.hpp.

◆ insert() [3/4]

template<std::size_t N = 1>
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::SemanticSet< N >::insert ( offset_t  index,
InputIt  first,
InputIt  last 
)
inline

Definition at line 410 of file semantic_set.hpp.

◆ insert() [4/4]

template<std::size_t N = 1>
void ufo::SemanticSet< N >::insert ( offset_t  index,
label_t  label,
value_t  value 
)
inline

Definition at line 392 of file semantic_set.hpp.

◆ insertOrAssign() [1/8]

template<std::size_t N = 1>
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::SemanticSet< N >::insertOrAssign ( InputIt  first,
InputIt  last 
)
inline

Definition at line 448 of file semantic_set.hpp.

◆ insertOrAssign() [2/8]

template<std::size_t N = 1>
template<class InputIt , class UnaryFunction , class = std::enable_if_t<std::is_invocable<UnaryFunction, Semantic>::value>, typename = std::enable_if_t<std::is_base_of_v< std::input_iterator_tag, typename std::iterator_traits<InputIt>::iterator_category>>>
void ufo::SemanticSet< N >::insertOrAssign ( InputIt  first,
InputIt  last,
UnaryFunction  f 
)
inline

Definition at line 470 of file semantic_set.hpp.

◆ insertOrAssign() [3/8]

template<std::size_t N = 1>
template<class UnaryFunction , class = std::enable_if_t<std::is_invocable<UnaryFunction, Semantic>::value>>
void ufo::SemanticSet< N >::insertOrAssign ( label_t  label,
UnaryFunction  f 
)
inline

Definition at line 431 of file semantic_set.hpp.

◆ insertOrAssign() [4/8]

template<std::size_t N = 1>
void ufo::SemanticSet< N >::insertOrAssign ( label_t  label,
value_t  value 
)
inline

Definition at line 419 of file semantic_set.hpp.

◆ insertOrAssign() [5/8]

template<std::size_t N = 1>
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::SemanticSet< N >::insertOrAssign ( offset_t  index,
InputIt  first,
InputIt  last 
)
inline

Definition at line 458 of file semantic_set.hpp.

◆ insertOrAssign() [6/8]

template<std::size_t N = 1>
template<class InputIt , class UnaryFunction , class = std::enable_if_t<std::is_invocable<UnaryFunction, Semantic>::value>, typename = std::enable_if_t<std::is_base_of_v< std::input_iterator_tag, typename std::iterator_traits<InputIt>::iterator_category>>>
void ufo::SemanticSet< N >::insertOrAssign ( offset_t  index,
InputIt  first,
InputIt  last,
UnaryFunction  f 
)
inline

Definition at line 481 of file semantic_set.hpp.

◆ insertOrAssign() [7/8]

template<std::size_t N = 1>
template<class UnaryFunction , class = std::enable_if_t<std::is_invocable<UnaryFunction, Semantic>::value>>
void ufo::SemanticSet< N >::insertOrAssign ( offset_t  index,
label_t  label,
UnaryFunction  f 
)
inline

Definition at line 438 of file semantic_set.hpp.

◆ insertOrAssign() [8/8]

template<std::size_t N = 1>
void ufo::SemanticSet< N >::insertOrAssign ( offset_t  index,
label_t  label,
value_t  value 
)
inline

Definition at line 424 of file semantic_set.hpp.

◆ isPrunable()

template<std::size_t N = 1>
bool ufo::SemanticSet< N >::isPrunable ( ) const
inline

Definition at line 158 of file semantic_set.hpp.

◆ lower_bound()

template<std::size_t N = 1>
const_iterator ufo::SemanticSet< N >::lower_bound ( offset_t  index,
label_t  label 
) const
inline

Definition at line 706 of file semantic_set.hpp.

◆ memoryUsage()

template<std::size_t N = 1>
std::size_t ufo::SemanticSet< N >::memoryUsage ( ) const
inline

Definition at line 829 of file semantic_set.hpp.

◆ none() [1/5]

template<std::size_t N = 1>
bool ufo::SemanticSet< N >::none ( offset_t  index,
SemanticRange  range 
) const
inline

Definition at line 790 of file semantic_set.hpp.

◆ none() [2/5]

template<std::size_t N = 1>
template<class UnaryPredicate >
bool ufo::SemanticSet< N >::none ( offset_t  index,
SemanticRange  range,
UnaryPredicate  p 
) const
inline

Definition at line 807 of file semantic_set.hpp.

◆ none() [3/5]

template<std::size_t N = 1>
bool ufo::SemanticSet< N >::none ( offset_t  index,
SemanticRangeSet const &  ranges 
) const
inline

Definition at line 795 of file semantic_set.hpp.

◆ none() [4/5]

template<std::size_t N = 1>
template<class UnaryPredicate >
bool ufo::SemanticSet< N >::none ( offset_t  index,
SemanticRangeSet const &  ranges,
UnaryPredicate  p 
) const
inline

Definition at line 813 of file semantic_set.hpp.

◆ none() [5/5]

template<std::size_t N = 1>
template<class UnaryPredicate >
bool ufo::SemanticSet< N >::none ( offset_t  index,
UnaryPredicate  p 
) const
inline

Definition at line 801 of file semantic_set.hpp.

◆ offset()

template<std::size_t N = 1>
std::size_t ufo::SemanticSet< N >::offset ( offset_t const  index) const
inline

Definition at line 325 of file semantic_set.hpp.

◆ operator=() [1/2]

template<std::size_t N = 1>
SemanticSet & ufo::SemanticSet< N >::operator= ( SemanticSet< N > &&  other)
inlinenoexcept

Definition at line 110 of file semantic_set.hpp.

◆ operator=() [2/2]

template<std::size_t N = 1>
SemanticSet & ufo::SemanticSet< N >::operator= ( SemanticSet< N > const &  other)
inline

Definition at line 117 of file semantic_set.hpp.

◆ rbegin() [1/4]

template<std::size_t N = 1>
const_reverse_iterator ufo::SemanticSet< N >::rbegin ( ) const
inlinenoexcept

Definition at line 206 of file semantic_set.hpp.

◆ rbegin() [2/4]

template<std::size_t N = 1>
reverse_iterator ufo::SemanticSet< N >::rbegin ( )
inlinenoexcept

Definition at line 204 of file semantic_set.hpp.

◆ rbegin() [3/4]

template<std::size_t N = 1>
const_reverse_iterator ufo::SemanticSet< N >::rbegin ( offset_t const  index) const
inlinenoexcept

Definition at line 259 of file semantic_set.hpp.

◆ rbegin() [4/4]

template<std::size_t N = 1>
reverse_iterator ufo::SemanticSet< N >::rbegin ( offset_t const  index)
inlinenoexcept

Definition at line 254 of file semantic_set.hpp.

◆ read() [1/3]

template<std::size_t N = 1>
void ufo::SemanticSet< N >::read ( ReadBuffer in)
inline

Definition at line 850 of file semantic_set.hpp.

◆ read() [2/3]

template<std::size_t N = 1>
void ufo::SemanticSet< N >::read ( ReadBuffer in,
BitSet< N >  rf 
)
inline

Definition at line 867 of file semantic_set.hpp.

◆ read() [3/3]

template<std::size_t N = 1>
void ufo::SemanticSet< N >::read ( ReadBuffer in,
offset_t  pos 
)
inline

Definition at line 891 of file semantic_set.hpp.

◆ rend() [1/4]

template<std::size_t N = 1>
const_reverse_iterator ufo::SemanticSet< N >::rend ( ) const
inlinenoexcept

Definition at line 215 of file semantic_set.hpp.

◆ rend() [2/4]

template<std::size_t N = 1>
reverse_iterator ufo::SemanticSet< N >::rend ( )
inlinenoexcept

Definition at line 213 of file semantic_set.hpp.

◆ rend() [3/4]

template<std::size_t N = 1>
const_reverse_iterator ufo::SemanticSet< N >::rend ( offset_t const  index) const
inlinenoexcept

Definition at line 274 of file semantic_set.hpp.

◆ rend() [4/4]

template<std::size_t N = 1>
reverse_iterator ufo::SemanticSet< N >::rend ( offset_t const  index)
inlinenoexcept

Definition at line 269 of file semantic_set.hpp.

◆ resizeLazy()

template<std::size_t N = 1>
void ufo::SemanticSet< N >::resizeLazy ( std::array< size_type, N > const &  new_sizes)
inline

Definition at line 316 of file semantic_set.hpp.

◆ semanticAllocSize()

template<std::size_t N = 1>
size_type ufo::SemanticSet< N >::semanticAllocSize ( ) const
inline

Definition at line 133 of file semantic_set.hpp.

◆ semanticSize()

template<std::size_t N = 1>
static constexpr std::size_t ufo::SemanticSet< N >::semanticSize ( )
inlinestaticconstexpr

Definition at line 131 of file semantic_set.hpp.

◆ set() [1/3]

template<std::size_t N = 1>
template<class InputIt >
void ufo::SemanticSet< N >::set ( offset_t  index,
InputIt  first,
InputIt  last 
)
inline

Definition at line 359 of file semantic_set.hpp.

◆ set() [2/3]

template<std::size_t N = 1>
void ufo::SemanticSet< N >::set ( offset_t  index,
SemanticSet< N > const &  semantics 
)
inline

Definition at line 352 of file semantic_set.hpp.

◆ set() [3/3]

template<std::size_t N = 1>
void ufo::SemanticSet< N >::set ( SemanticSet< N > const &  semantics)
inline

Definition at line 342 of file semantic_set.hpp.

◆ size() [1/2]

template<std::size_t N = 1>
size_type ufo::SemanticSet< N >::size ( ) const
inline

Definition at line 299 of file semantic_set.hpp.

◆ size() [2/2]

template<std::size_t N = 1>
size_type ufo::SemanticSet< N >::size ( offset_t const  index) const
inline

Definition at line 301 of file semantic_set.hpp.

◆ sizes()

template<std::size_t N = 1>
std::array< size_type, N > ufo::SemanticSet< N >::sizes ( ) const
inline

Definition at line 306 of file semantic_set.hpp.

◆ toString() [1/2]

template<std::size_t N = 1>
std::string ufo::SemanticSet< N >::toString ( ) const
inline

Definition at line 819 of file semantic_set.hpp.

◆ toString() [2/2]

template<std::size_t N = 1>
std::string ufo::SemanticSet< N >::toString ( offset_t  index) const
inline

Definition at line 820 of file semantic_set.hpp.

◆ upper_bound()

template<std::size_t N = 1>
const_iterator ufo::SemanticSet< N >::upper_bound ( offset_t  index,
label_t  label 
) const
inline

Definition at line 715 of file semantic_set.hpp.

◆ value()

template<std::size_t N = 1>
std::optional< value_t > ufo::SemanticSet< N >::value ( offset_t  index,
label_t  label 
) const
inline

Definition at line 660 of file semantic_set.hpp.

◆ write() [1/3]

template<std::size_t N = 1>
void ufo::SemanticSet< N >::write ( WriteBuffer out) const
inline

Definition at line 901 of file semantic_set.hpp.

◆ write() [2/3]

template<std::size_t N = 1>
void ufo::SemanticSet< N >::write ( WriteBuffer out,
BitSet< N >  wf 
)
inline

Definition at line 910 of file semantic_set.hpp.

◆ write() [3/3]

template<std::size_t N = 1>
void ufo::SemanticSet< N >::write ( WriteBuffer out,
offset_t  index 
) const
inline

Definition at line 915 of file semantic_set.hpp.

Member Data Documentation

◆ N_H

template<std::size_t N = 1>
constexpr std::size_t ufo::SemanticSet< N >::N_H = 1 + (N - 1) / 2
staticconstexpr

Definition at line 89 of file semantic_set.hpp.

◆ semantics

template<std::size_t N = 1>
std::unique_ptr<Semantic[]> ufo::SemanticSet< N >::semantics

Definition at line 94 of file semantic_set.hpp.


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