Iros
 
Loading...
Searching...
No Matches
di::container::OwningRBTree< Value, Comp, Tag, Alloc, Interface, is_multi > Class Template Reference

#include <di/container/tree/owning_rb_tree.h>

Inheritance diagram for di::container::OwningRBTree< Value, Comp, Tag, Alloc, Interface, is_multi >:
[legend]

Public Member Functions

constexpr auto allocator () -> Alloc &
 
template<typename U, concepts::Invocable F>
requires (concepts::StrictWeakOrder<Comp&, Value, U> && concepts::MaybeFallible<meta::InvokeResult<F>, Value>)
constexpr auto insert_with_factory (U &&needle, F &&factory)
 
template<typename U, concepts::Invocable F>
requires (concepts::StrictWeakOrder<Comp&, Value, U> && concepts::MaybeFallible<meta::InvokeResult<F>, Value>)
constexpr auto insert_with_factory (ConstIterator, U &&needle, F &&factory)
 
- Public Member Functions inherited from di::container::RBTree< Value, Comp, Tag, Interface, is_multi, OwningRBTree< Value, Comp, Tag, Alloc, Interface, is_multi > >
 RBTree ()=default
 
 RBTree (RBTree const &)=delete
 
constexpr RBTree (Comp comparator)
 
constexpr RBTree (RBTree &&other)
 
auto operator= (RBTree const &) -> RBTree &=delete
 
constexpr auto operator= (RBTree &&other) -> RBTree &
 
constexpr ~RBTree ()
 
constexpr auto size () const -> usize
 
constexpr auto empty () const -> bool
 
constexpr auto begin () -> Iterator
 
constexpr auto begin () const -> ConstIterator
 
constexpr auto end () -> Iterator
 
constexpr auto end () const -> ConstIterator
 
constexpr auto unconst_iterator (ConstIterator it) -> Iterator
 
constexpr auto insert_node (Node &node)
 
constexpr auto insert_node (ConstIterator, Node &node)
 
constexpr auto erase_impl (ConstIterator position) -> Iterator
 
constexpr auto equal_range_impl (U &&needle) const
 
constexpr auto lower_bound_impl (U &&needle) const -> ConstIterator
 
constexpr auto upper_bound_impl (U &&needle) const -> ConstIterator
 
constexpr auto find_impl (U &&needle) const -> ConstIterator
 
constexpr void merge_impl (RBTree &&other)
 

Additional Inherited Members

- Protected Member Functions inherited from di::container::RBTree< Value, Comp, Tag, Interface, is_multi, OwningRBTree< Value, Comp, Tag, Alloc, Interface, is_multi > >
constexpr void insert_node (InsertPosition position, Node &to_insert)
 
constexpr auto node_value (Node &node) const -> Value &
 
constexpr auto node_value (Node const &node) const -> Value const &
 
constexpr auto node_color (Node *node) const -> Node::Color
 
constexpr void rotate_left (Node &x)
 
constexpr void rotate_right (Node &y)
 
constexpr auto insert_position (U &&needle) const -> InsertPosition
 
constexpr void do_insert_node (InsertPosition position, Node &to_insert)
 
constexpr void do_insert_rebalancing (Node *node)
 
constexpr void transplant (Node &u, Node *v)
 
constexpr void erase_node (Node &to_delete)
 
constexpr void do_erase_rebalancing (Node *x)
 
constexpr auto compare (Node const &a, Node const &b) const
 
constexpr auto compare (T const &a, U &&b) const
 
- Protected Attributes inherited from di::container::RBTree< Value, Comp, Tag, Interface, is_multi, OwningRBTree< Value, Comp, Tag, Alloc, Interface, is_multi > >
Nodem_root
 
Nodem_minimum
 
Nodem_maximum
 
usize m_size
 
Comp m_comparator
 

Member Function Documentation

◆ allocator()

template<typename Value, typename Comp, typename Tag, concepts::Allocator Alloc, typename Interface, bool is_multi>
auto di::container::OwningRBTree< Value, Comp, Tag, Alloc, Interface, is_multi >::allocator ( ) -> Alloc&
inlineconstexpr

◆ insert_with_factory() [1/2]

template<typename Value, typename Comp, typename Tag, concepts::Allocator Alloc, typename Interface, bool is_multi>
template<typename U, concepts::Invocable F>
requires (concepts::StrictWeakOrder<Comp&, Value, U> && concepts::MaybeFallible<meta::InvokeResult<F>, Value>)
auto di::container::OwningRBTree< Value, Comp, Tag, Alloc, Interface, is_multi >::insert_with_factory ( ConstIterator ,
U && needle,
F && factory )
inlineconstexpr

◆ insert_with_factory() [2/2]

template<typename Value, typename Comp, typename Tag, concepts::Allocator Alloc, typename Interface, bool is_multi>
template<typename U, concepts::Invocable F>
requires (concepts::StrictWeakOrder<Comp&, Value, U> && concepts::MaybeFallible<meta::InvokeResult<F>, Value>)
auto di::container::OwningRBTree< Value, Comp, Tag, Alloc, Interface, is_multi >::insert_with_factory ( U && needle,
F && factory )
inlineconstexpr

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