MCPcopy Create free account
hub / github.com/OpenStarbound/OpenStarbound / OrderedMapWrapper

Class OrderedMapWrapper

source/core/StarOrderedMap.hpp:10–156  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

8// underlying map order.
9template <template <typename...> class Map, typename Key, typename Value, typename Allocator, typename... MapArgs>
10class OrderedMapWrapper {
11public:
12 typedef Key key_type;
13 typedef Value mapped_type;
14 typedef pair<key_type const, mapped_type> value_type;
15
16 typedef LinkedList<value_type, Allocator> OrderType;
17 typedef Map<
18 std::reference_wrapper<key_type const>, typename OrderType::iterator, MapArgs...,
19 typename std::allocator_traits<Allocator>::template rebind_alloc<pair<std::reference_wrapper<key_type const> const, typename OrderType::iterator>>
20 > MapType;
21
22 typedef typename OrderType::iterator iterator;
23 typedef typename OrderType::const_iterator const_iterator;
24
25 typedef typename OrderType::reverse_iterator reverse_iterator;
26 typedef typename OrderType::const_reverse_iterator const_reverse_iterator;
27
28 typedef typename std::decay<mapped_type>::type* mapped_ptr;
29 typedef typename std::decay<mapped_type>::type const* mapped_const_ptr;
30
31 template <typename Collection>
32 static OrderedMapWrapper from(Collection const& c);
33
34 OrderedMapWrapper();
35
36 OrderedMapWrapper(OrderedMapWrapper const& map);
37
38 template <typename InputIterator>
39 OrderedMapWrapper(InputIterator beg, InputIterator end);
40
41 OrderedMapWrapper(initializer_list<value_type> list);
42
43 List<key_type> keys() const;
44 List<mapped_type> values() const;
45 List<pair<key_type, mapped_type>> pairs() const;
46
47 bool contains(key_type const& k) const;
48
49 // Throws MapException if key not found
50 mapped_type& get(key_type const& k);
51 mapped_type const& get(key_type const& k) const;
52
53 // Return def if key not found
54 mapped_type value(key_type const& k, mapped_type d = mapped_type()) const;
55
56 Maybe<mapped_type> maybe(key_type const& k) const;
57
58 mapped_const_ptr ptr(key_type const& k) const;
59 mapped_ptr ptr(key_type const& k);
60
61 mapped_type& operator[](key_type const& k);
62
63 OrderedMapWrapper& operator=(OrderedMapWrapper const& map);
64
65 bool operator==(OrderedMapWrapper const& m) const;
66
67 // Finds first value matching the given value and returns its key, throws

Callers 1

fromMethod · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected