YugabyteDB (2.13.1.0-b60, 21121d69985fbf76aa6958d8f04a9bfa936293b5)

Coverage Report

Created: 2022-03-22 16:43

/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