/Users/deen/code/yugabyte-db/src/yb/gutil/map-util.h
Line | Count | Source (jump to first uncovered line) |
1 | | // Copyright 2005 Google Inc. |
2 | | // |
3 | | // #status: RECOMMENDED |
4 | | // #category: maps |
5 | | // #summary: Utility functions for use with map-like containers. |
6 | | // |
7 | | // This file provides utility functions for use with STL map-like data |
8 | | // structures, such as std::map and hash_map. Some functions will also work with |
9 | | // sets, such as ContainsKey(). |
10 | | // |
11 | | // The main functions in this file fall into the following categories: |
12 | | // |
13 | | // - Find*() |
14 | | // - Contains*() |
15 | | // - Insert*() |
16 | | // - Lookup*() |
17 | | // |
18 | | // These functions often have "...OrDie" or "...OrDieNoPrint" variants. These |
19 | | // variants will crash the process with a CHECK() failure on error, including |
20 | | // the offending key/data in the log message. The NoPrint variants will not |
21 | | // include the key/data in the log output under the assumption that it's not a |
22 | | // printable type. |
23 | | // |
24 | | // Most functions are fairly self explanatory from their names, with the |
25 | | // exception of Find*() vs Lookup*(). The Find functions typically use the map's |
26 | | // .find() member function to locate and return the map's value type. The |
27 | | // Lookup*() functions typically use the map's .insert() (yes, insert) member |
28 | | // function to insert the given value if necessary and returns (usually a |
29 | | // reference to) the map's value type for the found item. |
30 | | // |
31 | | // See the per-function comments for specifics. |
32 | | // |
33 | | // There are also a handful of functions for doing other miscellaneous things. |
34 | | // |
35 | | // A note on terminology: |
36 | | // |
37 | | // Map-like containers are collections of pairs. Like all STL containers they |
38 | | // contain a few standard typedefs identifying the types of data they contain. |
39 | | // Given the following map declaration: |
40 | | // |
41 | | // map<string, int> my_map; |
42 | | // |
43 | | // the notable typedefs would be as follows: |
44 | | // |
45 | | // - key_type -- string |
46 | | // - value_type -- pair<const string, int> |
47 | | // - mapped_type -- int |
48 | | // |
49 | | // Note that the map above contains two types of "values": the key-value pairs |
50 | | // themselves (value_type) and the values within the key-value pairs |
51 | | // (mapped_type). A value_type consists of a key_type and a mapped_type. |
52 | | // |
53 | | // The documentation below is written for programmers thinking in terms of keys |
54 | | // and the (mapped_type) values associated with a given key. For example, the |
55 | | // statement |
56 | | // |
57 | | // my_map["foo"] = 3; |
58 | | // |
59 | | // has a key of "foo" (type: string) with a value of 3 (type: int). |
60 | | // |
61 | | |
62 | | // |
63 | | // The following only applies to changes made to this file as part of YugaByte development. |
64 | | // |
65 | | // Portions Copyright (c) YugaByte, Inc. |
66 | | // |
67 | | // Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except |
68 | | // in compliance with the License. You may obtain a copy of the License at |
69 | | // |
70 | | // http://www.apache.org/licenses/LICENSE-2.0 |
71 | | // |
72 | | // Unless required by applicable law or agreed to in writing, software distributed under the License |
73 | | // is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express |
74 | | // or implied. See the License for the specific language governing permissions and limitations |
75 | | // under the License. |
76 | | // |
77 | | #ifndef YB_GUTIL_MAP_UTIL_H |
78 | | #define YB_GUTIL_MAP_UTIL_H |
79 | | |
80 | | #include <string> |
81 | | #include <vector> |
82 | | |
83 | | using std::make_pair; |
84 | | using std::pair; |
85 | | using std::string; |
86 | | using std::vector; |
87 | | |
88 | | |
89 | | |
90 | | // |
91 | | // Find*() |
92 | | // |
93 | | |
94 | | // Returns a const reference to the value associated with the given key if it |
95 | | // exists. Crashes otherwise. |
96 | | // |
97 | | // This is intended as a replacement for operator[] as an rvalue (for reading) |
98 | | // when the key is guaranteed to exist. |
99 | | // |
100 | | // operator[] for lookup is discouraged for several reasons: |
101 | | // * It has a side-effect of inserting missing keys |
102 | | // * It is not thread-safe (even when it is not inserting, it can still |
103 | | // choose to resize the underlying storage) |
104 | | // * It invalidates iterators (when it chooses to resize) |
105 | | // * It default constructs a value object even if it doesn't need to |
106 | | // |
107 | | // This version assumes the key is printable, and includes it in the fatal log |
108 | | // message. |
109 | | template <class Collection> |
110 | | const typename Collection::value_type::second_type& |
111 | | FindOrDie(const Collection& collection, |
112 | 8.75k | const typename Collection::value_type::first_type& key) { |
113 | 8.75k | auto it = collection.find(key); |
114 | 8.75k | CHECK(it != collection.end()) << "Map key not found: " << key0 ; |
115 | 8.75k | return it->second; |
116 | 8.75k | } |
117 | | |
118 | | // Same as above, but returns a non-const reference. |
119 | | template <class Collection> |
120 | | typename Collection::value_type::second_type& |
121 | | FindOrDie(Collection& collection, // NOLINT |
122 | 31.5M | const typename Collection::value_type::first_type& key) { |
123 | 31.5M | auto it = collection.find(key); |
124 | 31.5M | CHECK(it != collection.end()) << "Map key not found: " << key23.9k ; |
125 | 31.5M | return it->second; |
126 | 31.5M | } std::__1::unordered_map<scoped_refptr<yb::tablet::OperationDriver>, yb::tablet::OperationTracker::State, ScopedRefPtrHashFunctor, ScopedRefPtrEqualsFunctor, std::__1::allocator<std::__1::pair<scoped_refptr<yb::tablet::OperationDriver> const, yb::tablet::OperationTracker::State> > >::value_type::second_type& FindOrDie<std::__1::unordered_map<scoped_refptr<yb::tablet::OperationDriver>, yb::tablet::OperationTracker::State, ScopedRefPtrHashFunctor, ScopedRefPtrEqualsFunctor, std::__1::allocator<std::__1::pair<scoped_refptr<yb::tablet::OperationDriver> const, yb::tablet::OperationTracker::State> > > >(std::__1::unordered_map<scoped_refptr<yb::tablet::OperationDriver>, yb::tablet::OperationTracker::State, ScopedRefPtrHashFunctor, ScopedRefPtrEqualsFunctor, std::__1::allocator<std::__1::pair<scoped_refptr<yb::tablet::OperationDriver> const, yb::tablet::OperationTracker::State> > >&, std::__1::unordered_map<scoped_refptr<yb::tablet::OperationDriver>, yb::tablet::OperationTracker::State, ScopedRefPtrHashFunctor, ScopedRefPtrEqualsFunctor, std::__1::allocator<std::__1::pair<scoped_refptr<yb::tablet::OperationDriver> const, yb::tablet::OperationTracker::State> > >::value_type::first_type const&) Line | Count | Source | 122 | 31.4M | const typename Collection::value_type::first_type& key) { | 123 | 31.4M | auto it = collection.find(key); | 124 | 31.4M | CHECK(it != collection.end()) << "Map key not found: " << key23.9k ; | 125 | 31.4M | return it->second; | 126 | 31.4M | } |
std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yb::consensus::PeerMessageQueue::TrackedPeer*, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, yb::consensus::PeerMessageQueue::TrackedPeer*> > >::value_type::second_type& FindOrDie<std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yb::consensus::PeerMessageQueue::TrackedPeer*, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, yb::consensus::PeerMessageQueue::TrackedPeer*> > > >(std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yb::consensus::PeerMessageQueue::TrackedPeer*, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, yb::consensus::PeerMessageQueue::TrackedPeer*> > >&, std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yb::consensus::PeerMessageQueue::TrackedPeer*, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, yb::consensus::PeerMessageQueue::TrackedPeer*> > >::value_type::first_type const&) Line | Count | Source | 122 | 10 | const typename Collection::value_type::first_type& key) { | 123 | 10 | auto it = collection.find(key); | 124 | 10 | CHECK(it != collection.end()) << "Map key not found: " << key0 ; | 125 | 10 | return it->second; | 126 | 10 | } |
std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::vector<std::__1::pair<yb::Status, unsigned long long>, std::__1::allocator<std::__1::pair<yb::Status, unsigned long long> > >, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::vector<std::__1::pair<yb::Status, unsigned long long>, std::__1::allocator<std::__1::pair<yb::Status, unsigned long long> > > > > >, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::vector<std::__1::pair<yb::Status, unsigned long long>, std::__1::allocator<std::__1::pair<yb::Status, unsigned long long> > >, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::vector<std::__1::pair<yb::Status, unsigned long long>, std::__1::allocator<std::__1::pair<yb::Status, unsigned long long> > > > > > > > >::value_type::second_type& FindOrDie<std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::vector<std::__1::pair<yb::Status, unsigned long long>, std::__1::allocator<std::__1::pair<yb::Status, unsigned long long> > >, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::vector<std::__1::pair<yb::Status, unsigned long long>, std::__1::allocator<std::__1::pair<yb::Status, unsigned long long> > > > > >, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::vector<std::__1::pair<yb::Status, unsigned long long>, std::__1::allocator<std::__1::pair<yb::Status, unsigned long long> > >, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::vector<std::__1::pair<yb::Status, unsigned long long>, std::__1::allocator<std::__1::pair<yb::Status, unsigned long long> > > > > > > > > >(std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::vector<std::__1::pair<yb::Status, unsigned long long>, std::__1::allocator<std::__1::pair<yb::Status, unsigned long long> > >, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::vector<std::__1::pair<yb::Status, unsigned long long>, std::__1::allocator<std::__1::pair<yb::Status, unsigned long long> > > > > >, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::vector<std::__1::pair<yb::Status, unsigned long long>, std::__1::allocator<std::__1::pair<yb::Status, unsigned long long> > >, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::vector<std::__1::pair<yb::Status, unsigned long long>, std::__1::allocator<std::__1::pair<yb::Status, unsigned long long> > > > > > > > >&, std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::vector<std::__1::pair<yb::Status, unsigned long long>, std::__1::allocator<std::__1::pair<yb::Status, unsigned long long> > >, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::vector<std::__1::pair<yb::Status, unsigned long long>, std::__1::allocator<std::__1::pair<yb::Status, unsigned long long> > > > > >, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::vector<std::__1::pair<yb::Status, unsigned long long>, std::__1::allocator<std::__1::pair<yb::Status, unsigned long long> > >, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::vector<std::__1::pair<yb::Status, unsigned long long>, std::__1::allocator<std::__1::pair<yb::Status, unsigned long long> > > > > > > > >::value_type::first_type const&) Line | Count | Source | 122 | 1.46k | const typename Collection::value_type::first_type& key) { | 123 | 1.46k | auto it = collection.find(key); | 124 | 1.46k | CHECK(it != collection.end()) << "Map key not found: " << key0 ; | 125 | 1.46k | return it->second; | 126 | 1.46k | } |
std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > >::value_type::second_type& FindOrDie<std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > > >(std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > >&, std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > >::value_type::first_type const&) Line | Count | Source | 122 | 80.1k | const typename Collection::value_type::first_type& key) { | 123 | 80.1k | auto it = collection.find(key); | 124 | 80.1k | CHECK(it != collection.end()) << "Map key not found: " << key0 ; | 125 | 80.1k | return it->second; | 126 | 80.1k | } |
std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::unique_ptr<yb::itest::TServerDetails, std::__1::default_delete<yb::itest::TServerDetails> >, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::unique_ptr<yb::itest::TServerDetails, std::__1::default_delete<yb::itest::TServerDetails> > > > >::value_type::second_type& FindOrDie<std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::unique_ptr<yb::itest::TServerDetails, std::__1::default_delete<yb::itest::TServerDetails> >, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::unique_ptr<yb::itest::TServerDetails, std::__1::default_delete<yb::itest::TServerDetails> > > > > >(std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::unique_ptr<yb::itest::TServerDetails, std::__1::default_delete<yb::itest::TServerDetails> >, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::unique_ptr<yb::itest::TServerDetails, std::__1::default_delete<yb::itest::TServerDetails> > > > >&, std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::unique_ptr<yb::itest::TServerDetails, std::__1::default_delete<yb::itest::TServerDetails> >, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::unique_ptr<yb::itest::TServerDetails, std::__1::default_delete<yb::itest::TServerDetails> > > > >::value_type::first_type const&) Line | Count | Source | 122 | 210 | const typename Collection::value_type::first_type& key) { | 123 | 210 | auto it = collection.find(key); | 124 | 210 | CHECK(it != collection.end()) << "Map key not found: " << key0 ; | 125 | 210 | return it->second; | 126 | 210 | } |
std::__1::unordered_map<yb::DataType, std::__1::shared_ptr<yb::KeyEncoder<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >, std::__1::hash<unsigned long>, std::__1::equal_to<yb::DataType>, std::__1::allocator<std::__1::pair<yb::DataType const, std::__1::shared_ptr<yb::KeyEncoder<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > > > >::value_type::second_type& FindOrDie<std::__1::unordered_map<yb::DataType, std::__1::shared_ptr<yb::KeyEncoder<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >, std::__1::hash<unsigned long>, std::__1::equal_to<yb::DataType>, std::__1::allocator<std::__1::pair<yb::DataType const, std::__1::shared_ptr<yb::KeyEncoder<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > > > > >(std::__1::unordered_map<yb::DataType, std::__1::shared_ptr<yb::KeyEncoder<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >, std::__1::hash<unsigned long>, std::__1::equal_to<yb::DataType>, std::__1::allocator<std::__1::pair<yb::DataType const, std::__1::shared_ptr<yb::KeyEncoder<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > > > >&, std::__1::unordered_map<yb::DataType, std::__1::shared_ptr<yb::KeyEncoder<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >, std::__1::hash<unsigned long>, std::__1::equal_to<yb::DataType>, std::__1::allocator<std::__1::pair<yb::DataType const, std::__1::shared_ptr<yb::KeyEncoder<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > > > >::value_type::first_type const&) Line | Count | Source | 122 | 8.49k | const typename Collection::value_type::first_type& key) { | 123 | 8.49k | auto it = collection.find(key); | 124 | 8.49k | CHECK(it != collection.end()) << "Map key not found: " << key0 ; | 125 | 8.49k | return it->second; | 126 | 8.49k | } |
Unexecuted instantiation: std::__1::unordered_map<yb::DataType, std::__1::shared_ptr<yb::KeyEncoder<yb::faststring> >, std::__1::hash<unsigned long>, std::__1::equal_to<yb::DataType>, std::__1::allocator<std::__1::pair<yb::DataType const, std::__1::shared_ptr<yb::KeyEncoder<yb::faststring> > > > >::value_type::second_type& FindOrDie<std::__1::unordered_map<yb::DataType, std::__1::shared_ptr<yb::KeyEncoder<yb::faststring> >, std::__1::hash<unsigned long>, std::__1::equal_to<yb::DataType>, std::__1::allocator<std::__1::pair<yb::DataType const, std::__1::shared_ptr<yb::KeyEncoder<yb::faststring> > > > > >(std::__1::unordered_map<yb::DataType, std::__1::shared_ptr<yb::KeyEncoder<yb::faststring> >, std::__1::hash<unsigned long>, std::__1::equal_to<yb::DataType>, std::__1::allocator<std::__1::pair<yb::DataType const, std::__1::shared_ptr<yb::KeyEncoder<yb::faststring> > > > >&, std::__1::unordered_map<yb::DataType, std::__1::shared_ptr<yb::KeyEncoder<yb::faststring> >, std::__1::hash<unsigned long>, std::__1::equal_to<yb::DataType>, std::__1::allocator<std::__1::pair<yb::DataType const, std::__1::shared_ptr<yb::KeyEncoder<yb::faststring> > > > >::value_type::first_type const&) std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yb::TimedFailureDetector::Node*, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, yb::TimedFailureDetector::Node*> > >::value_type::second_type& FindOrDie<std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yb::TimedFailureDetector::Node*, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, yb::TimedFailureDetector::Node*> > > >(std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yb::TimedFailureDetector::Node*, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, yb::TimedFailureDetector::Node*> > >&, std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yb::TimedFailureDetector::Node*, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, yb::TimedFailureDetector::Node*> > >::value_type::first_type const&) Line | Count | Source | 122 | 8 | const typename Collection::value_type::first_type& key) { | 123 | 8 | auto it = collection.find(key); | 124 | 8 | CHECK(it != collection.end()) << "Map key not found: " << key0 ; | 125 | 8 | return it->second; | 126 | 8 | } |
Unexecuted instantiation: std::__1::map<long long, scoped_refptr<yb::log::LogIndex::IndexChunk>, std::__1::less<long long>, std::__1::allocator<std::__1::pair<long long const, scoped_refptr<yb::log::LogIndex::IndexChunk> > > >::value_type::second_type& FindOrDie<std::__1::map<long long, scoped_refptr<yb::log::LogIndex::IndexChunk>, std::__1::less<long long>, std::__1::allocator<std::__1::pair<long long const, scoped_refptr<yb::log::LogIndex::IndexChunk> > > > >(std::__1::map<long long, scoped_refptr<yb::log::LogIndex::IndexChunk>, std::__1::less<long long>, std::__1::allocator<std::__1::pair<long long const, scoped_refptr<yb::log::LogIndex::IndexChunk> > > >&, std::__1::map<long long, scoped_refptr<yb::log::LogIndex::IndexChunk>, std::__1::less<long long>, std::__1::allocator<std::__1::pair<long long const, scoped_refptr<yb::log::LogIndex::IndexChunk> > > >::value_type::first_type const&) |
127 | | |
128 | | // Same as FindOrDie above, but doesn't log the key on failure. |
129 | | template <class Collection> |
130 | | const typename Collection::value_type::second_type& |
131 | | FindOrDieNoPrint(const Collection& collection, |
132 | | const typename Collection::value_type::first_type& key) { |
133 | | typename Collection::const_iterator it = collection.find(key); |
134 | | CHECK(it != collection.end()) << "Map key not found"; |
135 | | return it->second; |
136 | | } |
137 | | |
138 | | // Same as above, but returns a non-const reference. |
139 | | template <class Collection> |
140 | | typename Collection::value_type::second_type& |
141 | | FindOrDieNoPrint(Collection& collection, // NOLINT |
142 | | const typename Collection::value_type::first_type& key) { |
143 | | typename Collection::iterator it = collection.find(key); |
144 | | CHECK(it != collection.end()) << "Map key not found"; |
145 | | return it->second; |
146 | | } |
147 | | |
148 | | // Returns a const reference to the value associated with the given key if it |
149 | | // exists, otherwise a const reference to the provided default value is |
150 | | // returned. |
151 | | // |
152 | | // WARNING: If a temporary object is passed as the default "value," this |
153 | | // function will return a reference to that temporary object, which will be |
154 | | // destroyed by the end of the statement. Specifically, if you have a map with |
155 | | // string values, and you pass a char* as the default "value," either use the |
156 | | // returned value immediately or store it in a string (not string&). Details: |
157 | | template <class Collection> |
158 | | const typename Collection::value_type::second_type& |
159 | | FindWithDefault(const Collection& collection, |
160 | | const typename Collection::value_type::first_type& key, |
161 | 5.79M | const typename Collection::value_type::second_type& value) { |
162 | 5.79M | auto it = collection.find(key); |
163 | 5.79M | if (it == collection.end()) { |
164 | 5.79M | return value; |
165 | 5.79M | } |
166 | 1.84k | return it->second; |
167 | 5.79M | } std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > >::value_type::second_type const& FindWithDefault<std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > > >(std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > > const&, std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > >::value_type::first_type const&, std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > >::value_type::second_type const) Line | Count | Source | 161 | 65.8k | const typename Collection::value_type::second_type& value) { | 162 | 65.8k | auto it = collection.find(key); | 163 | 65.8k | if (it == collection.end()) { | 164 | 65.8k | return value; | 165 | 65.8k | } | 166 | 1 | return it->second; | 167 | 65.8k | } |
std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, int, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, int> > >::value_type::second_type const& FindWithDefault<std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, int, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, int> > > >(std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, int, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, int> > > const&, std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, int, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, int> > >::value_type::first_type const&, std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, int, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, int> > >::value_type::second_type const) Line | Count | Source | 161 | 5.72M | const typename Collection::value_type::second_type& value) { | 162 | 5.72M | auto it = collection.find(key); | 163 | 5.72M | if (it == collection.end()) { | 164 | 5.72M | return value; | 165 | 5.72M | } | 166 | 1.84k | return it->second; | 167 | 5.72M | } |
Unexecuted instantiation: google::protobuf::Map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::value_type::second_type const& FindWithDefault<google::protobuf::Map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(google::protobuf::Map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > const&, google::protobuf::Map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::value_type::first_type const&, google::protobuf::Map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::value_type::second_type const) |
168 | | |
169 | | // Returns a pointer to the const value associated with the given key if it |
170 | | // exists, or NULL otherwise. |
171 | | template <class Collection> |
172 | | const typename Collection::value_type::second_type* |
173 | | FindOrNull(const Collection& collection, |
174 | 38.7M | const typename Collection::value_type::first_type& key) { |
175 | 38.7M | auto it = collection.find(key); |
176 | 38.7M | if (it == collection.end()) { |
177 | 160k | return 0; |
178 | 160k | } |
179 | 38.6M | return &it->second; |
180 | 38.7M | } std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::shared_ptr<yb::tablet::TabletPeer>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::shared_ptr<yb::tablet::TabletPeer> > > >::value_type::second_type const* FindOrNull<std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::shared_ptr<yb::tablet::TabletPeer>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::shared_ptr<yb::tablet::TabletPeer> > > > >(std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::shared_ptr<yb::tablet::TabletPeer>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::shared_ptr<yb::tablet::TabletPeer> > > > const&, std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::shared_ptr<yb::tablet::TabletPeer>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::shared_ptr<yb::tablet::TabletPeer> > > >::value_type::first_type const&) Line | Count | Source | 174 | 38.3M | const typename Collection::value_type::first_type& key) { | 175 | 38.3M | auto it = collection.find(key); | 176 | 38.3M | if (it == collection.end()) { | 177 | 145k | return 0; | 178 | 145k | } | 179 | 38.1M | return &it->second; | 180 | 38.3M | } |
std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > >::value_type::second_type const* FindOrNull<std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > > >(std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > > const&, std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > >::value_type::first_type const&) Line | Count | Source | 174 | 15.9k | const typename Collection::value_type::first_type& key) { | 175 | 15.9k | auto it = collection.find(key); | 176 | 15.9k | if (it == collection.end()) { | 177 | 15.3k | return 0; | 178 | 15.3k | } | 179 | 576 | return &it->second; | 180 | 15.9k | } |
std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, scoped_refptr<yb::master::TableInfo>, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, scoped_refptr<yb::master::TableInfo> > > >::value_type::second_type const* FindOrNull<std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, scoped_refptr<yb::master::TableInfo>, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, scoped_refptr<yb::master::TableInfo> > > > >(std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, scoped_refptr<yb::master::TableInfo>, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, scoped_refptr<yb::master::TableInfo> > > > const&, std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, scoped_refptr<yb::master::TableInfo>, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, scoped_refptr<yb::master::TableInfo> > > >::value_type::first_type const&) Line | Count | Source | 174 | 454k | const typename Collection::value_type::first_type& key) { | 175 | 454k | auto it = collection.find(key); | 176 | 454k | if (it == collection.end()) { | 177 | 0 | return 0; | 178 | 0 | } | 179 | 454k | return &it->second; | 180 | 454k | } |
|
181 | | |
182 | | // Same as above but returns a pointer to the non-const value. |
183 | | template <class Collection> |
184 | | typename Collection::value_type::second_type* |
185 | | FindOrNull(Collection& collection, // NOLINT |
186 | 6.57M | const typename Collection::value_type::first_type& key) { |
187 | 6.57M | auto it = collection.find(key); |
188 | 6.57M | if (it == collection.end()) { |
189 | 342k | return 0; |
190 | 342k | } |
191 | 6.23M | return &it->second; |
192 | 6.57M | } std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yb::tserver::TSTabletManager::TabletReportState, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, yb::tserver::TSTabletManager::TabletReportState> > >::value_type::second_type* FindOrNull<std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yb::tserver::TSTabletManager::TabletReportState, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, yb::tserver::TSTabletManager::TabletReportState> > > >(std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yb::tserver::TSTabletManager::TabletReportState, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, yb::tserver::TSTabletManager::TabletReportState> > >&, std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yb::tserver::TSTabletManager::TabletReportState, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, yb::tserver::TSTabletManager::TabletReportState> > >::value_type::first_type const&) Line | Count | Source | 186 | 592k | const typename Collection::value_type::first_type& key) { | 187 | 592k | auto it = collection.find(key); | 188 | 592k | if (it == collection.end()) { | 189 | 342k | return 0; | 190 | 342k | } | 191 | 250k | return &it->second; | 192 | 592k | } |
std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::shared_ptr<yb::tablet::TabletPeer>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::shared_ptr<yb::tablet::TabletPeer> > > >::value_type::second_type* FindOrNull<std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::shared_ptr<yb::tablet::TabletPeer>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::shared_ptr<yb::tablet::TabletPeer> > > > >(std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::shared_ptr<yb::tablet::TabletPeer>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::shared_ptr<yb::tablet::TabletPeer> > > >&, std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::shared_ptr<yb::tablet::TabletPeer>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::shared_ptr<yb::tablet::TabletPeer> > > >::value_type::first_type const&) Line | Count | Source | 186 | 455k | const typename Collection::value_type::first_type& key) { | 187 | 455k | auto it = collection.find(key); | 188 | 455k | if (it == collection.end()) { | 189 | 4 | return 0; | 190 | 4 | } | 191 | 455k | return &it->second; | 192 | 455k | } |
std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::shared_ptr<yb::master::TSDescriptor>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::shared_ptr<yb::master::TSDescriptor> > > >::value_type::second_type* FindOrNull<std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::shared_ptr<yb::master::TSDescriptor>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::shared_ptr<yb::master::TSDescriptor> > > > >(std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::shared_ptr<yb::master::TSDescriptor>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::shared_ptr<yb::master::TSDescriptor> > > >&, std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::shared_ptr<yb::master::TSDescriptor>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::shared_ptr<yb::master::TSDescriptor> > > >::value_type::first_type const&) Line | Count | Source | 186 | 5.53M | const typename Collection::value_type::first_type& key) { | 187 | 5.53M | auto it = collection.find(key); | 188 | 5.53M | if (it == collection.end()) { | 189 | 232 | return 0; | 190 | 232 | } | 191 | 5.53M | return &it->second; | 192 | 5.53M | } |
Unexecuted instantiation: google::protobuf::Map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yb::cdc::ProducerEntryPB>::value_type::second_type* FindOrNull<google::protobuf::Map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yb::cdc::ProducerEntryPB> >(google::protobuf::Map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yb::cdc::ProducerEntryPB>&, google::protobuf::Map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yb::cdc::ProducerEntryPB>::value_type::first_type const&) Unexecuted instantiation: google::protobuf::Map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yb::cdc::StreamEntryPB>::value_type::second_type* FindOrNull<google::protobuf::Map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yb::cdc::StreamEntryPB> >(google::protobuf::Map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yb::cdc::StreamEntryPB>&, google::protobuf::Map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yb::cdc::StreamEntryPB>::value_type::first_type const&) |
193 | | |
194 | | // Returns a pointer to the const value associated with the greatest key |
195 | | // that's less than or equal to the given key, or NULL if no such key exists. |
196 | | template <class Collection> |
197 | | const typename Collection::value_type::second_type* |
198 | | FindFloorOrNull(const Collection& collection, |
199 | | const typename Collection::value_type::first_type& key) { |
200 | | auto it = collection.upper_bound(key); |
201 | | if (it == collection.begin()) { |
202 | | return 0; |
203 | | } |
204 | | return &(--it)->second; |
205 | | } |
206 | | |
207 | | // Same as above but returns a pointer to the non-const value. |
208 | | template <class Collection> |
209 | | typename Collection::value_type::second_type* |
210 | | FindFloorOrNull(Collection& collection, // NOLINT |
211 | | const typename Collection::value_type::first_type& key) { |
212 | | auto it = collection.upper_bound(key); |
213 | | if (it == collection.begin()) { |
214 | | return 0; |
215 | | } |
216 | | return &(--it)->second; |
217 | | } |
218 | | |
219 | | // Returns the pointer value associated with the given key. If none is found, |
220 | | // NULL is returned. The function is designed to be used with a map of keys to |
221 | | // pointers. |
222 | | // |
223 | | // This function does not distinguish between a missing key and a key mapped |
224 | | // to a NULL value. |
225 | | template <class Collection> |
226 | | typename Collection::value_type::second_type |
227 | | FindPtrOrNull(const Collection& collection, |
228 | 10.2M | const typename Collection::value_type::first_type& key) { |
229 | 10.2M | auto it = collection.find(key); |
230 | 10.2M | if (it == collection.end()) { |
231 | 4.70M | return typename Collection::value_type::second_type(0); |
232 | 4.70M | } |
233 | 5.57M | return it->second; |
234 | 10.2M | } std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yb::consensus::PeerMessageQueue::TrackedPeer*, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, yb::consensus::PeerMessageQueue::TrackedPeer*> > >::value_type::second_type FindPtrOrNull<std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yb::consensus::PeerMessageQueue::TrackedPeer*, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, yb::consensus::PeerMessageQueue::TrackedPeer*> > > >(std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yb::consensus::PeerMessageQueue::TrackedPeer*, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, yb::consensus::PeerMessageQueue::TrackedPeer*> > > const&, std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yb::consensus::PeerMessageQueue::TrackedPeer*, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, yb::consensus::PeerMessageQueue::TrackedPeer*> > >::value_type::first_type const&) Line | Count | Source | 228 | 333k | const typename Collection::value_type::first_type& key) { | 229 | 333k | auto it = collection.find(key); | 230 | 333k | if (it == collection.end()) { | 231 | 106k | return typename Collection::value_type::second_type(0); | 232 | 106k | } | 233 | 227k | return it->second; | 234 | 333k | } |
std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, scoped_refptr<yb::master::TableInfo>, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, scoped_refptr<yb::master::TableInfo> > > >::value_type::second_type FindPtrOrNull<std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, scoped_refptr<yb::master::TableInfo>, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, scoped_refptr<yb::master::TableInfo> > > > >(std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, scoped_refptr<yb::master::TableInfo>, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, scoped_refptr<yb::master::TableInfo> > > > const&, std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, scoped_refptr<yb::master::TableInfo>, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, scoped_refptr<yb::master::TableInfo> > > >::value_type::first_type const&) Line | Count | Source | 228 | 7.17M | const typename Collection::value_type::first_type& key) { | 229 | 7.17M | auto it = collection.find(key); | 230 | 7.17M | if (it == collection.end()) { | 231 | 4.51M | return typename Collection::value_type::second_type(0); | 232 | 4.51M | } | 233 | 2.66M | return it->second; | 234 | 7.17M | } |
std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, scoped_refptr<yb::master::TabletInfo>, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, scoped_refptr<yb::master::TabletInfo> > > >::value_type::second_type FindPtrOrNull<std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, scoped_refptr<yb::master::TabletInfo>, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, scoped_refptr<yb::master::TabletInfo> > > > >(std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, scoped_refptr<yb::master::TabletInfo>, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, scoped_refptr<yb::master::TabletInfo> > > > const&, std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, scoped_refptr<yb::master::TabletInfo>, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, scoped_refptr<yb::master::TabletInfo> > > >::value_type::first_type const&) Line | Count | Source | 228 | 2.73M | const typename Collection::value_type::first_type& key) { | 229 | 2.73M | auto it = collection.find(key); | 230 | 2.73M | if (it == collection.end()) { | 231 | 83.1k | return typename Collection::value_type::second_type(0); | 232 | 83.1k | } | 233 | 2.65M | return it->second; | 234 | 2.73M | } |
std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, scoped_refptr<yb::master::NamespaceInfo>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, scoped_refptr<yb::master::NamespaceInfo> > > >::value_type::second_type FindPtrOrNull<std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, scoped_refptr<yb::master::NamespaceInfo>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, scoped_refptr<yb::master::NamespaceInfo> > > > >(std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, scoped_refptr<yb::master::NamespaceInfo>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, scoped_refptr<yb::master::NamespaceInfo> > > > const&, std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, scoped_refptr<yb::master::NamespaceInfo>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, scoped_refptr<yb::master::NamespaceInfo> > > >::value_type::first_type const&) Line | Count | Source | 228 | 25.2k | const typename Collection::value_type::first_type& key) { | 229 | 25.2k | auto it = collection.find(key); | 230 | 25.2k | if (it == collection.end()) { | 231 | 4 | return typename Collection::value_type::second_type(0); | 232 | 4 | } | 233 | 25.2k | return it->second; | 234 | 25.2k | } |
Unexecuted instantiation: std::__1::unordered_map<yb::MetricPrototype const*, scoped_refptr<yb::Metric>, std::__1::hash<yb::MetricPrototype const*>, std::__1::equal_to<yb::MetricPrototype const*>, std::__1::allocator<std::__1::pair<yb::MetricPrototype const* const, scoped_refptr<yb::Metric> > > >::value_type::second_type FindPtrOrNull<std::__1::unordered_map<yb::MetricPrototype const*, scoped_refptr<yb::Metric>, std::__1::hash<yb::MetricPrototype const*>, std::__1::equal_to<yb::MetricPrototype const*>, std::__1::allocator<std::__1::pair<yb::MetricPrototype const* const, scoped_refptr<yb::Metric> > > > >(std::__1::unordered_map<yb::MetricPrototype const*, scoped_refptr<yb::Metric>, std::__1::hash<yb::MetricPrototype const*>, std::__1::equal_to<yb::MetricPrototype const*>, std::__1::allocator<std::__1::pair<yb::MetricPrototype const* const, scoped_refptr<yb::Metric> > > > const&, std::__1::unordered_map<yb::MetricPrototype const*, scoped_refptr<yb::Metric>, std::__1::hash<yb::MetricPrototype const*>, std::__1::equal_to<yb::MetricPrototype const*>, std::__1::allocator<std::__1::pair<yb::MetricPrototype const* const, scoped_refptr<yb::Metric> > > >::value_type::first_type const&) |
235 | | |
236 | | // Same as above, except takes non-const reference to collection. |
237 | | // |
238 | | // This function is needed for containers that propagate constness to the |
239 | | // pointee, such as boost::ptr_map. |
240 | | template <class Collection> |
241 | | typename Collection::value_type::second_type |
242 | | FindPtrOrNull(Collection& collection, // NOLINT |
243 | 128M | const typename Collection::value_type::first_type& key) { |
244 | 128M | auto it = collection.find(key); |
245 | 128M | if (it == collection.end()) { |
246 | 16.3M | return typename Collection::value_type::second_type(0); |
247 | 16.3M | } |
248 | 111M | return it->second; |
249 | 128M | } std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yb::consensus::PeerMessageQueue::TrackedPeer*, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, yb::consensus::PeerMessageQueue::TrackedPeer*> > >::value_type::second_type FindPtrOrNull<std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yb::consensus::PeerMessageQueue::TrackedPeer*, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, yb::consensus::PeerMessageQueue::TrackedPeer*> > > >(std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yb::consensus::PeerMessageQueue::TrackedPeer*, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, yb::consensus::PeerMessageQueue::TrackedPeer*> > >&, std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yb::consensus::PeerMessageQueue::TrackedPeer*, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, yb::consensus::PeerMessageQueue::TrackedPeer*> > >::value_type::first_type const&) Line | Count | Source | 243 | 89.2M | const typename Collection::value_type::first_type& key) { | 244 | 89.2M | auto it = collection.find(key); | 245 | 89.2M | if (it == collection.end()) { | 246 | 3 | return typename Collection::value_type::second_type(0); | 247 | 3 | } | 248 | 89.2M | return it->second; | 249 | 89.2M | } |
std::__1::unordered_map<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scoped_refptr<yb::master::TableInfo>, boost::hash<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >, std::__1::equal_to<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >, std::__1::allocator<std::__1::pair<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > const, scoped_refptr<yb::master::TableInfo> > > >::value_type::second_type FindPtrOrNull<std::__1::unordered_map<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scoped_refptr<yb::master::TableInfo>, boost::hash<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >, std::__1::equal_to<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >, std::__1::allocator<std::__1::pair<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > const, scoped_refptr<yb::master::TableInfo> > > > >(std::__1::unordered_map<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scoped_refptr<yb::master::TableInfo>, boost::hash<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >, std::__1::equal_to<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >, std::__1::allocator<std::__1::pair<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > const, scoped_refptr<yb::master::TableInfo> > > >&, std::__1::unordered_map<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scoped_refptr<yb::master::TableInfo>, boost::hash<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >, std::__1::equal_to<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >, std::__1::allocator<std::__1::pair<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > const, scoped_refptr<yb::master::TableInfo> > > >::value_type::first_type const&) Line | Count | Source | 243 | 59.7k | const typename Collection::value_type::first_type& key) { | 244 | 59.7k | auto it = collection.find(key); | 245 | 59.7k | if (it == collection.end()) { | 246 | 43.0k | return typename Collection::value_type::second_type(0); | 247 | 43.0k | } | 248 | 16.7k | return it->second; | 249 | 59.7k | } |
std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, scoped_refptr<yb::master::NamespaceInfo>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, scoped_refptr<yb::master::NamespaceInfo> > > >::value_type::second_type FindPtrOrNull<std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, scoped_refptr<yb::master::NamespaceInfo>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, scoped_refptr<yb::master::NamespaceInfo> > > > >(std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, scoped_refptr<yb::master::NamespaceInfo>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, scoped_refptr<yb::master::NamespaceInfo> > > >&, std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, scoped_refptr<yb::master::NamespaceInfo>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, scoped_refptr<yb::master::NamespaceInfo> > > >::value_type::first_type const&) Line | Count | Source | 243 | 187k | const typename Collection::value_type::first_type& key) { | 244 | 187k | auto it = collection.find(key); | 245 | 187k | if (it == collection.end()) { | 246 | 13.9k | return typename Collection::value_type::second_type(0); | 247 | 13.9k | } | 248 | 173k | return it->second; | 249 | 187k | } |
std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, scoped_refptr<yb::master::UDTypeInfo>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, scoped_refptr<yb::master::UDTypeInfo> > > >::value_type::second_type FindPtrOrNull<std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, scoped_refptr<yb::master::UDTypeInfo>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, scoped_refptr<yb::master::UDTypeInfo> > > > >(std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, scoped_refptr<yb::master::UDTypeInfo>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, scoped_refptr<yb::master::UDTypeInfo> > > >&, std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, scoped_refptr<yb::master::UDTypeInfo>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, scoped_refptr<yb::master::UDTypeInfo> > > >::value_type::first_type const&) Line | Count | Source | 243 | 130 | const typename Collection::value_type::first_type& key) { | 244 | 130 | auto it = collection.find(key); | 245 | 130 | if (it == collection.end()) { | 246 | 46 | return typename Collection::value_type::second_type(0); | 247 | 46 | } | 248 | 84 | return it->second; | 249 | 130 | } |
std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, scoped_refptr<yb::master::RedisConfigInfo>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, scoped_refptr<yb::master::RedisConfigInfo> > > >::value_type::second_type FindPtrOrNull<std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, scoped_refptr<yb::master::RedisConfigInfo>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, scoped_refptr<yb::master::RedisConfigInfo> > > > >(std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, scoped_refptr<yb::master::RedisConfigInfo>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, scoped_refptr<yb::master::RedisConfigInfo> > > >&, std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, scoped_refptr<yb::master::RedisConfigInfo>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, scoped_refptr<yb::master::RedisConfigInfo> > > >::value_type::first_type const&) Line | Count | Source | 243 | 1.35k | const typename Collection::value_type::first_type& key) { | 244 | 1.35k | auto it = collection.find(key); | 245 | 1.35k | if (it == collection.end()) { | 246 | 1.00k | return typename Collection::value_type::second_type(0); | 247 | 1.00k | } | 248 | 355 | return it->second; | 249 | 1.35k | } |
std::__1::unordered_map<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scoped_refptr<yb::master::UDTypeInfo>, boost::hash<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >, std::__1::equal_to<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >, std::__1::allocator<std::__1::pair<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > const, scoped_refptr<yb::master::UDTypeInfo> > > >::value_type::second_type FindPtrOrNull<std::__1::unordered_map<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scoped_refptr<yb::master::UDTypeInfo>, boost::hash<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >, std::__1::equal_to<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >, std::__1::allocator<std::__1::pair<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > const, scoped_refptr<yb::master::UDTypeInfo> > > > >(std::__1::unordered_map<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scoped_refptr<yb::master::UDTypeInfo>, boost::hash<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >, std::__1::equal_to<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >, std::__1::allocator<std::__1::pair<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > const, scoped_refptr<yb::master::UDTypeInfo> > > >&, std::__1::unordered_map<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scoped_refptr<yb::master::UDTypeInfo>, boost::hash<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >, std::__1::equal_to<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >, std::__1::allocator<std::__1::pair<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > const, scoped_refptr<yb::master::UDTypeInfo> > > >::value_type::first_type const&) Line | Count | Source | 243 | 157 | const typename Collection::value_type::first_type& key) { | 244 | 157 | auto it = collection.find(key); | 245 | 157 | if (it == collection.end()) { | 246 | 55 | return typename Collection::value_type::second_type(0); | 247 | 55 | } | 248 | 102 | return it->second; | 249 | 157 | } |
std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, scoped_refptr<yb::master::RoleInfo>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, scoped_refptr<yb::master::RoleInfo> > > >::value_type::second_type FindPtrOrNull<std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, scoped_refptr<yb::master::RoleInfo>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, scoped_refptr<yb::master::RoleInfo> > > > >(std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, scoped_refptr<yb::master::RoleInfo>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, scoped_refptr<yb::master::RoleInfo> > > >&, std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, scoped_refptr<yb::master::RoleInfo>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, scoped_refptr<yb::master::RoleInfo> > > >::value_type::first_type const&) Line | Count | Source | 243 | 7.52k | const typename Collection::value_type::first_type& key) { | 244 | 7.52k | auto it = collection.find(key); | 245 | 7.52k | if (it == collection.end()) { | 246 | 2.92k | return typename Collection::value_type::second_type(0); | 247 | 2.92k | } | 248 | 4.60k | return it->second; | 249 | 7.52k | } |
Unexecuted instantiation: std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, scoped_refptr<yb::master::SnapshotInfo>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, scoped_refptr<yb::master::SnapshotInfo> > > >::value_type::second_type FindPtrOrNull<std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, scoped_refptr<yb::master::SnapshotInfo>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, scoped_refptr<yb::master::SnapshotInfo> > > > >(std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, scoped_refptr<yb::master::SnapshotInfo>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, scoped_refptr<yb::master::SnapshotInfo> > > >&, std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, scoped_refptr<yb::master::SnapshotInfo>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, scoped_refptr<yb::master::SnapshotInfo> > > >::value_type::first_type const&) std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, scoped_refptr<yb::master::CDCStreamInfo>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, scoped_refptr<yb::master::CDCStreamInfo> > > >::value_type::second_type FindPtrOrNull<std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, scoped_refptr<yb::master::CDCStreamInfo>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, scoped_refptr<yb::master::CDCStreamInfo> > > > >(std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, scoped_refptr<yb::master::CDCStreamInfo>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, scoped_refptr<yb::master::CDCStreamInfo> > > >&, std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, scoped_refptr<yb::master::CDCStreamInfo>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, scoped_refptr<yb::master::CDCStreamInfo> > > >::value_type::first_type const&) Line | Count | Source | 243 | 5.52k | const typename Collection::value_type::first_type& key) { | 244 | 5.52k | auto it = collection.find(key); | 245 | 5.52k | if (it == collection.end()) { | 246 | 311 | return typename Collection::value_type::second_type(0); | 247 | 311 | } | 248 | 5.21k | return it->second; | 249 | 5.52k | } |
std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, scoped_refptr<yb::master::UniverseReplicationInfo>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, scoped_refptr<yb::master::UniverseReplicationInfo> > > >::value_type::second_type FindPtrOrNull<std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, scoped_refptr<yb::master::UniverseReplicationInfo>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, scoped_refptr<yb::master::UniverseReplicationInfo> > > > >(std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, scoped_refptr<yb::master::UniverseReplicationInfo>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, scoped_refptr<yb::master::UniverseReplicationInfo> > > >&, std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, scoped_refptr<yb::master::UniverseReplicationInfo>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, scoped_refptr<yb::master::UniverseReplicationInfo> > > >::value_type::first_type const&) Line | Count | Source | 243 | 2 | const typename Collection::value_type::first_type& key) { | 244 | 2 | auto it = collection.find(key); | 245 | 2 | if (it == collection.end()) { | 246 | 2 | return typename Collection::value_type::second_type(0); | 247 | 2 | } | 248 | 0 | return it->second; | 249 | 2 | } |
std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, scoped_refptr<yb::client::internal::RemoteTablet>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, scoped_refptr<yb::client::internal::RemoteTablet> > > >::value_type::second_type FindPtrOrNull<std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, scoped_refptr<yb::client::internal::RemoteTablet>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, scoped_refptr<yb::client::internal::RemoteTablet> > > > >(std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, scoped_refptr<yb::client::internal::RemoteTablet>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, scoped_refptr<yb::client::internal::RemoteTablet> > > >&, std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, scoped_refptr<yb::client::internal::RemoteTablet>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, scoped_refptr<yb::client::internal::RemoteTablet> > > >::value_type::first_type const&) Line | Count | Source | 243 | 97.9k | const typename Collection::value_type::first_type& key) { | 244 | 97.9k | auto it = collection.find(key); | 245 | 97.9k | if (it == collection.end()) { | 246 | 90.3k | return typename Collection::value_type::second_type(0); | 247 | 90.3k | } | 248 | 7.55k | return it->second; | 249 | 97.9k | } |
std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yb::TimedFailureDetector::Node*, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, yb::TimedFailureDetector::Node*> > >::value_type::second_type FindPtrOrNull<std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yb::TimedFailureDetector::Node*, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, yb::TimedFailureDetector::Node*> > > >(std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yb::TimedFailureDetector::Node*, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, yb::TimedFailureDetector::Node*> > >&, std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yb::TimedFailureDetector::Node*, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, yb::TimedFailureDetector::Node*> > >::value_type::first_type const&) Line | Count | Source | 243 | 40 | const typename Collection::value_type::first_type& key) { | 244 | 40 | auto it = collection.find(key); | 245 | 40 | if (it == collection.end()) { | 246 | 0 | return typename Collection::value_type::second_type(0); | 247 | 0 | } | 248 | 40 | return it->second; | 249 | 40 | } |
std::__1::unordered_map<yb::MetricPrototype const*, scoped_refptr<yb::Metric>, std::__1::hash<yb::MetricPrototype const*>, std::__1::equal_to<yb::MetricPrototype const*>, std::__1::allocator<std::__1::pair<yb::MetricPrototype const* const, scoped_refptr<yb::Metric> > > >::value_type::second_type FindPtrOrNull<std::__1::unordered_map<yb::MetricPrototype const*, scoped_refptr<yb::Metric>, std::__1::hash<yb::MetricPrototype const*>, std::__1::equal_to<yb::MetricPrototype const*>, std::__1::allocator<std::__1::pair<yb::MetricPrototype const* const, scoped_refptr<yb::Metric> > > > >(std::__1::unordered_map<yb::MetricPrototype const*, scoped_refptr<yb::Metric>, std::__1::hash<yb::MetricPrototype const*>, std::__1::equal_to<yb::MetricPrototype const*>, std::__1::allocator<std::__1::pair<yb::MetricPrototype const* const, scoped_refptr<yb::Metric> > > >&, std::__1::unordered_map<yb::MetricPrototype const*, scoped_refptr<yb::Metric>, std::__1::hash<yb::MetricPrototype const*>, std::__1::equal_to<yb::MetricPrototype const*>, std::__1::allocator<std::__1::pair<yb::MetricPrototype const* const, scoped_refptr<yb::Metric> > > >::value_type::first_type const&) Line | Count | Source | 243 | 38.0M | const typename Collection::value_type::first_type& key) { | 244 | 38.0M | auto it = collection.find(key); | 245 | 38.0M | if (it == collection.end()) { | 246 | 15.9M | return typename Collection::value_type::second_type(0); | 247 | 15.9M | } | 248 | 22.0M | return it->second; | 249 | 38.0M | } |
std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, scoped_refptr<yb::MetricEntity>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, scoped_refptr<yb::MetricEntity> > > >::value_type::second_type FindPtrOrNull<std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, scoped_refptr<yb::MetricEntity>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, scoped_refptr<yb::MetricEntity> > > > >(std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, scoped_refptr<yb::MetricEntity>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, scoped_refptr<yb::MetricEntity> > > >&, std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, scoped_refptr<yb::MetricEntity>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, scoped_refptr<yb::MetricEntity> > > >::value_type::first_type const&) Line | Count | Source | 243 | 350k | const typename Collection::value_type::first_type& key) { | 244 | 350k | auto it = collection.find(key); | 245 | 350k | if (it == collection.end()) { | 246 | 223k | return typename Collection::value_type::second_type(0); | 247 | 223k | } | 248 | 127k | return it->second; | 249 | 350k | } |
|
250 | | |
251 | | // Finds the value associated with the given key and copies it to *value (if not |
252 | | // NULL). Returns false if the key was not found, true otherwise. |
253 | | template <class Collection, class Key, class Value> |
254 | | bool FindCopy(const Collection& collection, |
255 | | const Key& key, |
256 | 65.8M | Value* const value) { |
257 | 65.8M | auto it = collection.find(key); |
258 | 65.8M | if (it == collection.end()) { |
259 | 154k | return false; |
260 | 154k | } |
261 | 65.6M | if (value) { |
262 | 65.6M | *value = it->second; |
263 | 65.6M | } |
264 | 65.6M | return true; |
265 | 65.8M | } bool FindCopy<std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > >, char [3], std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > > const&, char const (&) [3], std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*) Line | Count | Source | 256 | 42 | Value* const value) { | 257 | 42 | auto it = collection.find(key); | 258 | 42 | if (it == collection.end()) { | 259 | 3 | return false; | 260 | 3 | } | 261 | 39 | if (value) { | 262 | 39 | *value = it->second; | 263 | 39 | } | 264 | 39 | return true; | 265 | 42 | } |
bool FindCopy<std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, scoped_refptr<yb::master::TabletInfo>, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, scoped_refptr<yb::master::TabletInfo> > > >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, scoped_refptr<yb::master::TabletInfo> >(std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, scoped_refptr<yb::master::TabletInfo>, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, scoped_refptr<yb::master::TabletInfo> > > > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, scoped_refptr<yb::master::TabletInfo>*) Line | Count | Source | 256 | 19.7k | Value* const value) { | 257 | 19.7k | auto it = collection.find(key); | 258 | 19.7k | if (it == collection.end()) { | 259 | 3.35k | return false; | 260 | 3.35k | } | 261 | 16.3k | if (value) { | 262 | 16.3k | *value = it->second; | 263 | 16.3k | } | 264 | 16.3k | return true; | 265 | 19.7k | } |
bool FindCopy<std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, unsigned long, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, unsigned long> > >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, unsigned long>(std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, unsigned long, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, unsigned long> > > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, unsigned long*) Line | Count | Source | 256 | 5 | Value* const value) { | 257 | 5 | auto it = collection.find(key); | 258 | 5 | if (it == collection.end()) { | 259 | 1 | return false; | 260 | 1 | } | 261 | 4 | if (value) { | 262 | 4 | *value = it->second; | 263 | 4 | } | 264 | 4 | return true; | 265 | 5 | } |
bool FindCopy<std::__1::map<long long, scoped_refptr<yb::log::LogIndex::IndexChunk>, std::__1::less<long long>, std::__1::allocator<std::__1::pair<long long const, scoped_refptr<yb::log::LogIndex::IndexChunk> > > >, long long, scoped_refptr<yb::log::LogIndex::IndexChunk> >(std::__1::map<long long, scoped_refptr<yb::log::LogIndex::IndexChunk>, std::__1::less<long long>, std::__1::allocator<std::__1::pair<long long const, scoped_refptr<yb::log::LogIndex::IndexChunk> > > > const&, long long const&, scoped_refptr<yb::log::LogIndex::IndexChunk>*) Line | Count | Source | 256 | 65.8M | Value* const value) { | 257 | 65.8M | auto it = collection.find(key); | 258 | 65.8M | if (it == collection.end()) { | 259 | 151k | return false; | 260 | 151k | } | 261 | 65.6M | if (value) { | 262 | 65.6M | *value = it->second; | 263 | 65.6M | } | 264 | 65.6M | return true; | 265 | 65.8M | } |
|
266 | | |
267 | | // |
268 | | // Contains*() |
269 | | // |
270 | | |
271 | | // Returns true iff the given collection contains the given key. |
272 | | template <class Collection, class Key> |
273 | 239M | bool ContainsKey(const Collection& collection, const Key& key) { |
274 | 239M | auto it = collection.find(key); |
275 | 239M | return it != collection.end(); |
276 | 239M | } bool ContainsKey<std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) Line | Count | Source | 273 | 68 | bool ContainsKey(const Collection& collection, const Key& key) { | 274 | 68 | auto it = collection.find(key); | 275 | 68 | return it != collection.end(); | 276 | 68 | } |
bool ContainsKey<std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > >, char [4]>(std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > > const&, char const (&) [4]) Line | Count | Source | 273 | 71 | bool ContainsKey(const Collection& collection, const Key& key) { | 274 | 71 | auto it = collection.find(key); | 275 | 71 | return it != collection.end(); | 276 | 71 | } |
Unexecuted instantiation: bool ContainsKey<std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::shared_ptr<yb::tserver::enterprise::CDCClient>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::shared_ptr<yb::tserver::enterprise::CDCClient> > > >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::shared_ptr<yb::tserver::enterprise::CDCClient>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::shared_ptr<yb::tserver::enterprise::CDCClient> > > > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) bool ContainsKey<std::__1::unordered_set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::unordered_set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) Line | Count | Source | 273 | 1.05M | bool ContainsKey(const Collection& collection, const Key& key) { | 274 | 1.05M | auto it = collection.find(key); | 275 | 1.05M | return it != collection.end(); | 276 | 1.05M | } |
bool ContainsKey<std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yb::consensus::ElectionVote, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, yb::consensus::ElectionVote> > >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yb::consensus::ElectionVote, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, yb::consensus::ElectionVote> > > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) Line | Count | Source | 273 | 1.45M | bool ContainsKey(const Collection& collection, const Key& key) { | 274 | 1.45M | auto it = collection.find(key); | 275 | 1.45M | return it != collection.end(); | 276 | 1.45M | } |
bool ContainsKey<std::__1::set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) Line | Count | Source | 273 | 6.06M | bool ContainsKey(const Collection& collection, const Key& key) { | 274 | 6.06M | auto it = collection.find(key); | 275 | 6.06M | return it != collection.end(); | 276 | 6.06M | } |
bool ContainsKey<std::__1::unordered_set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >, char [15]>(std::__1::unordered_set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&, char const (&) [15]) Line | Count | Source | 273 | 556 | bool ContainsKey(const Collection& collection, const Key& key) { | 274 | 556 | auto it = collection.find(key); | 275 | 556 | return it != collection.end(); | 276 | 556 | } |
bool ContainsKey<std::__1::unordered_set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >, char [8]>(std::__1::unordered_set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&, char const (&) [8]) Line | Count | Source | 273 | 351 | bool ContainsKey(const Collection& collection, const Key& key) { | 274 | 351 | auto it = collection.find(key); | 275 | 351 | return it != collection.end(); | 276 | 351 | } |
bool ContainsKey<std::__1::set<unsigned int, std::__1::less<unsigned int>, std::__1::allocator<unsigned int> >, unsigned int>(std::__1::set<unsigned int, std::__1::less<unsigned int>, std::__1::allocator<unsigned int> > const&, unsigned int const&) Line | Count | Source | 273 | 42 | bool ContainsKey(const Collection& collection, const Key& key) { | 274 | 42 | auto it = collection.find(key); | 275 | 42 | return it != collection.end(); | 276 | 42 | } |
bool ContainsKey<boost::bimaps::views::map_view<boost::bimaps::relation::member_at::left, boost::bimaps::detail::bimap_core<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, unsigned int, mpl_::na, mpl_::na, mpl_::na> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(boost::bimaps::views::map_view<boost::bimaps::relation::member_at::left, boost::bimaps::detail::bimap_core<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, unsigned int, mpl_::na, mpl_::na, mpl_::na> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) Line | Count | Source | 273 | 160 | bool ContainsKey(const Collection& collection, const Key& key) { | 274 | 160 | auto it = collection.find(key); | 275 | 160 | return it != collection.end(); | 276 | 160 | } |
bool ContainsKey<boost::bimaps::views::map_view<boost::bimaps::relation::member_at::right, boost::bimaps::detail::bimap_core<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, unsigned int, mpl_::na, mpl_::na, mpl_::na> >, unsigned int>(boost::bimaps::views::map_view<boost::bimaps::relation::member_at::right, boost::bimaps::detail::bimap_core<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, unsigned int, mpl_::na, mpl_::na, mpl_::na> > const&, unsigned int const&) Line | Count | Source | 273 | 199 | bool ContainsKey(const Collection& collection, const Key& key) { | 274 | 199 | auto it = collection.find(key); | 275 | 199 | return it != collection.end(); | 276 | 199 | } |
bool ContainsKey<std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, scoped_refptr<yb::master::TableInfo>, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, scoped_refptr<yb::master::TableInfo> > > >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, scoped_refptr<yb::master::TableInfo>, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, scoped_refptr<yb::master::TableInfo> > > > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) Line | Count | Source | 273 | 440k | bool ContainsKey(const Collection& collection, const Key& key) { | 274 | 440k | auto it = collection.find(key); | 275 | 440k | return it != collection.end(); | 276 | 440k | } |
bool ContainsKey<std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, scoped_refptr<yb::master::NamespaceInfo>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, scoped_refptr<yb::master::NamespaceInfo> > > >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, scoped_refptr<yb::master::NamespaceInfo>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, scoped_refptr<yb::master::NamespaceInfo> > > > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) Line | Count | Source | 273 | 6.41k | bool ContainsKey(const Collection& collection, const Key& key) { | 274 | 6.41k | auto it = collection.find(key); | 275 | 6.41k | return it != collection.end(); | 276 | 6.41k | } |
Unexecuted instantiation: bool ContainsKey<std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, scoped_refptr<yb::master::UDTypeInfo>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, scoped_refptr<yb::master::UDTypeInfo> > > >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, scoped_refptr<yb::master::UDTypeInfo>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, scoped_refptr<yb::master::UDTypeInfo> > > > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) Unexecuted instantiation: bool ContainsKey<std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, scoped_refptr<yb::master::RedisConfigInfo>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, scoped_refptr<yb::master::RedisConfigInfo> > > >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, scoped_refptr<yb::master::RedisConfigInfo>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, scoped_refptr<yb::master::RedisConfigInfo> > > > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) Unexecuted instantiation: bool ContainsKey<std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, scoped_refptr<yb::master::CDCStreamInfo>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, scoped_refptr<yb::master::CDCStreamInfo> > > >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, scoped_refptr<yb::master::CDCStreamInfo>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, scoped_refptr<yb::master::CDCStreamInfo> > > > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) Unexecuted instantiation: bool ContainsKey<std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, scoped_refptr<yb::master::UniverseReplicationInfo>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, scoped_refptr<yb::master::UniverseReplicationInfo> > > >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, scoped_refptr<yb::master::UniverseReplicationInfo>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, scoped_refptr<yb::master::UniverseReplicationInfo> > > > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) Unexecuted instantiation: bool ContainsKey<std::__1::unordered_set<unsigned long, std::__1::hash<unsigned long>, std::__1::equal_to<unsigned long>, std::__1::allocator<unsigned long> >, unsigned long>(std::__1::unordered_set<unsigned long, std::__1::hash<unsigned long>, std::__1::equal_to<unsigned long>, std::__1::allocator<unsigned long> > const&, unsigned long const&) bool ContainsKey<std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::vector<std::__1::pair<yb::Status, unsigned long long>, std::__1::allocator<std::__1::pair<yb::Status, unsigned long long> > >, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::vector<std::__1::pair<yb::Status, unsigned long long>, std::__1::allocator<std::__1::pair<yb::Status, unsigned long long> > > > > >, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::vector<std::__1::pair<yb::Status, unsigned long long>, std::__1::allocator<std::__1::pair<yb::Status, unsigned long long> > >, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::vector<std::__1::pair<yb::Status, unsigned long long>, std::__1::allocator<std::__1::pair<yb::Status, unsigned long long> > > > > > > > >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::vector<std::__1::pair<yb::Status, unsigned long long>, std::__1::allocator<std::__1::pair<yb::Status, unsigned long long> > >, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::vector<std::__1::pair<yb::Status, unsigned long long>, std::__1::allocator<std::__1::pair<yb::Status, unsigned long long> > > > > >, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::vector<std::__1::pair<yb::Status, unsigned long long>, std::__1::allocator<std::__1::pair<yb::Status, unsigned long long> > >, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::vector<std::__1::pair<yb::Status, unsigned long long>, std::__1::allocator<std::__1::pair<yb::Status, unsigned long long> > > > > > > > > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) Line | Count | Source | 273 | 13.0k | bool ContainsKey(const Collection& collection, const Key& key) { | 274 | 13.0k | auto it = collection.find(key); | 275 | 13.0k | return it != collection.end(); | 276 | 13.0k | } |
bool ContainsKey<std::__1::unordered_map<yb::DataType, std::__1::shared_ptr<yb::KeyEncoder<yb::faststring> >, std::__1::hash<unsigned long>, std::__1::equal_to<yb::DataType>, std::__1::allocator<std::__1::pair<yb::DataType const, std::__1::shared_ptr<yb::KeyEncoder<yb::faststring> > > > >, yb::DataType>(std::__1::unordered_map<yb::DataType, std::__1::shared_ptr<yb::KeyEncoder<yb::faststring> >, std::__1::hash<unsigned long>, std::__1::equal_to<yb::DataType>, std::__1::allocator<std::__1::pair<yb::DataType const, std::__1::shared_ptr<yb::KeyEncoder<yb::faststring> > > > > const&, yb::DataType const&) Line | Count | Source | 273 | 39.5k | bool ContainsKey(const Collection& collection, const Key& key) { | 274 | 39.5k | auto it = collection.find(key); | 275 | 39.5k | return it != collection.end(); | 276 | 39.5k | } |
bool ContainsKey<std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yb::TimedFailureDetector::Node*, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, yb::TimedFailureDetector::Node*> > >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yb::TimedFailureDetector::Node*, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, yb::TimedFailureDetector::Node*> > > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) Line | Count | Source | 273 | 3 | bool ContainsKey(const Collection& collection, const Key& key) { | 274 | 3 | auto it = collection.find(key); | 275 | 3 | return it != collection.end(); | 276 | 3 | } |
bool ContainsKey<std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::shared_ptr<yb::InMemoryFileState>, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::shared_ptr<yb::InMemoryFileState> > > >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::shared_ptr<yb::InMemoryFileState>, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::shared_ptr<yb::InMemoryFileState> > > > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) Line | Count | Source | 273 | 42 | bool ContainsKey(const Collection& collection, const Key& key) { | 274 | 42 | auto it = collection.find(key); | 275 | 42 | return it != collection.end(); | 276 | 42 | } |
bool ContainsKey<std::__1::unordered_set<unsigned long long, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<unsigned long long> >, unsigned long long>(std::__1::unordered_set<unsigned long long, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<unsigned long long> > const&, unsigned long long const&) Line | Count | Source | 273 | 229M | bool ContainsKey(const Collection& collection, const Key& key) { | 274 | 229M | auto it = collection.find(key); | 275 | 229M | return it != collection.end(); | 276 | 229M | } |
bool ContainsKey<std::__1::unordered_set<yb::Thread*, std::__1::hash<yb::Thread*>, std::__1::equal_to<yb::Thread*>, std::__1::allocator<yb::Thread*> >, yb::Thread*>(std::__1::unordered_set<yb::Thread*, std::__1::hash<yb::Thread*>, std::__1::equal_to<yb::Thread*>, std::__1::allocator<yb::Thread*> > const&, yb::Thread* const&) Line | Count | Source | 273 | 711k | bool ContainsKey(const Collection& collection, const Key& key) { | 274 | 711k | auto it = collection.find(key); | 275 | 711k | return it != collection.end(); | 276 | 711k | } |
bool ContainsKey<std::__1::map<long long, scoped_refptr<yb::log::LogIndex::IndexChunk>, std::__1::less<long long>, std::__1::allocator<std::__1::pair<long long const, scoped_refptr<yb::log::LogIndex::IndexChunk> > > >, long long>(std::__1::map<long long, scoped_refptr<yb::log::LogIndex::IndexChunk>, std::__1::less<long long>, std::__1::allocator<std::__1::pair<long long const, scoped_refptr<yb::log::LogIndex::IndexChunk> > > > const&, long long const&) Line | Count | Source | 273 | 150k | bool ContainsKey(const Collection& collection, const Key& key) { | 274 | 150k | auto it = collection.find(key); | 275 | 150k | return it != collection.end(); | 276 | 150k | } |
|
277 | | |
278 | | // Returns true iff the given collection contains the given key-value pair. |
279 | | template <class Collection, class Key, class Value> |
280 | | bool ContainsKeyValuePair(const Collection& collection, |
281 | | const Key& key, |
282 | | const Value& value) { |
283 | | typedef typename Collection::const_iterator const_iterator; |
284 | | pair<const_iterator, const_iterator> range = collection.equal_range(key); |
285 | | for (const_iterator it = range.first; it != range.second; ++it) { |
286 | | if (it->second == value) { |
287 | | return true; |
288 | | } |
289 | | } |
290 | | return false; |
291 | | } |
292 | | |
293 | | // |
294 | | // Insert*() |
295 | | // |
296 | | |
297 | | // Inserts the given key-value pair into the collection. Returns true if the |
298 | | // given key didn't previously exist. If the given key already existed in the |
299 | | // map, its value is changed to the given "value" and false is returned. |
300 | | template <class Collection> |
301 | | bool InsertOrUpdate(Collection* const collection, |
302 | 21.2k | const typename Collection::value_type& vt) { |
303 | 21.2k | pair<typename Collection::iterator, bool> ret = collection->insert(vt); |
304 | 21.2k | if (!ret.second) { |
305 | | // update |
306 | 8.03k | ret.first->second = vt.second; |
307 | 8.03k | return false; |
308 | 8.03k | } |
309 | 13.1k | return true; |
310 | 21.2k | } |
311 | | |
312 | | // Same as above, except that the key and value are passed separately. |
313 | | template <class Collection> |
314 | | bool InsertOrUpdate(Collection* const collection, |
315 | | const typename Collection::value_type::first_type& key, |
316 | 21.2k | const typename Collection::value_type::second_type& value) { |
317 | 21.2k | return InsertOrUpdate( |
318 | 21.2k | collection, typename Collection::value_type(key, value)); |
319 | 21.2k | } |
320 | | |
321 | | // Inserts/updates all the key-value pairs from the range defined by the |
322 | | // iterators "first" and "last" into the given collection. |
323 | | template <class Collection, class InputIterator> |
324 | | void InsertOrUpdateMany(Collection* const collection, |
325 | | InputIterator first, InputIterator last) { |
326 | | for (; first != last; ++first) { |
327 | | InsertOrUpdate(collection, *first); |
328 | | } |
329 | | } |
330 | | |
331 | | // Change the value associated with a particular key in a map or hash_map |
332 | | // of the form map<Key, Value*> which owns the objects pointed to by the |
333 | | // value pointers. If there was an existing value for the key, it is deleted. |
334 | | // True indicates an insert took place, false indicates an update + delete. |
335 | | template <class Collection> |
336 | | bool InsertAndDeleteExisting( |
337 | | Collection* const collection, |
338 | | const typename Collection::value_type::first_type& key, |
339 | | const typename Collection::value_type::second_type& value) { |
340 | | pair<typename Collection::iterator, bool> ret = |
341 | | collection->insert(typename Collection::value_type(key, value)); |
342 | | if (!ret.second) { |
343 | | delete ret.first->second; |
344 | | ret.first->second = value; |
345 | | return false; |
346 | | } |
347 | | return true; |
348 | | } |
349 | | |
350 | | // Inserts the given key and value into the given collection iff the given key |
351 | | // did NOT already exist in the collection. If the key previously existed in the |
352 | | // collection, the value is not changed. Returns true if the key-value pair was |
353 | | // inserted; returns false if the key was already present. |
354 | | template <class Collection> |
355 | | bool InsertIfNotPresent(Collection* const collection, |
356 | 213M | const typename Collection::value_type& vt) { |
357 | 213M | return collection->insert(vt).second; |
358 | 213M | } bool InsertIfNotPresent<std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::shared_ptr<yb::tablet::TabletPeer>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::shared_ptr<yb::tablet::TabletPeer> > > > >(std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::shared_ptr<yb::tablet::TabletPeer>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::shared_ptr<yb::tablet::TabletPeer> > > >*, std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::shared_ptr<yb::tablet::TabletPeer>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::shared_ptr<yb::tablet::TabletPeer> > > >::value_type const&) Line | Count | Source | 356 | 142k | const typename Collection::value_type& vt) { | 357 | 142k | return collection->insert(vt).second; | 358 | 142k | } |
bool InsertIfNotPresent<std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yb::tserver::TSTabletManager::TabletReportState, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, yb::tserver::TSTabletManager::TabletReportState> > > >(std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yb::tserver::TSTabletManager::TabletReportState, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, yb::tserver::TSTabletManager::TabletReportState> > >*, std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yb::tserver::TSTabletManager::TabletReportState, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, yb::tserver::TSTabletManager::TabletReportState> > >::value_type const&) Line | Count | Source | 356 | 342k | const typename Collection::value_type& vt) { | 357 | 342k | return collection->insert(vt).second; | 358 | 342k | } |
bool InsertIfNotPresent<std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yb::consensus::PeerMessageQueue::TrackedPeer*, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, yb::consensus::PeerMessageQueue::TrackedPeer*> > > >(std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yb::consensus::PeerMessageQueue::TrackedPeer*, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, yb::consensus::PeerMessageQueue::TrackedPeer*> > >*, std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yb::consensus::PeerMessageQueue::TrackedPeer*, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, yb::consensus::PeerMessageQueue::TrackedPeer*> > >::value_type const&) Line | Count | Source | 356 | 273k | const typename Collection::value_type& vt) { | 357 | 273k | return collection->insert(vt).second; | 358 | 273k | } |
bool InsertIfNotPresent<std::__1::unordered_set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > >(std::__1::unordered_set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >*, std::__1::unordered_set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >::value_type const&) Line | Count | Source | 356 | 784k | const typename Collection::value_type& vt) { | 357 | 784k | return collection->insert(vt).second; | 358 | 784k | } |
bool InsertIfNotPresent<std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yb::consensus::ElectionVote, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, yb::consensus::ElectionVote> > > >(std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yb::consensus::ElectionVote, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, yb::consensus::ElectionVote> > >*, std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yb::consensus::ElectionVote, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, yb::consensus::ElectionVote> > >::value_type const&) Line | Count | Source | 356 | 1.45M | const typename Collection::value_type& vt) { | 357 | 1.45M | return collection->insert(vt).second; | 358 | 1.45M | } |
bool InsertIfNotPresent<std::__1::map<long long, yb::consensus::LogCache::CacheEntry, std::__1::less<long long>, std::__1::allocator<std::__1::pair<long long const, yb::consensus::LogCache::CacheEntry> > > >(std::__1::map<long long, yb::consensus::LogCache::CacheEntry, std::__1::less<long long>, std::__1::allocator<std::__1::pair<long long const, yb::consensus::LogCache::CacheEntry> > >*, std::__1::map<long long, yb::consensus::LogCache::CacheEntry, std::__1::less<long long>, std::__1::allocator<std::__1::pair<long long const, yb::consensus::LogCache::CacheEntry> > >::value_type const&) Line | Count | Source | 356 | 150k | const typename Collection::value_type& vt) { | 357 | 150k | return collection->insert(vt).second; | 358 | 150k | } |
bool InsertIfNotPresent<std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yb::consensus::RaftPeerPB, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, yb::consensus::RaftPeerPB> > > >(std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yb::consensus::RaftPeerPB, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, yb::consensus::RaftPeerPB> > >*, std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yb::consensus::RaftPeerPB, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, yb::consensus::RaftPeerPB> > >::value_type const&) Line | Count | Source | 356 | 202k | const typename Collection::value_type& vt) { | 357 | 202k | return collection->insert(vt).second; | 358 | 202k | } |
bool InsertIfNotPresent<std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, scoped_refptr<yb::master::TabletInfo>, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, scoped_refptr<yb::master::TabletInfo> > > > >(std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, scoped_refptr<yb::master::TabletInfo>, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, scoped_refptr<yb::master::TabletInfo> > > >*, std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, scoped_refptr<yb::master::TabletInfo>, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, scoped_refptr<yb::master::TabletInfo> > > >::value_type const&) Line | Count | Source | 356 | 83.0k | const typename Collection::value_type& vt) { | 357 | 83.0k | return collection->insert(vt).second; | 358 | 83.0k | } |
bool InsertIfNotPresent<std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yb::master::TabletReplica, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, yb::master::TabletReplica> > > >(std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yb::master::TabletReplica, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, yb::master::TabletReplica> > >*, std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yb::master::TabletReplica, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, yb::master::TabletReplica> > >::value_type const&) Line | Count | Source | 356 | 1.20k | const typename Collection::value_type& vt) { | 357 | 1.20k | return collection->insert(vt).second; | 358 | 1.20k | } |
bool InsertIfNotPresent<std::__1::set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > >(std::__1::set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >*, std::__1::set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >::value_type const&) Line | Count | Source | 356 | 140k | const typename Collection::value_type& vt) { | 357 | 140k | return collection->insert(vt).second; | 358 | 140k | } |
bool InsertIfNotPresent<std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::shared_ptr<yb::master::TSDescriptor>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::shared_ptr<yb::master::TSDescriptor> > > > >(std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::shared_ptr<yb::master::TSDescriptor>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::shared_ptr<yb::master::TSDescriptor> > > >*, std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::shared_ptr<yb::master::TSDescriptor>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::shared_ptr<yb::master::TSDescriptor> > > >::value_type const&) Line | Count | Source | 356 | 8.15k | const typename Collection::value_type& vt) { | 357 | 8.15k | return collection->insert(vt).second; | 358 | 8.15k | } |
bool InsertIfNotPresent<std::__1::unordered_set<unsigned long, std::__1::hash<unsigned long>, std::__1::equal_to<unsigned long>, std::__1::allocator<unsigned long> > >(std::__1::unordered_set<unsigned long, std::__1::hash<unsigned long>, std::__1::equal_to<unsigned long>, std::__1::allocator<unsigned long> >*, std::__1::unordered_set<unsigned long, std::__1::hash<unsigned long>, std::__1::equal_to<unsigned long>, std::__1::allocator<unsigned long> >::value_type const&) Line | Count | Source | 356 | 16.4k | const typename Collection::value_type& vt) { | 357 | 16.4k | return collection->insert(vt).second; | 358 | 16.4k | } |
bool InsertIfNotPresent<std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::shared_ptr<yb::tools::YsckTabletServer>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::shared_ptr<yb::tools::YsckTabletServer> > > > >(std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::shared_ptr<yb::tools::YsckTabletServer>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::shared_ptr<yb::tools::YsckTabletServer> > > >*, std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::shared_ptr<yb::tools::YsckTabletServer>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::shared_ptr<yb::tools::YsckTabletServer> > > >::value_type const&) Line | Count | Source | 356 | 2.97k | const typename Collection::value_type& vt) { | 357 | 2.97k | return collection->insert(vt).second; | 358 | 2.97k | } |
bool InsertIfNotPresent<std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > > >(std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > >*, std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > >::value_type const&) Line | Count | Source | 356 | 26.7k | const typename Collection::value_type& vt) { | 357 | 26.7k | return collection->insert(vt).second; | 358 | 26.7k | } |
bool InsertIfNotPresent<std::__1::unordered_map<GStringPiece, unsigned long, std::__1::hash<GStringPiece>, std::__1::equal_to<GStringPiece>, yb::STLCountingAllocator<std::__1::pair<GStringPiece const, unsigned long>, std::__1::allocator<std::__1::pair<GStringPiece const, unsigned long> > > > >(std::__1::unordered_map<GStringPiece, unsigned long, std::__1::hash<GStringPiece>, std::__1::equal_to<GStringPiece>, yb::STLCountingAllocator<std::__1::pair<GStringPiece const, unsigned long>, std::__1::allocator<std::__1::pair<GStringPiece const, unsigned long> > > >*, std::__1::unordered_map<GStringPiece, unsigned long, std::__1::hash<GStringPiece>, std::__1::equal_to<GStringPiece>, yb::STLCountingAllocator<std::__1::pair<GStringPiece const, unsigned long>, std::__1::allocator<std::__1::pair<GStringPiece const, unsigned long> > > >::value_type const&) Line | Count | Source | 356 | 85.9M | const typename Collection::value_type& vt) { | 357 | 85.9M | return collection->insert(vt).second; | 358 | 85.9M | } |
bool InsertIfNotPresent<std::__1::unordered_map<long long, yb::debug::TraceLog::PerThreadInfo*, std::__1::hash<long long>, std::__1::equal_to<long long>, std::__1::allocator<std::__1::pair<long long const, yb::debug::TraceLog::PerThreadInfo*> > > >(std::__1::unordered_map<long long, yb::debug::TraceLog::PerThreadInfo*, std::__1::hash<long long>, std::__1::equal_to<long long>, std::__1::allocator<std::__1::pair<long long const, yb::debug::TraceLog::PerThreadInfo*> > >*, std::__1::unordered_map<long long, yb::debug::TraceLog::PerThreadInfo*, std::__1::hash<long long>, std::__1::equal_to<long long>, std::__1::allocator<std::__1::pair<long long const, yb::debug::TraceLog::PerThreadInfo*> > >::value_type const&) Line | Count | Source | 356 | 18 | const typename Collection::value_type& vt) { | 357 | 18 | return collection->insert(vt).second; | 358 | 18 | } |
bool InsertIfNotPresent<std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yb::TimedFailureDetector::Node*, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, yb::TimedFailureDetector::Node*> > > >(std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yb::TimedFailureDetector::Node*, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, yb::TimedFailureDetector::Node*> > >*, std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yb::TimedFailureDetector::Node*, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, yb::TimedFailureDetector::Node*> > >::value_type const&) Line | Count | Source | 356 | 1 | const typename Collection::value_type& vt) { | 357 | 1 | return collection->insert(vt).second; | 358 | 1 | } |
bool InsertIfNotPresent<std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yb::Callback<void (std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, yb::Status const&)>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, yb::Callback<void (std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, yb::Status const&)> > > > >(std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yb::Callback<void (std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, yb::Status const&)>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, yb::Callback<void (std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, yb::Status const&)> > > >*, std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yb::Callback<void (std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, yb::Status const&)>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, yb::Callback<void (std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, yb::Status const&)> > > >::value_type const&) Line | Count | Source | 356 | 1 | const typename Collection::value_type& vt) { | 357 | 1 | return collection->insert(vt).second; | 358 | 1 | } |
bool InsertIfNotPresent<std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, scoped_refptr<yb::FailureDetector>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, scoped_refptr<yb::FailureDetector> > > > >(std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, scoped_refptr<yb::FailureDetector>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, scoped_refptr<yb::FailureDetector> > > >*, std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, scoped_refptr<yb::FailureDetector>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, scoped_refptr<yb::FailureDetector> > > >::value_type const&) Line | Count | Source | 356 | 1 | const typename Collection::value_type& vt) { | 357 | 1 | return collection->insert(vt).second; | 358 | 1 | } |
bool InsertIfNotPresent<std::__1::map<char const*, scoped_refptr<yb::Metric>, std::__1::less<char const*>, std::__1::allocator<std::__1::pair<char const* const, scoped_refptr<yb::Metric> > > > >(std::__1::map<char const*, scoped_refptr<yb::Metric>, std::__1::less<char const*>, std::__1::allocator<std::__1::pair<char const* const, scoped_refptr<yb::Metric> > > >*, std::__1::map<char const*, scoped_refptr<yb::Metric>, std::__1::less<char const*>, std::__1::allocator<std::__1::pair<char const* const, scoped_refptr<yb::Metric> > > >::value_type const&) Line | Count | Source | 356 | 80.8M | const typename Collection::value_type& vt) { | 357 | 80.8M | return collection->insert(vt).second; | 358 | 80.8M | } |
bool InsertIfNotPresent<std::__1::unordered_map<yb::MetricPrototype const*, scoped_refptr<yb::Metric>, std::__1::hash<yb::MetricPrototype const*>, std::__1::equal_to<yb::MetricPrototype const*>, std::__1::allocator<std::__1::pair<yb::MetricPrototype const* const, scoped_refptr<yb::Metric> > > > >(std::__1::unordered_map<yb::MetricPrototype const*, scoped_refptr<yb::Metric>, std::__1::hash<yb::MetricPrototype const*>, std::__1::equal_to<yb::MetricPrototype const*>, std::__1::allocator<std::__1::pair<yb::MetricPrototype const* const, scoped_refptr<yb::Metric> > > >*, std::__1::unordered_map<yb::MetricPrototype const*, scoped_refptr<yb::Metric>, std::__1::hash<yb::MetricPrototype const*>, std::__1::equal_to<yb::MetricPrototype const*>, std::__1::allocator<std::__1::pair<yb::MetricPrototype const* const, scoped_refptr<yb::Metric> > > >::value_type const&) Line | Count | Source | 356 | 15.9M | const typename Collection::value_type& vt) { | 357 | 15.9M | return collection->insert(vt).second; | 358 | 15.9M | } |
bool InsertIfNotPresent<std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, scoped_refptr<yb::MetricEntity>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, scoped_refptr<yb::MetricEntity> > > > >(std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, scoped_refptr<yb::MetricEntity>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, scoped_refptr<yb::MetricEntity> > > >*, std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, scoped_refptr<yb::MetricEntity>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, scoped_refptr<yb::MetricEntity> > > >::value_type const&) Line | Count | Source | 356 | 223k | const typename Collection::value_type& vt) { | 357 | 223k | return collection->insert(vt).second; | 358 | 223k | } |
bool InsertIfNotPresent<std::__1::unordered_set<boost::asio::ip::basic_endpoint<boost::asio::ip::tcp>, yb::EndpointHash, std::__1::equal_to<boost::asio::ip::basic_endpoint<boost::asio::ip::tcp> >, std::__1::allocator<boost::asio::ip::basic_endpoint<boost::asio::ip::tcp> > > >(std::__1::unordered_set<boost::asio::ip::basic_endpoint<boost::asio::ip::tcp>, yb::EndpointHash, std::__1::equal_to<boost::asio::ip::basic_endpoint<boost::asio::ip::tcp> >, std::__1::allocator<boost::asio::ip::basic_endpoint<boost::asio::ip::tcp> > >*, std::__1::unordered_set<boost::asio::ip::basic_endpoint<boost::asio::ip::tcp>, yb::EndpointHash, std::__1::equal_to<boost::asio::ip::basic_endpoint<boost::asio::ip::tcp> >, std::__1::allocator<boost::asio::ip::basic_endpoint<boost::asio::ip::tcp> > >::value_type const&) Line | Count | Source | 356 | 54.3k | const typename Collection::value_type& vt) { | 357 | 54.3k | return collection->insert(vt).second; | 358 | 54.3k | } |
bool InsertIfNotPresent<std::__1::unordered_set<google::protobuf::FileDescriptor const*, std::__1::hash<google::protobuf::FileDescriptor const*>, std::__1::equal_to<google::protobuf::FileDescriptor const*>, std::__1::allocator<google::protobuf::FileDescriptor const*> > >(std::__1::unordered_set<google::protobuf::FileDescriptor const*, std::__1::hash<google::protobuf::FileDescriptor const*>, std::__1::equal_to<google::protobuf::FileDescriptor const*>, std::__1::allocator<google::protobuf::FileDescriptor const*> >*, std::__1::unordered_set<google::protobuf::FileDescriptor const*, std::__1::hash<google::protobuf::FileDescriptor const*>, std::__1::equal_to<google::protobuf::FileDescriptor const*>, std::__1::allocator<google::protobuf::FileDescriptor const*> >::value_type const&) Line | Count | Source | 356 | 25.0M | const typename Collection::value_type& vt) { | 357 | 25.0M | return collection->insert(vt).second; | 358 | 25.0M | } |
bool InsertIfNotPresent<std::__1::unordered_set<yb::ThreadPoolToken*, std::__1::hash<yb::ThreadPoolToken*>, std::__1::equal_to<yb::ThreadPoolToken*>, std::__1::allocator<yb::ThreadPoolToken*> > >(std::__1::unordered_set<yb::ThreadPoolToken*, std::__1::hash<yb::ThreadPoolToken*>, std::__1::equal_to<yb::ThreadPoolToken*>, std::__1::allocator<yb::ThreadPoolToken*> >*, std::__1::unordered_set<yb::ThreadPoolToken*, std::__1::hash<yb::ThreadPoolToken*>, std::__1::equal_to<yb::ThreadPoolToken*>, std::__1::allocator<yb::ThreadPoolToken*> >::value_type const&) Line | Count | Source | 356 | 1.03M | const typename Collection::value_type& vt) { | 357 | 1.03M | return collection->insert(vt).second; | 358 | 1.03M | } |
bool InsertIfNotPresent<std::__1::unordered_set<yb::Thread*, std::__1::hash<yb::Thread*>, std::__1::equal_to<yb::Thread*>, std::__1::allocator<yb::Thread*> > >(std::__1::unordered_set<yb::Thread*, std::__1::hash<yb::Thread*>, std::__1::equal_to<yb::Thread*>, std::__1::allocator<yb::Thread*> >*, std::__1::unordered_set<yb::Thread*, std::__1::hash<yb::Thread*>, std::__1::equal_to<yb::Thread*>, std::__1::allocator<yb::Thread*> >::value_type const&) Line | Count | Source | 356 | 1.01M | const typename Collection::value_type& vt) { | 357 | 1.01M | return collection->insert(vt).second; | 358 | 1.01M | } |
bool InsertIfNotPresent<std::__1::map<long long, scoped_refptr<yb::log::LogIndex::IndexChunk>, std::__1::less<long long>, std::__1::allocator<std::__1::pair<long long const, scoped_refptr<yb::log::LogIndex::IndexChunk> > > > >(std::__1::map<long long, scoped_refptr<yb::log::LogIndex::IndexChunk>, std::__1::less<long long>, std::__1::allocator<std::__1::pair<long long const, scoped_refptr<yb::log::LogIndex::IndexChunk> > > >*, std::__1::map<long long, scoped_refptr<yb::log::LogIndex::IndexChunk>, std::__1::less<long long>, std::__1::allocator<std::__1::pair<long long const, scoped_refptr<yb::log::LogIndex::IndexChunk> > > >::value_type const&) Line | Count | Source | 356 | 150k | const typename Collection::value_type& vt) { | 357 | 150k | return collection->insert(vt).second; | 358 | 150k | } |
|
359 | | |
360 | | // Same as above except the key and value are passed separately. |
361 | | template <class Collection> |
362 | | bool InsertIfNotPresent( |
363 | | Collection* const collection, |
364 | | const typename Collection::value_type::first_type& key, |
365 | 185M | const typename Collection::value_type::second_type& value) { |
366 | 185M | return InsertIfNotPresent( |
367 | 185M | collection, typename Collection::value_type(key, value)); |
368 | 185M | } bool InsertIfNotPresent<std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::shared_ptr<yb::tablet::TabletPeer>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::shared_ptr<yb::tablet::TabletPeer> > > > >(std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::shared_ptr<yb::tablet::TabletPeer>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::shared_ptr<yb::tablet::TabletPeer> > > >*, std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::shared_ptr<yb::tablet::TabletPeer>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::shared_ptr<yb::tablet::TabletPeer> > > >::value_type::first_type const&, std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::shared_ptr<yb::tablet::TabletPeer>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::shared_ptr<yb::tablet::TabletPeer> > > >::value_type::second_type const&) Line | Count | Source | 365 | 142k | const typename Collection::value_type::second_type& value) { | 366 | 142k | return InsertIfNotPresent( | 367 | 142k | collection, typename Collection::value_type(key, value)); | 368 | 142k | } |
bool InsertIfNotPresent<std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yb::tserver::TSTabletManager::TabletReportState, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, yb::tserver::TSTabletManager::TabletReportState> > > >(std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yb::tserver::TSTabletManager::TabletReportState, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, yb::tserver::TSTabletManager::TabletReportState> > >*, std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yb::tserver::TSTabletManager::TabletReportState, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, yb::tserver::TSTabletManager::TabletReportState> > >::value_type::first_type const&, std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yb::tserver::TSTabletManager::TabletReportState, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, yb::tserver::TSTabletManager::TabletReportState> > >::value_type::second_type const&) Line | Count | Source | 365 | 342k | const typename Collection::value_type::second_type& value) { | 366 | 342k | return InsertIfNotPresent( | 367 | 342k | collection, typename Collection::value_type(key, value)); | 368 | 342k | } |
bool InsertIfNotPresent<std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yb::consensus::PeerMessageQueue::TrackedPeer*, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, yb::consensus::PeerMessageQueue::TrackedPeer*> > > >(std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yb::consensus::PeerMessageQueue::TrackedPeer*, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, yb::consensus::PeerMessageQueue::TrackedPeer*> > >*, std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yb::consensus::PeerMessageQueue::TrackedPeer*, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, yb::consensus::PeerMessageQueue::TrackedPeer*> > >::value_type::first_type const&, std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yb::consensus::PeerMessageQueue::TrackedPeer*, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, yb::consensus::PeerMessageQueue::TrackedPeer*> > >::value_type::second_type const&) Line | Count | Source | 365 | 273k | const typename Collection::value_type::second_type& value) { | 366 | 273k | return InsertIfNotPresent( | 367 | 273k | collection, typename Collection::value_type(key, value)); | 368 | 273k | } |
bool InsertIfNotPresent<std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yb::consensus::ElectionVote, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, yb::consensus::ElectionVote> > > >(std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yb::consensus::ElectionVote, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, yb::consensus::ElectionVote> > >*, std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yb::consensus::ElectionVote, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, yb::consensus::ElectionVote> > >::value_type::first_type const&, std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yb::consensus::ElectionVote, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, yb::consensus::ElectionVote> > >::value_type::second_type const&) Line | Count | Source | 365 | 1.45M | const typename Collection::value_type::second_type& value) { | 366 | 1.45M | return InsertIfNotPresent( | 367 | 1.45M | collection, typename Collection::value_type(key, value)); | 368 | 1.45M | } |
bool InsertIfNotPresent<std::__1::map<long long, yb::consensus::LogCache::CacheEntry, std::__1::less<long long>, std::__1::allocator<std::__1::pair<long long const, yb::consensus::LogCache::CacheEntry> > > >(std::__1::map<long long, yb::consensus::LogCache::CacheEntry, std::__1::less<long long>, std::__1::allocator<std::__1::pair<long long const, yb::consensus::LogCache::CacheEntry> > >*, std::__1::map<long long, yb::consensus::LogCache::CacheEntry, std::__1::less<long long>, std::__1::allocator<std::__1::pair<long long const, yb::consensus::LogCache::CacheEntry> > >::value_type::first_type const&, std::__1::map<long long, yb::consensus::LogCache::CacheEntry, std::__1::less<long long>, std::__1::allocator<std::__1::pair<long long const, yb::consensus::LogCache::CacheEntry> > >::value_type::second_type const&) Line | Count | Source | 365 | 150k | const typename Collection::value_type::second_type& value) { | 366 | 150k | return InsertIfNotPresent( | 367 | 150k | collection, typename Collection::value_type(key, value)); | 368 | 150k | } |
bool InsertIfNotPresent<std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yb::consensus::RaftPeerPB, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, yb::consensus::RaftPeerPB> > > >(std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yb::consensus::RaftPeerPB, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, yb::consensus::RaftPeerPB> > >*, std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yb::consensus::RaftPeerPB, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, yb::consensus::RaftPeerPB> > >::value_type::first_type const&, std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yb::consensus::RaftPeerPB, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, yb::consensus::RaftPeerPB> > >::value_type::second_type const&) Line | Count | Source | 365 | 202k | const typename Collection::value_type::second_type& value) { | 366 | 202k | return InsertIfNotPresent( | 367 | 202k | collection, typename Collection::value_type(key, value)); | 368 | 202k | } |
bool InsertIfNotPresent<std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, scoped_refptr<yb::master::TabletInfo>, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, scoped_refptr<yb::master::TabletInfo> > > > >(std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, scoped_refptr<yb::master::TabletInfo>, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, scoped_refptr<yb::master::TabletInfo> > > >*, std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, scoped_refptr<yb::master::TabletInfo>, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, scoped_refptr<yb::master::TabletInfo> > > >::value_type::first_type const&, std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, scoped_refptr<yb::master::TabletInfo>, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, scoped_refptr<yb::master::TabletInfo> > > >::value_type::second_type const&) Line | Count | Source | 365 | 83.0k | const typename Collection::value_type::second_type& value) { | 366 | 83.0k | return InsertIfNotPresent( | 367 | 83.0k | collection, typename Collection::value_type(key, value)); | 368 | 83.0k | } |
bool InsertIfNotPresent<std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yb::master::TabletReplica, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, yb::master::TabletReplica> > > >(std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yb::master::TabletReplica, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, yb::master::TabletReplica> > >*, std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yb::master::TabletReplica, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, yb::master::TabletReplica> > >::value_type::first_type const&, std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yb::master::TabletReplica, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, yb::master::TabletReplica> > >::value_type::second_type const&) Line | Count | Source | 365 | 1.20k | const typename Collection::value_type::second_type& value) { | 366 | 1.20k | return InsertIfNotPresent( | 367 | 1.20k | collection, typename Collection::value_type(key, value)); | 368 | 1.20k | } |
bool InsertIfNotPresent<std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::shared_ptr<yb::master::TSDescriptor>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::shared_ptr<yb::master::TSDescriptor> > > > >(std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::shared_ptr<yb::master::TSDescriptor>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::shared_ptr<yb::master::TSDescriptor> > > >*, std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::shared_ptr<yb::master::TSDescriptor>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::shared_ptr<yb::master::TSDescriptor> > > >::value_type::first_type const&, std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::shared_ptr<yb::master::TSDescriptor>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::shared_ptr<yb::master::TSDescriptor> > > >::value_type::second_type const&) Line | Count | Source | 365 | 8.15k | const typename Collection::value_type::second_type& value) { | 366 | 8.15k | return InsertIfNotPresent( | 367 | 8.15k | collection, typename Collection::value_type(key, value)); | 368 | 8.15k | } |
bool InsertIfNotPresent<std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::shared_ptr<yb::tools::YsckTabletServer>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::shared_ptr<yb::tools::YsckTabletServer> > > > >(std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::shared_ptr<yb::tools::YsckTabletServer>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::shared_ptr<yb::tools::YsckTabletServer> > > >*, std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::shared_ptr<yb::tools::YsckTabletServer>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::shared_ptr<yb::tools::YsckTabletServer> > > >::value_type::first_type const&, std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::shared_ptr<yb::tools::YsckTabletServer>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::shared_ptr<yb::tools::YsckTabletServer> > > >::value_type::second_type const&) Line | Count | Source | 365 | 2.97k | const typename Collection::value_type::second_type& value) { | 366 | 2.97k | return InsertIfNotPresent( | 367 | 2.97k | collection, typename Collection::value_type(key, value)); | 368 | 2.97k | } |
bool InsertIfNotPresent<std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > > >(std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > >*, std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > >::value_type::first_type const&, std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > >::value_type::second_type const&) Line | Count | Source | 365 | 26.7k | const typename Collection::value_type::second_type& value) { | 366 | 26.7k | return InsertIfNotPresent( | 367 | 26.7k | collection, typename Collection::value_type(key, value)); | 368 | 26.7k | } |
bool InsertIfNotPresent<std::__1::unordered_map<GStringPiece, unsigned long, std::__1::hash<GStringPiece>, std::__1::equal_to<GStringPiece>, yb::STLCountingAllocator<std::__1::pair<GStringPiece const, unsigned long>, std::__1::allocator<std::__1::pair<GStringPiece const, unsigned long> > > > >(std::__1::unordered_map<GStringPiece, unsigned long, std::__1::hash<GStringPiece>, std::__1::equal_to<GStringPiece>, yb::STLCountingAllocator<std::__1::pair<GStringPiece const, unsigned long>, std::__1::allocator<std::__1::pair<GStringPiece const, unsigned long> > > >*, std::__1::unordered_map<GStringPiece, unsigned long, std::__1::hash<GStringPiece>, std::__1::equal_to<GStringPiece>, yb::STLCountingAllocator<std::__1::pair<GStringPiece const, unsigned long>, std::__1::allocator<std::__1::pair<GStringPiece const, unsigned long> > > >::value_type::first_type const&, std::__1::unordered_map<GStringPiece, unsigned long, std::__1::hash<GStringPiece>, std::__1::equal_to<GStringPiece>, yb::STLCountingAllocator<std::__1::pair<GStringPiece const, unsigned long>, std::__1::allocator<std::__1::pair<GStringPiece const, unsigned long> > > >::value_type::second_type const&) Line | Count | Source | 365 | 85.9M | const typename Collection::value_type::second_type& value) { | 366 | 85.9M | return InsertIfNotPresent( | 367 | 85.9M | collection, typename Collection::value_type(key, value)); | 368 | 85.9M | } |
bool InsertIfNotPresent<std::__1::unordered_map<long long, yb::debug::TraceLog::PerThreadInfo*, std::__1::hash<long long>, std::__1::equal_to<long long>, std::__1::allocator<std::__1::pair<long long const, yb::debug::TraceLog::PerThreadInfo*> > > >(std::__1::unordered_map<long long, yb::debug::TraceLog::PerThreadInfo*, std::__1::hash<long long>, std::__1::equal_to<long long>, std::__1::allocator<std::__1::pair<long long const, yb::debug::TraceLog::PerThreadInfo*> > >*, std::__1::unordered_map<long long, yb::debug::TraceLog::PerThreadInfo*, std::__1::hash<long long>, std::__1::equal_to<long long>, std::__1::allocator<std::__1::pair<long long const, yb::debug::TraceLog::PerThreadInfo*> > >::value_type::first_type const&, std::__1::unordered_map<long long, yb::debug::TraceLog::PerThreadInfo*, std::__1::hash<long long>, std::__1::equal_to<long long>, std::__1::allocator<std::__1::pair<long long const, yb::debug::TraceLog::PerThreadInfo*> > >::value_type::second_type const&) Line | Count | Source | 365 | 18 | const typename Collection::value_type::second_type& value) { | 366 | 18 | return InsertIfNotPresent( | 367 | 18 | collection, typename Collection::value_type(key, value)); | 368 | 18 | } |
bool InsertIfNotPresent<std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yb::TimedFailureDetector::Node*, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, yb::TimedFailureDetector::Node*> > > >(std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yb::TimedFailureDetector::Node*, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, yb::TimedFailureDetector::Node*> > >*, std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yb::TimedFailureDetector::Node*, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, yb::TimedFailureDetector::Node*> > >::value_type::first_type const&, std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yb::TimedFailureDetector::Node*, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, yb::TimedFailureDetector::Node*> > >::value_type::second_type const&) Line | Count | Source | 365 | 1 | const typename Collection::value_type::second_type& value) { | 366 | 1 | return InsertIfNotPresent( | 367 | 1 | collection, typename Collection::value_type(key, value)); | 368 | 1 | } |
bool InsertIfNotPresent<std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yb::Callback<void (std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, yb::Status const&)>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, yb::Callback<void (std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, yb::Status const&)> > > > >(std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yb::Callback<void (std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, yb::Status const&)>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, yb::Callback<void (std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, yb::Status const&)> > > >*, std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yb::Callback<void (std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, yb::Status const&)>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, yb::Callback<void (std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, yb::Status const&)> > > >::value_type::first_type const&, std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yb::Callback<void (std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, yb::Status const&)>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, yb::Callback<void (std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, yb::Status const&)> > > >::value_type::second_type const&) Line | Count | Source | 365 | 1 | const typename Collection::value_type::second_type& value) { | 366 | 1 | return InsertIfNotPresent( | 367 | 1 | collection, typename Collection::value_type(key, value)); | 368 | 1 | } |
bool InsertIfNotPresent<std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, scoped_refptr<yb::FailureDetector>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, scoped_refptr<yb::FailureDetector> > > > >(std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, scoped_refptr<yb::FailureDetector>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, scoped_refptr<yb::FailureDetector> > > >*, std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, scoped_refptr<yb::FailureDetector>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, scoped_refptr<yb::FailureDetector> > > >::value_type::first_type const&, std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, scoped_refptr<yb::FailureDetector>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, scoped_refptr<yb::FailureDetector> > > >::value_type::second_type const&) Line | Count | Source | 365 | 1 | const typename Collection::value_type::second_type& value) { | 366 | 1 | return InsertIfNotPresent( | 367 | 1 | collection, typename Collection::value_type(key, value)); | 368 | 1 | } |
bool InsertIfNotPresent<std::__1::map<char const*, scoped_refptr<yb::Metric>, std::__1::less<char const*>, std::__1::allocator<std::__1::pair<char const* const, scoped_refptr<yb::Metric> > > > >(std::__1::map<char const*, scoped_refptr<yb::Metric>, std::__1::less<char const*>, std::__1::allocator<std::__1::pair<char const* const, scoped_refptr<yb::Metric> > > >*, std::__1::map<char const*, scoped_refptr<yb::Metric>, std::__1::less<char const*>, std::__1::allocator<std::__1::pair<char const* const, scoped_refptr<yb::Metric> > > >::value_type::first_type const&, std::__1::map<char const*, scoped_refptr<yb::Metric>, std::__1::less<char const*>, std::__1::allocator<std::__1::pair<char const* const, scoped_refptr<yb::Metric> > > >::value_type::second_type const&) Line | Count | Source | 365 | 80.8M | const typename Collection::value_type::second_type& value) { | 366 | 80.8M | return InsertIfNotPresent( | 367 | 80.8M | collection, typename Collection::value_type(key, value)); | 368 | 80.8M | } |
bool InsertIfNotPresent<std::__1::unordered_map<yb::MetricPrototype const*, scoped_refptr<yb::Metric>, std::__1::hash<yb::MetricPrototype const*>, std::__1::equal_to<yb::MetricPrototype const*>, std::__1::allocator<std::__1::pair<yb::MetricPrototype const* const, scoped_refptr<yb::Metric> > > > >(std::__1::unordered_map<yb::MetricPrototype const*, scoped_refptr<yb::Metric>, std::__1::hash<yb::MetricPrototype const*>, std::__1::equal_to<yb::MetricPrototype const*>, std::__1::allocator<std::__1::pair<yb::MetricPrototype const* const, scoped_refptr<yb::Metric> > > >*, std::__1::unordered_map<yb::MetricPrototype const*, scoped_refptr<yb::Metric>, std::__1::hash<yb::MetricPrototype const*>, std::__1::equal_to<yb::MetricPrototype const*>, std::__1::allocator<std::__1::pair<yb::MetricPrototype const* const, scoped_refptr<yb::Metric> > > >::value_type::first_type const&, std::__1::unordered_map<yb::MetricPrototype const*, scoped_refptr<yb::Metric>, std::__1::hash<yb::MetricPrototype const*>, std::__1::equal_to<yb::MetricPrototype const*>, std::__1::allocator<std::__1::pair<yb::MetricPrototype const* const, scoped_refptr<yb::Metric> > > >::value_type::second_type const&) Line | Count | Source | 365 | 15.9M | const typename Collection::value_type::second_type& value) { | 366 | 15.9M | return InsertIfNotPresent( | 367 | 15.9M | collection, typename Collection::value_type(key, value)); | 368 | 15.9M | } |
bool InsertIfNotPresent<std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, scoped_refptr<yb::MetricEntity>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, scoped_refptr<yb::MetricEntity> > > > >(std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, scoped_refptr<yb::MetricEntity>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, scoped_refptr<yb::MetricEntity> > > >*, std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, scoped_refptr<yb::MetricEntity>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, scoped_refptr<yb::MetricEntity> > > >::value_type::first_type const&, std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, scoped_refptr<yb::MetricEntity>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, scoped_refptr<yb::MetricEntity> > > >::value_type::second_type const&) Line | Count | Source | 365 | 223k | const typename Collection::value_type::second_type& value) { | 366 | 223k | return InsertIfNotPresent( | 367 | 223k | collection, typename Collection::value_type(key, value)); | 368 | 223k | } |
bool InsertIfNotPresent<std::__1::map<long long, scoped_refptr<yb::log::LogIndex::IndexChunk>, std::__1::less<long long>, std::__1::allocator<std::__1::pair<long long const, scoped_refptr<yb::log::LogIndex::IndexChunk> > > > >(std::__1::map<long long, scoped_refptr<yb::log::LogIndex::IndexChunk>, std::__1::less<long long>, std::__1::allocator<std::__1::pair<long long const, scoped_refptr<yb::log::LogIndex::IndexChunk> > > >*, std::__1::map<long long, scoped_refptr<yb::log::LogIndex::IndexChunk>, std::__1::less<long long>, std::__1::allocator<std::__1::pair<long long const, scoped_refptr<yb::log::LogIndex::IndexChunk> > > >::value_type::first_type const&, std::__1::map<long long, scoped_refptr<yb::log::LogIndex::IndexChunk>, std::__1::less<long long>, std::__1::allocator<std::__1::pair<long long const, scoped_refptr<yb::log::LogIndex::IndexChunk> > > >::value_type::second_type const&) Line | Count | Source | 365 | 150k | const typename Collection::value_type::second_type& value) { | 366 | 150k | return InsertIfNotPresent( | 367 | 150k | collection, typename Collection::value_type(key, value)); | 368 | 150k | } |
|
369 | | |
370 | | // Same as above except dies if the key already exists in the collection. |
371 | | template <class Collection> |
372 | | void InsertOrDie(Collection* const collection, |
373 | 5.07M | const typename Collection::value_type& value) { |
374 | 18.4E | CHECK(InsertIfNotPresent(collection, value)) << "duplicate value: " << value; |
375 | 5.07M | } void InsertOrDie<std::__1::unordered_set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > >(std::__1::unordered_set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >*, std::__1::unordered_set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >::value_type const&) Line | Count | Source | 373 | 783k | const typename Collection::value_type& value) { | 374 | 18.4E | CHECK(InsertIfNotPresent(collection, value)) << "duplicate value: " << value; | 375 | 783k | } |
void InsertOrDie<std::__1::set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > >(std::__1::set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >*, std::__1::set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >::value_type const&) Line | Count | Source | 373 | 140k | const typename Collection::value_type& value) { | 374 | 140k | CHECK(InsertIfNotPresent(collection, value)) << "duplicate value: " << value1 ; | 375 | 140k | } |
void InsertOrDie<std::__1::unordered_set<google::protobuf::FileDescriptor const*, std::__1::hash<google::protobuf::FileDescriptor const*>, std::__1::equal_to<google::protobuf::FileDescriptor const*>, std::__1::allocator<google::protobuf::FileDescriptor const*> > >(std::__1::unordered_set<google::protobuf::FileDescriptor const*, std::__1::hash<google::protobuf::FileDescriptor const*>, std::__1::equal_to<google::protobuf::FileDescriptor const*>, std::__1::allocator<google::protobuf::FileDescriptor const*> >*, std::__1::unordered_set<google::protobuf::FileDescriptor const*, std::__1::hash<google::protobuf::FileDescriptor const*>, std::__1::equal_to<google::protobuf::FileDescriptor const*>, std::__1::allocator<google::protobuf::FileDescriptor const*> >::value_type const&) Line | Count | Source | 373 | 2.10M | const typename Collection::value_type& value) { | 374 | 18.4E | CHECK(InsertIfNotPresent(collection, value)) << "duplicate value: " << value; | 375 | 2.10M | } |
void InsertOrDie<std::__1::unordered_set<yb::ThreadPoolToken*, std::__1::hash<yb::ThreadPoolToken*>, std::__1::equal_to<yb::ThreadPoolToken*>, std::__1::allocator<yb::ThreadPoolToken*> > >(std::__1::unordered_set<yb::ThreadPoolToken*, std::__1::hash<yb::ThreadPoolToken*>, std::__1::equal_to<yb::ThreadPoolToken*>, std::__1::allocator<yb::ThreadPoolToken*> >*, std::__1::unordered_set<yb::ThreadPoolToken*, std::__1::hash<yb::ThreadPoolToken*>, std::__1::equal_to<yb::ThreadPoolToken*>, std::__1::allocator<yb::ThreadPoolToken*> >::value_type const&) Line | Count | Source | 373 | 1.03M | const typename Collection::value_type& value) { | 374 | 18.4E | CHECK(InsertIfNotPresent(collection, value)) << "duplicate value: " << value; | 375 | 1.03M | } |
void InsertOrDie<std::__1::unordered_set<yb::Thread*, std::__1::hash<yb::Thread*>, std::__1::equal_to<yb::Thread*>, std::__1::allocator<yb::Thread*> > >(std::__1::unordered_set<yb::Thread*, std::__1::hash<yb::Thread*>, std::__1::equal_to<yb::Thread*>, std::__1::allocator<yb::Thread*> >*, std::__1::unordered_set<yb::Thread*, std::__1::hash<yb::Thread*>, std::__1::equal_to<yb::Thread*>, std::__1::allocator<yb::Thread*> >::value_type const&) Line | Count | Source | 373 | 1.01M | const typename Collection::value_type& value) { | 374 | 1.01M | CHECK(InsertIfNotPresent(collection, value)) << "duplicate value: " << value114 ; | 375 | 1.01M | } |
|
376 | | |
377 | | // Same as above except doesn't log the value on error. |
378 | | template <class Collection> |
379 | | void InsertOrDieNoPrint(Collection* const collection, |
380 | | const typename Collection::value_type& value) { |
381 | | CHECK(InsertIfNotPresent(collection, value)) << "duplicate value."; |
382 | | } |
383 | | |
384 | | // Inserts the key-value pair into the collection. Dies if key was already |
385 | | // present. |
386 | | template <class Collection> |
387 | | void InsertOrDie(Collection* const collection, |
388 | | const typename Collection::value_type::first_type& key, |
389 | 99.7M | const typename Collection::value_type::second_type& data) { |
390 | 99.7M | CHECK(InsertIfNotPresent(collection, key, data)) |
391 | 284 | << "duplicate key: " << key; |
392 | 99.7M | } void InsertOrDie<std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yb::tserver::TSTabletManager::TabletReportState, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, yb::tserver::TSTabletManager::TabletReportState> > > >(std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yb::tserver::TSTabletManager::TabletReportState, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, yb::tserver::TSTabletManager::TabletReportState> > >*, std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yb::tserver::TSTabletManager::TabletReportState, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, yb::tserver::TSTabletManager::TabletReportState> > >::value_type::first_type const&, std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yb::tserver::TSTabletManager::TabletReportState, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, yb::tserver::TSTabletManager::TabletReportState> > >::value_type::second_type const&) Line | Count | Source | 389 | 342k | const typename Collection::value_type::second_type& data) { | 390 | 342k | CHECK(InsertIfNotPresent(collection, key, data)) | 391 | 0 | << "duplicate key: " << key; | 392 | 342k | } |
void InsertOrDie<std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yb::consensus::PeerMessageQueue::TrackedPeer*, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, yb::consensus::PeerMessageQueue::TrackedPeer*> > > >(std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yb::consensus::PeerMessageQueue::TrackedPeer*, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, yb::consensus::PeerMessageQueue::TrackedPeer*> > >*, std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yb::consensus::PeerMessageQueue::TrackedPeer*, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, yb::consensus::PeerMessageQueue::TrackedPeer*> > >::value_type::first_type const&, std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yb::consensus::PeerMessageQueue::TrackedPeer*, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, yb::consensus::PeerMessageQueue::TrackedPeer*> > >::value_type::second_type const&) Line | Count | Source | 389 | 273k | const typename Collection::value_type::second_type& data) { | 390 | 273k | CHECK(InsertIfNotPresent(collection, key, data)) | 391 | 86 | << "duplicate key: " << key; | 392 | 273k | } |
void InsertOrDie<std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yb::consensus::ElectionVote, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, yb::consensus::ElectionVote> > > >(std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yb::consensus::ElectionVote, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, yb::consensus::ElectionVote> > >*, std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yb::consensus::ElectionVote, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, yb::consensus::ElectionVote> > >::value_type::first_type const&, std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yb::consensus::ElectionVote, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, yb::consensus::ElectionVote> > >::value_type::second_type const&) Line | Count | Source | 389 | 1.45M | const typename Collection::value_type::second_type& data) { | 390 | 1.45M | CHECK(InsertIfNotPresent(collection, key, data)) | 391 | 35 | << "duplicate key: " << key; | 392 | 1.45M | } |
void InsertOrDie<std::__1::map<long long, yb::consensus::LogCache::CacheEntry, std::__1::less<long long>, std::__1::allocator<std::__1::pair<long long const, yb::consensus::LogCache::CacheEntry> > > >(std::__1::map<long long, yb::consensus::LogCache::CacheEntry, std::__1::less<long long>, std::__1::allocator<std::__1::pair<long long const, yb::consensus::LogCache::CacheEntry> > >*, std::__1::map<long long, yb::consensus::LogCache::CacheEntry, std::__1::less<long long>, std::__1::allocator<std::__1::pair<long long const, yb::consensus::LogCache::CacheEntry> > >::value_type::first_type const&, std::__1::map<long long, yb::consensus::LogCache::CacheEntry, std::__1::less<long long>, std::__1::allocator<std::__1::pair<long long const, yb::consensus::LogCache::CacheEntry> > >::value_type::second_type const&) Line | Count | Source | 389 | 150k | const typename Collection::value_type::second_type& data) { | 390 | 18.4E | CHECK(InsertIfNotPresent(collection, key, data)) | 391 | 18.4E | << "duplicate key: " << key; | 392 | 150k | } |
void InsertOrDie<std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yb::consensus::RaftPeerPB, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, yb::consensus::RaftPeerPB> > > >(std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yb::consensus::RaftPeerPB, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, yb::consensus::RaftPeerPB> > >*, std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yb::consensus::RaftPeerPB, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, yb::consensus::RaftPeerPB> > >::value_type::first_type const&, std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yb::consensus::RaftPeerPB, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, yb::consensus::RaftPeerPB> > >::value_type::second_type const&) Line | Count | Source | 389 | 202k | const typename Collection::value_type::second_type& data) { | 390 | 202k | CHECK(InsertIfNotPresent(collection, key, data)) | 391 | 9 | << "duplicate key: " << key; | 392 | 202k | } |
void InsertOrDie<std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, scoped_refptr<yb::master::TabletInfo>, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, scoped_refptr<yb::master::TabletInfo> > > > >(std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, scoped_refptr<yb::master::TabletInfo>, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, scoped_refptr<yb::master::TabletInfo> > > >*, std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, scoped_refptr<yb::master::TabletInfo>, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, scoped_refptr<yb::master::TabletInfo> > > >::value_type::first_type const&, std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, scoped_refptr<yb::master::TabletInfo>, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, scoped_refptr<yb::master::TabletInfo> > > >::value_type::second_type const&) Line | Count | Source | 389 | 83.0k | const typename Collection::value_type::second_type& data) { | 390 | 83.0k | CHECK(InsertIfNotPresent(collection, key, data)) | 391 | 0 | << "duplicate key: " << key; | 392 | 83.0k | } |
void InsertOrDie<std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yb::master::TabletReplica, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, yb::master::TabletReplica> > > >(std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yb::master::TabletReplica, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, yb::master::TabletReplica> > >*, std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yb::master::TabletReplica, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, yb::master::TabletReplica> > >::value_type::first_type const&, std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yb::master::TabletReplica, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, yb::master::TabletReplica> > >::value_type::second_type const&) Line | Count | Source | 389 | 1.20k | const typename Collection::value_type::second_type& data) { | 390 | 1.20k | CHECK(InsertIfNotPresent(collection, key, data)) | 391 | 0 | << "duplicate key: " << key; | 392 | 1.20k | } |
void InsertOrDie<std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::shared_ptr<yb::master::TSDescriptor>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::shared_ptr<yb::master::TSDescriptor> > > > >(std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::shared_ptr<yb::master::TSDescriptor>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::shared_ptr<yb::master::TSDescriptor> > > >*, std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::shared_ptr<yb::master::TSDescriptor>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::shared_ptr<yb::master::TSDescriptor> > > >::value_type::first_type const&, std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::shared_ptr<yb::master::TSDescriptor>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::shared_ptr<yb::master::TSDescriptor> > > >::value_type::second_type const&) Line | Count | Source | 389 | 8.15k | const typename Collection::value_type::second_type& data) { | 390 | 8.15k | CHECK(InsertIfNotPresent(collection, key, data)) | 391 | 0 | << "duplicate key: " << key; | 392 | 8.15k | } |
void InsertOrDie<std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::shared_ptr<yb::tools::YsckTabletServer>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::shared_ptr<yb::tools::YsckTabletServer> > > > >(std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::shared_ptr<yb::tools::YsckTabletServer>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::shared_ptr<yb::tools::YsckTabletServer> > > >*, std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::shared_ptr<yb::tools::YsckTabletServer>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::shared_ptr<yb::tools::YsckTabletServer> > > >::value_type::first_type const&, std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::shared_ptr<yb::tools::YsckTabletServer>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::shared_ptr<yb::tools::YsckTabletServer> > > >::value_type::second_type const&) Line | Count | Source | 389 | 2.97k | const typename Collection::value_type::second_type& data) { | 390 | 2.97k | CHECK(InsertIfNotPresent(collection, key, data)) | 391 | 0 | << "duplicate key: " << key; | 392 | 2.97k | } |
void InsertOrDie<std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > > >(std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > >*, std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > >::value_type::first_type const&, std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > >::value_type::second_type const&) Line | Count | Source | 389 | 26.7k | const typename Collection::value_type::second_type& data) { | 390 | 26.7k | CHECK(InsertIfNotPresent(collection, key, data)) | 391 | 0 | << "duplicate key: " << key; | 392 | 26.7k | } |
void InsertOrDie<std::__1::unordered_map<long long, yb::debug::TraceLog::PerThreadInfo*, std::__1::hash<long long>, std::__1::equal_to<long long>, std::__1::allocator<std::__1::pair<long long const, yb::debug::TraceLog::PerThreadInfo*> > > >(std::__1::unordered_map<long long, yb::debug::TraceLog::PerThreadInfo*, std::__1::hash<long long>, std::__1::equal_to<long long>, std::__1::allocator<std::__1::pair<long long const, yb::debug::TraceLog::PerThreadInfo*> > >*, std::__1::unordered_map<long long, yb::debug::TraceLog::PerThreadInfo*, std::__1::hash<long long>, std::__1::equal_to<long long>, std::__1::allocator<std::__1::pair<long long const, yb::debug::TraceLog::PerThreadInfo*> > >::value_type::first_type const&, std::__1::unordered_map<long long, yb::debug::TraceLog::PerThreadInfo*, std::__1::hash<long long>, std::__1::equal_to<long long>, std::__1::allocator<std::__1::pair<long long const, yb::debug::TraceLog::PerThreadInfo*> > >::value_type::second_type const&) Line | Count | Source | 389 | 18 | const typename Collection::value_type::second_type& data) { | 390 | 18 | CHECK(InsertIfNotPresent(collection, key, data)) | 391 | 0 | << "duplicate key: " << key; | 392 | 18 | } |
void InsertOrDie<std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yb::Callback<void (std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, yb::Status const&)>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, yb::Callback<void (std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, yb::Status const&)> > > > >(std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yb::Callback<void (std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, yb::Status const&)>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, yb::Callback<void (std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, yb::Status const&)> > > >*, std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yb::Callback<void (std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, yb::Status const&)>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, yb::Callback<void (std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, yb::Status const&)> > > >::value_type::first_type const&, std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yb::Callback<void (std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, yb::Status const&)>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, yb::Callback<void (std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, yb::Status const&)> > > >::value_type::second_type const&) Line | Count | Source | 389 | 1 | const typename Collection::value_type::second_type& data) { | 390 | 1 | CHECK(InsertIfNotPresent(collection, key, data)) | 391 | 0 | << "duplicate key: " << key; | 392 | 1 | } |
void InsertOrDie<std::__1::map<char const*, scoped_refptr<yb::Metric>, std::__1::less<char const*>, std::__1::allocator<std::__1::pair<char const* const, scoped_refptr<yb::Metric> > > > >(std::__1::map<char const*, scoped_refptr<yb::Metric>, std::__1::less<char const*>, std::__1::allocator<std::__1::pair<char const* const, scoped_refptr<yb::Metric> > > >*, std::__1::map<char const*, scoped_refptr<yb::Metric>, std::__1::less<char const*>, std::__1::allocator<std::__1::pair<char const* const, scoped_refptr<yb::Metric> > > >::value_type::first_type const&, std::__1::map<char const*, scoped_refptr<yb::Metric>, std::__1::less<char const*>, std::__1::allocator<std::__1::pair<char const* const, scoped_refptr<yb::Metric> > > >::value_type::second_type const&) Line | Count | Source | 389 | 80.8M | const typename Collection::value_type::second_type& data) { | 390 | 80.8M | CHECK(InsertIfNotPresent(collection, key, data)) | 391 | 0 | << "duplicate key: " << key; | 392 | 80.8M | } |
void InsertOrDie<std::__1::unordered_map<yb::MetricPrototype const*, scoped_refptr<yb::Metric>, std::__1::hash<yb::MetricPrototype const*>, std::__1::equal_to<yb::MetricPrototype const*>, std::__1::allocator<std::__1::pair<yb::MetricPrototype const* const, scoped_refptr<yb::Metric> > > > >(std::__1::unordered_map<yb::MetricPrototype const*, scoped_refptr<yb::Metric>, std::__1::hash<yb::MetricPrototype const*>, std::__1::equal_to<yb::MetricPrototype const*>, std::__1::allocator<std::__1::pair<yb::MetricPrototype const* const, scoped_refptr<yb::Metric> > > >*, std::__1::unordered_map<yb::MetricPrototype const*, scoped_refptr<yb::Metric>, std::__1::hash<yb::MetricPrototype const*>, std::__1::equal_to<yb::MetricPrototype const*>, std::__1::allocator<std::__1::pair<yb::MetricPrototype const* const, scoped_refptr<yb::Metric> > > >::value_type::first_type const&, std::__1::unordered_map<yb::MetricPrototype const*, scoped_refptr<yb::Metric>, std::__1::hash<yb::MetricPrototype const*>, std::__1::equal_to<yb::MetricPrototype const*>, std::__1::allocator<std::__1::pair<yb::MetricPrototype const* const, scoped_refptr<yb::Metric> > > >::value_type::second_type const&) Line | Count | Source | 389 | 15.9M | const typename Collection::value_type::second_type& data) { | 390 | 15.9M | CHECK(InsertIfNotPresent(collection, key, data)) | 391 | 170 | << "duplicate key: " << key; | 392 | 15.9M | } |
void InsertOrDie<std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, scoped_refptr<yb::MetricEntity>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, scoped_refptr<yb::MetricEntity> > > > >(std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, scoped_refptr<yb::MetricEntity>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, scoped_refptr<yb::MetricEntity> > > >*, std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, scoped_refptr<yb::MetricEntity>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, scoped_refptr<yb::MetricEntity> > > >::value_type::first_type const&, std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, scoped_refptr<yb::MetricEntity>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, scoped_refptr<yb::MetricEntity> > > >::value_type::second_type const&) Line | Count | Source | 389 | 223k | const typename Collection::value_type::second_type& data) { | 390 | 18.4E | CHECK(InsertIfNotPresent(collection, key, data)) | 391 | 18.4E | << "duplicate key: " << key; | 392 | 223k | } |
void InsertOrDie<std::__1::map<long long, scoped_refptr<yb::log::LogIndex::IndexChunk>, std::__1::less<long long>, std::__1::allocator<std::__1::pair<long long const, scoped_refptr<yb::log::LogIndex::IndexChunk> > > > >(std::__1::map<long long, scoped_refptr<yb::log::LogIndex::IndexChunk>, std::__1::less<long long>, std::__1::allocator<std::__1::pair<long long const, scoped_refptr<yb::log::LogIndex::IndexChunk> > > >*, std::__1::map<long long, scoped_refptr<yb::log::LogIndex::IndexChunk>, std::__1::less<long long>, std::__1::allocator<std::__1::pair<long long const, scoped_refptr<yb::log::LogIndex::IndexChunk> > > >::value_type::first_type const&, std::__1::map<long long, scoped_refptr<yb::log::LogIndex::IndexChunk>, std::__1::less<long long>, std::__1::allocator<std::__1::pair<long long const, scoped_refptr<yb::log::LogIndex::IndexChunk> > > >::value_type::second_type const&) Line | Count | Source | 389 | 150k | const typename Collection::value_type::second_type& data) { | 390 | 150k | CHECK(InsertIfNotPresent(collection, key, data)) | 391 | 22 | << "duplicate key: " << key; | 392 | 150k | } |
|
393 | | |
394 | | // Same as above except deson't log the key on error. |
395 | | template <class Collection> |
396 | | void InsertOrDieNoPrint( |
397 | | Collection* const collection, |
398 | | const typename Collection::value_type::first_type& key, |
399 | | const typename Collection::value_type::second_type& data) { |
400 | | CHECK(InsertIfNotPresent(collection, key, data)) << "duplicate key."; |
401 | | } |
402 | | |
403 | | // Inserts a new key and default-initialized value. Dies if the key was already |
404 | | // present. Returns a reference to the value. Example usage: |
405 | | // |
406 | | // map<int, SomeProto> m; |
407 | | // SomeProto& proto = InsertKeyOrDie(&m, 3); |
408 | | // proto.set_field("foo"); |
409 | | template <class Collection> |
410 | | typename Collection::value_type::second_type& InsertKeyOrDie( |
411 | | Collection* const collection, |
412 | | const typename Collection::value_type::first_type& key) { |
413 | | typedef typename Collection::value_type value_type; |
414 | | pair<typename Collection::iterator, bool> res = |
415 | | collection->insert(value_type(key, typename value_type::second_type())); |
416 | | CHECK(res.second) << "duplicate key: " << key; |
417 | | return res.first->second; |
418 | | } |
419 | | |
420 | | // |
421 | | // Emplace*() |
422 | | // |
423 | | template <class Collection, class... Args> |
424 | | bool EmplaceIfNotPresent(Collection* const collection, |
425 | 14.5M | Args&&... args) { |
426 | 14.5M | return collection->emplace(std::forward<Args>(args)...).second; |
427 | 14.5M | } |
428 | | |
429 | | template <class Collection, class... Args> |
430 | | void EmplaceOrDie(Collection* const collection, |
431 | 14.5M | Args&&... args) { |
432 | 14.5M | CHECK(EmplaceIfNotPresent(collection, std::forward<Args>(args)...)) |
433 | 830 | << "duplicate value"; |
434 | 14.5M | } |
435 | | |
436 | | // |
437 | | // Lookup*() |
438 | | // |
439 | | |
440 | | // Looks up a given key and value pair in a collection and inserts the key-value |
441 | | // pair if it's not already present. Returns a reference to the value associated |
442 | | // with the key. |
443 | | template <class Collection> |
444 | | typename Collection::value_type::second_type& |
445 | | LookupOrInsert(Collection* const collection, |
446 | 4.37k | const typename Collection::value_type& vt) { |
447 | 4.37k | return collection->insert(vt).first->second; |
448 | 4.37k | } |
449 | | |
450 | | // Same as above except the key-value are passed separately. |
451 | | template <class Collection> |
452 | | typename Collection::value_type::second_type& |
453 | | LookupOrInsert(Collection* const collection, |
454 | | const typename Collection::value_type::first_type& key, |
455 | 4.37k | const typename Collection::value_type::second_type& value) { |
456 | 4.37k | return LookupOrInsert( |
457 | 4.37k | collection, typename Collection::value_type(key, value)); |
458 | 4.37k | } |
459 | | |
460 | | // Counts the number of equivalent elements in the given "sequence", and stores |
461 | | // the results in "count_map" with element as the key and count as the value. |
462 | | // |
463 | | // Example: |
464 | | // vector<string> v = {"a", "b", "c", "a", "b"}; |
465 | | // map<string, int> m; |
466 | | // AddTokenCounts(v, 1, &m); |
467 | | // assert(m["a"] == 2); |
468 | | // assert(m["b"] == 2); |
469 | | // assert(m["c"] == 1); |
470 | | template <typename Sequence, typename Collection> |
471 | | void AddTokenCounts( |
472 | | const Sequence& sequence, |
473 | | const typename Collection::value_type::second_type& increment, |
474 | | Collection* const count_map) { |
475 | | for (typename Sequence::const_iterator it = sequence.begin(); |
476 | | it != sequence.end(); ++it) { |
477 | | typename Collection::value_type::second_type& value = |
478 | | LookupOrInsert(count_map, *it, |
479 | | typename Collection::value_type::second_type()); |
480 | | value += increment; |
481 | | } |
482 | | } |
483 | | |
484 | | // Helpers for LookupOrInsertNew(), needed to create a new value type when the |
485 | | // type itself is a pointer, i.e., these extract the actual type from a pointer. |
486 | | template <class T> |
487 | | void MapUtilAssignNewDefaultInstance(T** location) { |
488 | | *location = new T(); |
489 | | } |
490 | | |
491 | | template <class T, class Arg> |
492 | | void MapUtilAssignNewInstance(T** location, const Arg &arg) { |
493 | | *location = new T(arg); |
494 | | } |
495 | | |
496 | | // Returns a reference to the value associated with key. If not found, a value |
497 | | // is default constructed on the heap and added to the map. |
498 | | // |
499 | | // This function is useful for containers of the form map<Key, Value*>, where |
500 | | // inserting a new key, value pair involves constructing a new heap-allocated |
501 | | // Value, and storing a pointer to that in the collection. |
502 | | template <class Collection> |
503 | | typename Collection::value_type::second_type& |
504 | | LookupOrInsertNew(Collection* const collection, |
505 | | const typename Collection::value_type::first_type& key) { |
506 | | pair<typename Collection::iterator, bool> ret = |
507 | | collection->insert( |
508 | | typename Collection::value_type(key, |
509 | | static_cast<typename Collection::value_type::second_type>(NULL))); |
510 | | if (ret.second) { |
511 | | // This helper is needed to 'extract' the Value type from the type of the |
512 | | // container value, which is (Value*). |
513 | | MapUtilAssignNewDefaultInstance(&(ret.first->second)); |
514 | | } |
515 | | return ret.first->second; |
516 | | } |
517 | | |
518 | | // Same as above but constructs the value using the single-argument constructor |
519 | | // and the given "arg". |
520 | | template <class Collection, class Arg> |
521 | | typename Collection::value_type::second_type& |
522 | | LookupOrInsertNew(Collection* const collection, |
523 | | const typename Collection::value_type::first_type& key, |
524 | | const Arg& arg) { |
525 | | pair<typename Collection::iterator, bool> ret = |
526 | | collection->insert( |
527 | | typename Collection::value_type( |
528 | | key, |
529 | | static_cast<typename Collection::value_type::second_type>(NULL))); |
530 | | if (ret.second) { |
531 | | // This helper is needed to 'extract' the Value type from the type of the |
532 | | // container value, which is (Value*). |
533 | | MapUtilAssignNewInstance(&(ret.first->second), arg); |
534 | | } |
535 | | return ret.first->second; |
536 | | } |
537 | | |
538 | | // Lookup of linked/shared pointers is used in two scenarios: |
539 | | // |
540 | | // Use LookupOrInsertSharedPtr if the container does not own the elements |
541 | | // for their whole lifetime. This is typically the case when a reader allows |
542 | | // parallel updates to the container. In this case a Mutex only needs to lock |
543 | | // container operations, but all element operations must be performed on the |
544 | | // shared pointer. Finding an element must be performed using FindPtr*() and |
545 | | // cannot be done with FindLinkedPtr*() even though it compiles. |
546 | | |
547 | | // Lookup a key in a map or hash_map whose values are shared_ptrs. If it is |
548 | | // missing, set collection[key].reset(new Value::element_type). Unlike |
549 | | // LookupOrInsertNewLinkedPtr, this function returns the shared_ptr instead of |
550 | | // the raw pointer. Value::element_type must be default constructable. |
551 | | template <class Collection> |
552 | | typename Collection::value_type::second_type& |
553 | | LookupOrInsertNewSharedPtr( |
554 | | Collection* const collection, |
555 | | const typename Collection::value_type::first_type& key) { |
556 | | typedef typename Collection::value_type::second_type SharedPtr; |
557 | | typedef typename Collection::value_type::second_type::element_type Element; |
558 | | pair<typename Collection::iterator, bool> ret = |
559 | | collection->insert(typename Collection::value_type(key, SharedPtr())); |
560 | | if (ret.second) { |
561 | | ret.first->second.reset(new Element()); |
562 | | } |
563 | | return ret.first->second; |
564 | | } |
565 | | |
566 | | // A variant of LookupOrInsertNewSharedPtr where the value is constructed using |
567 | | // a single-parameter constructor. Note: the constructor argument is computed |
568 | | // even if it will not be used, so only values cheap to compute should be passed |
569 | | // here. On the other hand it does not matter how expensive the construction of |
570 | | // the actual stored value is, as that only occurs if necessary. |
571 | | template <class Collection, class Arg> |
572 | | typename Collection::value_type::second_type& |
573 | | LookupOrInsertNewSharedPtr( |
574 | | Collection* const collection, |
575 | | const typename Collection::value_type::first_type& key, |
576 | 4.37k | const Arg& arg) { |
577 | 4.37k | typedef typename Collection::value_type::second_type SharedPtr; |
578 | 4.37k | typedef typename Collection::value_type::second_type::element_type Element; |
579 | 4.37k | pair<typename Collection::iterator, bool> ret = |
580 | 4.37k | collection->insert(typename Collection::value_type(key, SharedPtr())); |
581 | 4.37k | if (ret.second) { |
582 | 1.96k | ret.first->second.reset(new Element(arg)); |
583 | 1.96k | } |
584 | 4.37k | return ret.first->second; |
585 | 4.37k | } |
586 | | |
587 | | // |
588 | | // Misc Utility Functions |
589 | | // |
590 | | |
591 | | // Updates the value associated with the given key. If the key was not already |
592 | | // present, then the key-value pair are inserted and "previous" is unchanged. If |
593 | | // the key was already present, the value is updated and "*previous" will |
594 | | // contain a copy of the old value. |
595 | | // |
596 | | // InsertOrReturnExisting has complementary behavior that returns the |
597 | | // address of an already existing value, rather than updating it. |
598 | | template <class Collection> |
599 | | bool UpdateReturnCopy(Collection* const collection, |
600 | | const typename Collection::value_type::first_type& key, |
601 | | const typename Collection::value_type::second_type& value, |
602 | | typename Collection::value_type::second_type* previous) { |
603 | | pair<typename Collection::iterator, bool> ret = |
604 | | collection->insert(typename Collection::value_type(key, value)); |
605 | | if (!ret.second) { |
606 | | // update |
607 | | if (previous) { |
608 | | *previous = ret.first->second; |
609 | | } |
610 | | ret.first->second = value; |
611 | | return true; |
612 | | } |
613 | | return false; |
614 | | } |
615 | | |
616 | | // Same as above except that the key and value are passed as a pair. |
617 | | template <class Collection> |
618 | | bool UpdateReturnCopy(Collection* const collection, |
619 | | const typename Collection::value_type& vt, |
620 | | typename Collection::value_type::second_type* previous) { |
621 | | pair<typename Collection::iterator, bool> ret = |
622 | | collection->insert(vt); |
623 | | if (!ret.second) { |
624 | | // update |
625 | | if (previous) { |
626 | | *previous = ret.first->second; |
627 | | } |
628 | | ret.first->second = vt.second; |
629 | | return true; |
630 | | } |
631 | | return false; |
632 | | } |
633 | | |
634 | | // Tries to insert the given key-value pair into the collection. Returns NULL if |
635 | | // the insert succeeds. Otherwise, returns a pointer to the existing value. |
636 | | // |
637 | | // This complements UpdateReturnCopy in that it allows to update only after |
638 | | // verifying the old value and still insert quickly without having to look up |
639 | | // twice. Unlike UpdateReturnCopy this also does not come with the issue of an |
640 | | // undefined previous* in case new data was inserted. |
641 | | template <class Collection> |
642 | | typename Collection::value_type::second_type* |
643 | | InsertOrReturnExisting(Collection* const collection, |
644 | | const typename Collection::value_type& vt) { |
645 | | pair<typename Collection::iterator, bool> ret = collection->insert(vt); |
646 | | if (ret.second) { |
647 | | return NULL; // Inserted, no existing previous value. |
648 | | } else { |
649 | | return &ret.first->second; // Return address of already existing value. |
650 | | } |
651 | | } |
652 | | |
653 | | // Same as above, except for explicit key and data. |
654 | | template <class Collection> |
655 | | typename Collection::value_type::second_type* |
656 | | InsertOrReturnExisting( |
657 | | Collection* const collection, |
658 | | const typename Collection::value_type::first_type& key, |
659 | | const typename Collection::value_type::second_type& data) { |
660 | | return InsertOrReturnExisting(collection, |
661 | | typename Collection::value_type(key, data)); |
662 | | } |
663 | | |
664 | | // Saves the reverse mapping into reverse. Key/value pairs are inserted in the |
665 | | // order the iterator returns them. |
666 | | template <class Collection, class ReverseCollection> |
667 | | void ReverseMap(const Collection& collection, |
668 | | ReverseCollection* const reverse) { |
669 | | CHECK(reverse != NULL); |
670 | | for (typename Collection::const_iterator it = collection.begin(); |
671 | | it != collection.end(); |
672 | | ++it) { |
673 | | InsertOrUpdate(reverse, it->second, it->first); |
674 | | } |
675 | | } |
676 | | |
677 | | // Erases the collection item identified by the given key, and returns the value |
678 | | // associated with that key. It is assumed that the value (i.e., the |
679 | | // mapped_type) is a pointer. Returns NULL if the key was not found in the |
680 | | // collection. |
681 | | // |
682 | | // Examples: |
683 | | // map<string, MyType*> my_map; |
684 | | // |
685 | | // One line cleanup: |
686 | | // delete EraseKeyReturnValuePtr(&my_map, "abc"); |
687 | | // |
688 | | // Use returned value: |
689 | | // std::unique_ptr<MyType> value_ptr(EraseKeyReturnValuePtr(&my_map, "abc")); |
690 | | // if (value_ptr.get()) |
691 | | // value_ptr->DoSomething(); |
692 | | // |
693 | | template <class Collection> |
694 | | typename Collection::value_type::second_type EraseKeyReturnValuePtr( |
695 | | Collection* const collection, |
696 | 75.4k | const typename Collection::value_type::first_type& key) { |
697 | 75.4k | auto it = collection->find(key); |
698 | 75.4k | if (it == collection->end()) { |
699 | 0 | return NULL; |
700 | 0 | } |
701 | 75.4k | typename Collection::value_type::second_type v = it->second; |
702 | 75.4k | collection->erase(it); |
703 | 75.4k | return v; |
704 | 75.4k | } std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yb::consensus::PeerMessageQueue::TrackedPeer*, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, yb::consensus::PeerMessageQueue::TrackedPeer*> > >::value_type::second_type EraseKeyReturnValuePtr<std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yb::consensus::PeerMessageQueue::TrackedPeer*, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, yb::consensus::PeerMessageQueue::TrackedPeer*> > > >(std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yb::consensus::PeerMessageQueue::TrackedPeer*, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, yb::consensus::PeerMessageQueue::TrackedPeer*> > >*, std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yb::consensus::PeerMessageQueue::TrackedPeer*, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, yb::consensus::PeerMessageQueue::TrackedPeer*> > >::value_type::first_type const&) Line | Count | Source | 696 | 75.4k | const typename Collection::value_type::first_type& key) { | 697 | 75.4k | auto it = collection->find(key); | 698 | 75.4k | if (it == collection->end()) { | 699 | 0 | return NULL; | 700 | 0 | } | 701 | 75.4k | typename Collection::value_type::second_type v = it->second; | 702 | 75.4k | collection->erase(it); | 703 | 75.4k | return v; | 704 | 75.4k | } |
std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yb::TimedFailureDetector::Node*, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, yb::TimedFailureDetector::Node*> > >::value_type::second_type EraseKeyReturnValuePtr<std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yb::TimedFailureDetector::Node*, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, yb::TimedFailureDetector::Node*> > > >(std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yb::TimedFailureDetector::Node*, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, yb::TimedFailureDetector::Node*> > >*, std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yb::TimedFailureDetector::Node*, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, yb::TimedFailureDetector::Node*> > >::value_type::first_type const&) Line | Count | Source | 696 | 1 | const typename Collection::value_type::first_type& key) { | 697 | 1 | auto it = collection->find(key); | 698 | 1 | if (it == collection->end()) { | 699 | 0 | return NULL; | 700 | 0 | } | 701 | 1 | typename Collection::value_type::second_type v = it->second; | 702 | 1 | collection->erase(it); | 703 | 1 | return v; | 704 | 1 | } |
|
705 | | |
706 | | // Inserts all the keys from map_container into key_container, which must |
707 | | // support insert(MapContainer::key_type). |
708 | | // |
709 | | // Note: any initial contents of the key_container are not cleared. |
710 | | template <class MapContainer, class KeyContainer> |
711 | | void InsertKeysFromMap(const MapContainer& map_container, |
712 | | KeyContainer* key_container) { |
713 | | CHECK(key_container != NULL); |
714 | | for (typename MapContainer::const_iterator it = map_container.begin(); |
715 | | it != map_container.end(); ++it) { |
716 | | key_container->insert(it->first); |
717 | | } |
718 | | } |
719 | | |
720 | | // Appends all the keys from map_container into key_container, which must |
721 | | // support push_back(MapContainer::key_type). |
722 | | // |
723 | | // Note: any initial contents of the key_container are not cleared. |
724 | | template <class MapContainer, class KeyContainer> |
725 | | void AppendKeysFromMap(const MapContainer& map_container, |
726 | | KeyContainer* key_container) { |
727 | | CHECK(key_container != NULL); |
728 | | for (typename MapContainer::const_iterator it = map_container.begin(); |
729 | | it != map_container.end(); ++it) { |
730 | | key_container->push_back(it->first); |
731 | | } |
732 | | } |
733 | | |
734 | | // A more specialized overload of AppendKeysFromMap to optimize reallocations |
735 | | // for the common case in which we're appending keys to a vector and hence can |
736 | | // (and sometimes should) call reserve() first. |
737 | | // |
738 | | // (It would be possible to play SFINAE games to call reserve() for any |
739 | | // container that supports it, but this seems to get us 99% of what we need |
740 | | // without the complexity of a SFINAE-based solution.) |
741 | | template <class MapContainer, class KeyType> |
742 | | void AppendKeysFromMap(const MapContainer& map_container, |
743 | | vector<KeyType>* key_container) { |
744 | | CHECK(key_container != NULL); |
745 | | // We now have the opportunity to call reserve(). Calling reserve() every |
746 | | // time is a bad idea for some use cases: libstdc++'s implementation of |
747 | | // vector<>::reserve() resizes the vector's backing store to exactly the |
748 | | // given size (unless it's already at least that big). Because of this, |
749 | | // the use case that involves appending a lot of small maps (total size |
750 | | // N) one by one to a vector would be O(N^2). But never calling reserve() |
751 | | // loses the opportunity to improve the use case of adding from a large |
752 | | // map to an empty vector (this improves performance by up to 33%). A |
753 | | // number of heuristics are possible; see the discussion in |
754 | | // cl/34081696. Here we use the simplest one. |
755 | | if (key_container->empty()) { |
756 | | key_container->reserve(map_container.size()); |
757 | | } |
758 | | for (typename MapContainer::const_iterator it = map_container.begin(); |
759 | | it != map_container.end(); ++it) { |
760 | | key_container->push_back(it->first); |
761 | | } |
762 | | } |
763 | | |
764 | | // Inserts all the values from map_container into value_container, which must |
765 | | // support push_back(MapContainer::mapped_type). |
766 | | // |
767 | | // Note: any initial contents of the value_container are not cleared. |
768 | | template <class MapContainer, class ValueContainer> |
769 | | void AppendValuesFromMap(const MapContainer& map_container, |
770 | | ValueContainer* value_container) { |
771 | | CHECK(value_container != NULL); |
772 | | for (typename MapContainer::const_iterator it = map_container.begin(); |
773 | | it != map_container.end(); ++it) { |
774 | | value_container->push_back(it->second); |
775 | | } |
776 | | } |
777 | | |
778 | | // A more specialized overload of AppendValuesFromMap to optimize reallocations |
779 | | // for the common case in which we're appending values to a vector and hence |
780 | | // can (and sometimes should) call reserve() first. |
781 | | // |
782 | | // (It would be possible to play SFINAE games to call reserve() for any |
783 | | // container that supports it, but this seems to get us 99% of what we need |
784 | | // without the complexity of a SFINAE-based solution.) |
785 | | template <class MapContainer, class ValueType> |
786 | | void AppendValuesFromMap(const MapContainer& map_container, |
787 | 3.10k | vector<ValueType>* value_container) { |
788 | 3.10k | CHECK(value_container != NULL); |
789 | | // See AppendKeysFromMap for why this is done. |
790 | 3.10k | if (value_container->empty()) { |
791 | 3.10k | value_container->reserve(map_container.size()); |
792 | 3.10k | } |
793 | 3.62k | for (const auto& entry : map_container) { |
794 | 3.62k | value_container->push_back(entry.second); |
795 | 3.62k | } |
796 | 3.10k | } void AppendValuesFromMap<std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, scoped_refptr<yb::master::TableInfo>, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, scoped_refptr<yb::master::TableInfo> > > >, scoped_refptr<yb::master::TableInfo> >(std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, scoped_refptr<yb::master::TableInfo>, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, scoped_refptr<yb::master::TableInfo> > > > const&, std::__1::vector<scoped_refptr<yb::master::TableInfo>, std::__1::allocator<scoped_refptr<yb::master::TableInfo> > >*) Line | Count | Source | 787 | 3.10k | vector<ValueType>* value_container) { | 788 | 3.10k | CHECK(value_container != NULL); | 789 | | // See AppendKeysFromMap for why this is done. | 790 | 3.10k | if (value_container->empty()) { | 791 | 3.10k | value_container->reserve(map_container.size()); | 792 | 3.10k | } | 793 | 3.61k | for (const auto& entry : map_container) { | 794 | 3.61k | value_container->push_back(entry.second); | 795 | 3.61k | } | 796 | 3.10k | } |
void AppendValuesFromMap<std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yb::master::TabletReplica, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, yb::master::TabletReplica> > >, yb::master::TabletReplica>(std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yb::master::TabletReplica, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, yb::master::TabletReplica> > > const&, std::__1::vector<yb::master::TabletReplica, std::__1::allocator<yb::master::TabletReplica> >*) Line | Count | Source | 787 | 3 | vector<ValueType>* value_container) { | 788 | 3 | CHECK(value_container != NULL); | 789 | | // See AppendKeysFromMap for why this is done. | 790 | 3 | if (value_container->empty()) { | 791 | 3 | value_container->reserve(map_container.size()); | 792 | 3 | } | 793 | 9 | for (const auto& entry : map_container) { | 794 | 9 | value_container->push_back(entry.second); | 795 | 9 | } | 796 | 3 | } |
|
797 | | |
798 | | #endif // YB_GUTIL_MAP_UTIL_H |