MCPcopy Create free account
hub / github.com/catboost/catboost / TMap

Class TMap

library/cpp/containers/flat_hash/lib/map.h:31–231  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

29 class SizeFitter,
30 class Expander>
31class TMap : private TTable<Hash,
32 KeyEqual,
33 Container,
34 NPrivate::TMapKeyGetter,
35 Probing,
36 SizeFitter,
37 Expander>,
38 public TMapOps<TMap<Key,
39 T,
40 Hash,
41 KeyEqual,
42 Container,
43 Probing,
44 SizeFitter,
45 Expander>>
46{
47private:
48 using TBase = TTable<Hash,
49 KeyEqual,
50 Container,
51 NPrivate::TMapKeyGetter,
52 Probing,
53 SizeFitter,
54 Expander>;
55
56 static_assert(std::is_same<std::pair<const Key, T>, typename Container::value_type>::value);
57
58public:
59 using key_type = Key;
60 using mapped_type = T;
61 using typename TBase::value_type;
62 using typename TBase::size_type;
63 using typename TBase::difference_type;
64 using typename TBase::hasher;
65 using typename TBase::key_equal;
66 using typename TBase::reference;
67 using typename TBase::const_reference;
68 using typename TBase::iterator;
69 using typename TBase::const_iterator;
70 using typename TBase::allocator_type;
71 using typename TBase::pointer;
72 using typename TBase::const_pointer;
73
74private:
75 static constexpr size_type INIT_SIZE = 8;
76
77public:
78 TMap() : TBase(INIT_SIZE) {}
79
80 template <class... Rest>
81 TMap(size_type initSize, Rest&&... rest) : TBase(initSize, std::forward<Rest>(rest)...) {}
82
83 template <class I, class... Rest>
84 TMap(I first, I last,
85 std::enable_if_t<NConcepts::IteratorV<I>, size_type> initSize = INIT_SIZE,
86 Rest&&... rest)
87 : TBase(initSize, std::forward<Rest>(rest)...)
88 {

Callers

nothing calls this directly

Calls 4

findFunction · 0.50
endFunction · 0.50
atMethod · 0.45
InitNodeMethod · 0.45

Tested by

no test coverage detected