Iros
 
Loading...
Searching...
No Matches
tree_multiset.h
Go to the documentation of this file.
1#pragma once
2
11#include "di/function/compare.h"
12#include "di/platform/prelude.h"
15
16namespace di::container {
17template<typename Value, concepts::StrictWeakOrder<Value> Comp = function::Compare,
18 concepts::Allocator Alloc = DefaultAllocator>
20 : public OwningRBTree<
21 Value, Comp, detail::TreeSetTag<Value>, Alloc,
22 SetInterface<TreeMultiSet<Value, Comp, Alloc>, Value, RBTreeIterator<Value, detail::TreeSetTag<Value>>,
23 container::ConstIteratorImpl<RBTreeIterator<Value, detail::TreeSetTag<Value>>>,
24 detail::RBTreeValidForLookup<Value, Comp>::template Type, true>,
25 true> {
26private:
27 using Base = OwningRBTree<
28 Value, Comp, detail::TreeSetTag<Value>, Alloc,
32 true>;
33
34public:
35 using Base::Base;
36};
37
38template<concepts::InputContainer Con, typename T = meta::ContainerValue<Con>>
40
41template<concepts::InputContainer Con, typename T = meta::ContainerValue<Con>, concepts::StrictWeakOrder<T> Comp>
43}
44
45namespace di {
47}
Definition const_iterator_impl.h:19
Definition owning_rb_tree.h:42
Definition rb_tree_iterator.h:10
Definition set_interface.h:18
Definition tree_multiset.h:25
Definition sequence.h:12
di::meta::Decay< decltype(T)> Tag
Definition tag_invoke.h:28
Definition zstring_parser.h:9
constexpr tag_invoke_detail::TagInvokeFn tag_invoke
Definition tag_invoke.h:22
Definition tree_set.h:19
Definition in_place_template.h:5