Coverage Report

Created: 2025-03-11 06:06

/src/brpc/src/butil/containers/flat_map_inl.h
Line
Count
Source (jump to first uncovered line)
1
// Licensed to the Apache Software Foundation (ASF) under one
2
// or more contributor license agreements.  See the NOTICE file
3
// distributed with this work for additional information
4
// regarding copyright ownership.  The ASF licenses this file
5
// to you under the Apache License, Version 2.0 (the
6
// "License"); you may not use this file except in compliance
7
// with the License.  You may obtain a copy of the License at
8
//
9
//   http://www.apache.org/licenses/LICENSE-2.0
10
//
11
// Unless required by applicable law or agreed to in writing,
12
// software distributed under the License is distributed on an
13
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14
// KIND, either express or implied.  See the License for the
15
// specific language governing permissions and limitations
16
// under the License.
17
18
// Date: Wed Nov 27 12:59:20 CST 2013
19
20
#ifndef BUTIL_FLAT_MAP_INL_H
21
#define BUTIL_FLAT_MAP_INL_H
22
23
namespace butil {
24
25
0
inline uint32_t find_next_prime(uint32_t nbucket) {
26
0
    static const unsigned long prime_list[] = {
27
0
        29ul, 
28
0
        53ul,         97ul,         193ul,       389ul,       769ul,
29
0
        1543ul,       3079ul,       6151ul,      12289ul,     24593ul,
30
0
        49157ul,      98317ul,      196613ul,    393241ul,    786433ul,
31
0
        1572869ul,    3145739ul,    6291469ul,   12582917ul,  25165843ul,
32
0
        50331653ul,   100663319ul,  201326611ul, 402653189ul, 805306457ul,
33
0
        1610612741ul, 3221225473ul, 4294967291ul
34
0
    };
35
0
    const size_t nprimes = sizeof(prime_list) / sizeof(prime_list[0]);
36
0
    for (size_t i = 0; i < nprimes; i++) {
37
0
        if (nbucket <= prime_list[i]) {
38
0
            return prime_list[i];
39
0
        }
40
0
    }
41
0
    return nbucket;
42
0
}
43
44
// NOTE: find_power2(0) = 0
45
2.98k
inline uint64_t find_power2(uint64_t b) {
46
2.98k
    b -= 1;
47
2.98k
    b |= (b >> 1);
48
2.98k
    b |= (b >> 2);
49
2.98k
    b |= (b >> 4);
50
2.98k
    b |= (b >> 8);
51
2.98k
    b |= (b >> 16);
52
2.98k
    b |= (b >> 32);
53
2.98k
    return b + 1;
54
2.98k
}
55
56
// Using next prime is slower for 10ns on average (due to %). If quality of
57
// the hash code is good enough, primeness of nbucket is not important. We
58
// choose to trust the hash code (or user should use a better hash algorithm
59
// when the collisions are significant) and still stick to round-to-power-2
60
// solution right now.
61
2.98k
inline size_t flatmap_round(size_t nbucket) {
62
#ifdef FLAT_MAP_ROUND_BUCKET_BY_USE_NEXT_PRIME    
63
    return find_next_prime(nbucket);
64
#else
65
    // the lowerbound fixes the corner case of nbucket=0 which results in coredump during seeking the map.
66
2.98k
    return nbucket <= 8 ? 8 : find_power2(nbucket);
67
2.98k
#endif
68
2.98k
}
69
70
92.0k
inline size_t flatmap_mod(size_t hash_code, size_t nbucket) {
71
#ifdef FLAT_MAP_ROUND_BUCKET_BY_USE_NEXT_PRIME
72
    return hash_code % nbucket;
73
#else
74
92.0k
    return hash_code & (nbucket - 1);
75
92.0k
#endif
76
92.0k
}
77
78
// Iterate FlatMap
79
template <typename Map, typename Value> class FlatMapIterator {
80
public:
81
    typedef Value value_type;
82
    typedef Value& reference;
83
    typedef Value* pointer;
84
    typedef typename add_const<Value>::type ConstValue;
85
    typedef ConstValue& const_reference;
86
    typedef ConstValue* const_pointer;
87
    typedef std::forward_iterator_tag iterator_category;
88
    typedef ptrdiff_t difference_type;
89
    typedef typename remove_const<Value>::type NonConstValue;
90
    
91
0
    FlatMapIterator() : _node(NULL), _entry(NULL) {}    
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bvar::VarEntry, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, bvar::VarEntry> const>::FlatMapIterator()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<unsigned long, brpc::ConnectStatistics, butil::DefaultHasher<unsigned long>, butil::DefaultEqualTo<unsigned long>, false, butil::PtAllocator, false>, std::pair<unsigned long const, brpc::ConnectStatistics> const>::FlatMapIterator()
92
28.1k
    FlatMapIterator(const Map* map, size_t pos) {
93
28.1k
        _entry = map->_buckets + pos;
94
28.1k
        find_and_set_valid_node();
95
28.1k
    }
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<bthread::SampledContention*, bthread::SampledContention*, bthread::ContentionHash, bthread::ContentionEqual, false, butil::PtAllocator, false>, std::pair<bthread::SampledContention* const, bthread::SampledContention*> >::FlatMapIterator(butil::FlatMap<bthread::SampledContention*, bthread::SampledContention*, bthread::ContentionHash, bthread::ContentionEqual, false, butil::PtAllocator, false> const*, unsigned long)
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<butil::IOBuf::Block*, butil::IOBufProfiler::BlockInfo, butil::DefaultHasher<butil::IOBuf::Block*>, butil::DefaultEqualTo<butil::IOBuf::Block*>, false, butil::PtAllocator, false>, std::pair<butil::IOBuf::Block* const, butil::IOBufProfiler::BlockInfo> >::FlatMapIterator(butil::FlatMap<butil::IOBuf::Block*, butil::IOBufProfiler::BlockInfo, butil::DefaultHasher<butil::IOBuf::Block*>, butil::DefaultEqualTo<butil::IOBuf::Block*>, false, butil::PtAllocator, false> const*, unsigned long)
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::shared_ptr<butil::IOBufSample>, long, butil::detail::IOBufSampleHash<std::shared_ptr<butil::IOBufSample> >, butil::detail::IOBufSampleEqual<std::shared_ptr<butil::IOBufSample> >, false, butil::PtAllocator, false>, std::pair<std::shared_ptr<butil::IOBufSample> const, long> const>::FlatMapIterator(butil::FlatMap<std::shared_ptr<butil::IOBufSample>, long, butil::detail::IOBufSampleHash<std::shared_ptr<butil::IOBufSample> >, butil::detail::IOBufSampleEqual<std::shared_ptr<butil::IOBufSample> >, false, butil::PtAllocator, false> const*, unsigned long)
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::shared_ptr<butil::IOBufSample>, long, butil::detail::IOBufSampleHash<std::shared_ptr<butil::IOBufSample> >, butil::detail::IOBufSampleEqual<std::shared_ptr<butil::IOBufSample> >, false, butil::PtAllocator, false>, std::pair<std::shared_ptr<butil::IOBufSample> const, long> >::FlatMapIterator(butil::FlatMap<std::shared_ptr<butil::IOBufSample>, long, butil::detail::IOBufSampleHash<std::shared_ptr<butil::IOBufSample> >, butil::detail::IOBufSampleEqual<std::shared_ptr<butil::IOBufSample> >, false, butil::PtAllocator, false> const*, unsigned long)
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<butil::IOBufSample*, std::shared_ptr<butil::IOBufSample>, butil::detail::IOBufSampleHash<butil::IOBufSample*>, butil::detail::IOBufSampleEqual<butil::IOBufSample*>, false, butil::PtAllocator, false>, std::pair<butil::IOBufSample* const, std::shared_ptr<butil::IOBufSample> > >::FlatMapIterator(butil::FlatMap<butil::IOBufSample*, std::shared_ptr<butil::IOBufSample>, butil::detail::IOBufSampleHash<butil::IOBufSample*>, butil::detail::IOBufSampleEqual<butil::IOBufSample*>, false, butil::PtAllocator, false> const*, unsigned long)
butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bvar::VarEntry, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, bvar::VarEntry> >::FlatMapIterator(butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bvar::VarEntry, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false> const*, unsigned long)
Line
Count
Source
92
1.28k
    FlatMapIterator(const Map* map, size_t pos) {
93
1.28k
        _entry = map->_buckets + pos;
94
1.28k
        find_and_set_valid_node();
95
1.28k
    }
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bvar::VarEntry, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, bvar::VarEntry> const>::FlatMapIterator(butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bvar::VarEntry, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false> const*, unsigned long)
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<int, bthread::TaskGroup*, butil::DefaultHasher<int>, butil::DefaultEqualTo<int>, false, butil::PtAllocator, false>, std::pair<int const, bthread::TaskGroup*> >::FlatMapIterator(butil::FlatMap<int, bthread::TaskGroup*, butil::DefaultHasher<int>, butil::DefaultEqualTo<int>, false, butil::PtAllocator, false> const*, unsigned long)
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bvar::MVarEntry, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, bvar::MVarEntry> >::FlatMapIterator(butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bvar::MVarEntry, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false> const*, unsigned long)
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::LoadBalancer const*, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, brpc::LoadBalancer const*> >::FlatMapIterator(butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::LoadBalancer const*, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false> const*, unsigned long)
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::NamingService const*, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, brpc::NamingService const*> >::FlatMapIterator(butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::NamingService const*, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false> const*, unsigned long)
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::Server::MethodProperty, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, brpc::Server::MethodProperty> >::FlatMapIterator(butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::Server::MethodProperty, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false> const*, unsigned long)
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::Server::SSLContext, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, brpc::Server::SSLContext> >::FlatMapIterator(butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::Server::SSLContext, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false> const*, unsigned long)
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::Server::ServiceProperty, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, brpc::Server::ServiceProperty> >::FlatMapIterator(butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::Server::ServiceProperty, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false> const*, unsigned long)
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::shared_ptr<brpc::SocketSSLContext>, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::shared_ptr<brpc::SocketSSLContext> > >::FlatMapIterator(butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::shared_ptr<brpc::SocketSSLContext>, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false> const*, unsigned long)
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::Server::SSLContext, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, brpc::Server::SSLContext> const>::FlatMapIterator(butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::Server::SSLContext, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false> const*, unsigned long)
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<unsigned long, brpc::ConnectStatistics, butil::DefaultHasher<unsigned long>, butil::DefaultEqualTo<unsigned long>, false, butil::PtAllocator, false>, std::pair<unsigned long const, brpc::ConnectStatistics> >::FlatMapIterator(butil::FlatMap<unsigned long, brpc::ConnectStatistics, butil::DefaultHasher<unsigned long>, butil::DefaultEqualTo<unsigned long>, false, butil::PtAllocator, false> const*, unsigned long)
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<unsigned long, brpc::ConnectStatistics, butil::DefaultHasher<unsigned long>, butil::DefaultEqualTo<unsigned long>, false, butil::PtAllocator, false>, std::pair<unsigned long const, brpc::ConnectStatistics> const>::FlatMapIterator(butil::FlatMap<unsigned long, brpc::ConnectStatistics, butil::DefaultHasher<unsigned long>, butil::DefaultEqualTo<unsigned long>, false, butil::PtAllocator, false> const*, unsigned long)
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::DisplayType, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, brpc::DisplayType> >::FlatMapIterator(butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::DisplayType, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false> const*, unsigned long)
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::Server::ServiceProperty, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, brpc::Server::ServiceProperty> const>::FlatMapIterator(butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::Server::ServiceProperty, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false> const*, unsigned long)
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > const>::FlatMapIterator(butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false> const*, unsigned long)
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<brpc::NSKey, brpc::NamingServiceThread*, brpc::NSKeyHasher, butil::DefaultEqualTo<brpc::NSKey>, false, butil::PtAllocator, false>, std::pair<brpc::NSKey const, brpc::NamingServiceThread*> >::FlatMapIterator(butil::FlatMap<brpc::NSKey, brpc::NamingServiceThread*, brpc::NSKeyHasher, butil::DefaultEqualTo<brpc::NSKey>, false, butil::PtAllocator, false> const*, unsigned long)
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::ConcurrencyLimiter const*, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, brpc::ConcurrencyLimiter const*> >::FlatMapIterator(butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::ConcurrencyLimiter const*, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false> const*, unsigned long)
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, true>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > const>::FlatMapIterator(butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, true> const*, unsigned long)
butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, true>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::FlatMapIterator(butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, true> const*, unsigned long)
Line
Count
Source
92
24.1k
    FlatMapIterator(const Map* map, size_t pos) {
93
24.1k
        _entry = map->_buckets + pos;
94
24.1k
        find_and_set_valid_node();
95
24.1k
    }
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::FlatMapIterator(butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false> const*, unsigned long)
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<brpc::ServerId, butil::FlatMapVoid, butil::DefaultHasher<brpc::ServerId>, butil::DefaultEqualTo<brpc::ServerId>, false, butil::PtAllocator, false>, brpc::ServerId const>::FlatMapIterator(butil::FlatMap<brpc::ServerId, butil::FlatMapVoid, butil::DefaultHasher<brpc::ServerId>, butil::DefaultEqualTo<brpc::ServerId>, false, butil::PtAllocator, false> const*, unsigned long)
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<int, brpc::policy::H2StreamContext*, butil::DefaultHasher<int>, butil::DefaultEqualTo<int>, false, butil::PtAllocator, false>, std::pair<int const, brpc::policy::H2StreamContext*> >::FlatMapIterator(butil::FlatMap<int, brpc::policy::H2StreamContext*, butil::DefaultHasher<int>, butil::DefaultEqualTo<int>, false, butil::PtAllocator, false> const*, unsigned long)
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<unsigned long, unsigned long, butil::DefaultHasher<unsigned long>, butil::DefaultEqualTo<unsigned long>, false, butil::PtAllocator, false>, std::pair<unsigned long const, unsigned long> >::FlatMapIterator(butil::FlatMap<unsigned long, unsigned long, butil::DefaultHasher<unsigned long>, butil::DefaultEqualTo<unsigned long>, false, butil::PtAllocator, false> const*, unsigned long)
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool (brpc::policy::RtmpChunkStream::*)(brpc::policy::RtmpMessageHeader const&, brpc::AMFInputStream*, brpc::Socket*), butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, bool (brpc::policy::RtmpChunkStream::*)(brpc::policy::RtmpMessageHeader const&, brpc::AMFInputStream*, brpc::Socket*)> >::FlatMapIterator(butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool (brpc::policy::RtmpChunkStream::*)(brpc::policy::RtmpMessageHeader const&, brpc::AMFInputStream*, brpc::Socket*), butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false> const*, unsigned long)
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<unsigned int, brpc::policy::RtmpContext::MessageStreamInfo, butil::DefaultHasher<unsigned int>, butil::DefaultEqualTo<unsigned int>, false, butil::PtAllocator, false>, std::pair<unsigned int const, brpc::policy::RtmpContext::MessageStreamInfo> >::FlatMapIterator(butil::FlatMap<unsigned int, brpc::policy::RtmpContext::MessageStreamInfo, butil::DefaultHasher<unsigned int>, butil::DefaultEqualTo<unsigned int>, false, butil::PtAllocator, false> const*, unsigned long)
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<unsigned int, brpc::policy::RtmpTransactionHandler*, butil::DefaultHasher<unsigned int>, butil::DefaultEqualTo<unsigned int>, false, butil::PtAllocator, false>, std::pair<unsigned int const, brpc::policy::RtmpTransactionHandler*> >::FlatMapIterator(butil::FlatMap<unsigned int, brpc::policy::RtmpTransactionHandler*, butil::DefaultHasher<unsigned int>, butil::DefaultEqualTo<unsigned int>, false, butil::PtAllocator, false> const*, unsigned long)
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<unsigned long, int, butil::DefaultHasher<unsigned long>, butil::DefaultEqualTo<unsigned long>, false, butil::PtAllocator, false>, std::pair<unsigned long const, int> >::FlatMapIterator(butil::FlatMap<unsigned long, int, butil::DefaultHasher<unsigned long>, butil::DefaultEqualTo<unsigned long>, false, butil::PtAllocator, false> const*, unsigned long)
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<brpc::SocketMapKey, brpc::SocketMap::SingleConnection, brpc::SocketMapKeyHasher, butil::DefaultEqualTo<brpc::SocketMapKey>, false, butil::PtAllocator, false>, std::pair<brpc::SocketMapKey const, brpc::SocketMap::SingleConnection> >::FlatMapIterator(butil::FlatMap<brpc::SocketMapKey, brpc::SocketMap::SingleConnection, brpc::SocketMapKeyHasher, butil::DefaultEqualTo<brpc::SocketMapKey>, false, butil::PtAllocator, false> const*, unsigned long)
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, mcpack2pb::MessageHandler, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, mcpack2pb::MessageHandler> >::FlatMapIterator(butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, mcpack2pb::MessageHandler, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false> const*, unsigned long)
butil::FlatMapIterator<butil::FlatMap<brpc::HPacker::Header, unsigned long, brpc::HeaderHasher, brpc::HeaderEqualTo, false, butil::PtAllocator, false>, std::pair<brpc::HPacker::Header const, unsigned long> >::FlatMapIterator(butil::FlatMap<brpc::HPacker::Header, unsigned long, brpc::HeaderHasher, brpc::HeaderEqualTo, false, butil::PtAllocator, false> const*, unsigned long)
Line
Count
Source
92
1.37k
    FlatMapIterator(const Map* map, size_t pos) {
93
1.37k
        _entry = map->_buckets + pos;
94
1.37k
        find_and_set_valid_node();
95
1.37k
    }
butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, unsigned long> >::FlatMapIterator(butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false> const*, unsigned long)
Line
Count
Source
92
1.37k
    FlatMapIterator(const Map* map, size_t pos) {
93
1.37k
        _entry = map->_buckets + pos;
94
1.37k
        find_and_set_valid_node();
95
1.37k
    }
96
    FlatMapIterator(const FlatMapIterator<Map, NonConstValue>& rhs)
97
0
        : _node(rhs._node), _entry(rhs._entry) {}
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<bthread::SampledContention*, bthread::SampledContention*, bthread::ContentionHash, bthread::ContentionEqual, false, butil::PtAllocator, false>, std::pair<bthread::SampledContention* const, bthread::SampledContention*> const>::FlatMapIterator(butil::FlatMapIterator<butil::FlatMap<bthread::SampledContention*, bthread::SampledContention*, bthread::ContentionHash, bthread::ContentionEqual, false, butil::PtAllocator, false>, std::pair<bthread::SampledContention* const, bthread::SampledContention*> > const&)
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bvar::VarEntry, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, bvar::VarEntry> const>::FlatMapIterator(butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bvar::VarEntry, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, bvar::VarEntry> > const&)
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bvar::MVarEntry, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, bvar::MVarEntry> const>::FlatMapIterator(butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bvar::MVarEntry, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, bvar::MVarEntry> > const&)
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::Server::ServiceProperty, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, brpc::Server::ServiceProperty> const>::FlatMapIterator(butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::Server::ServiceProperty, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, brpc::Server::ServiceProperty> > const&)
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::Server::MethodProperty, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, brpc::Server::MethodProperty> const>::FlatMapIterator(butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::Server::MethodProperty, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, brpc::Server::MethodProperty> > const&)
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<unsigned long, brpc::ConnectStatistics, butil::DefaultHasher<unsigned long>, butil::DefaultEqualTo<unsigned long>, false, butil::PtAllocator, false>, std::pair<unsigned long const, brpc::ConnectStatistics> const>::FlatMapIterator(butil::FlatMapIterator<butil::FlatMap<unsigned long, brpc::ConnectStatistics, butil::DefaultHasher<unsigned long>, butil::DefaultEqualTo<unsigned long>, false, butil::PtAllocator, false>, std::pair<unsigned long const, brpc::ConnectStatistics> > const&)
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::FlatMapIterator(butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&)
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<int, brpc::policy::H2StreamContext*, butil::DefaultHasher<int>, butil::DefaultEqualTo<int>, false, butil::PtAllocator, false>, std::pair<int const, brpc::policy::H2StreamContext*> const>::FlatMapIterator(butil::FlatMapIterator<butil::FlatMap<int, brpc::policy::H2StreamContext*, butil::DefaultHasher<int>, butil::DefaultEqualTo<int>, false, butil::PtAllocator, false>, std::pair<int const, brpc::policy::H2StreamContext*> > const&)
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > const>::FlatMapIterator(butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&)
98
    ~FlatMapIterator() = default;  // required by style-checker
99
    
100
    // *this == rhs
101
    bool operator==(const FlatMapIterator& rhs) const
102
0
    { return _node == rhs._node; }
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bvar::VarEntry, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, bvar::VarEntry> const>::operator==(butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bvar::VarEntry, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, bvar::VarEntry> const> const&) const
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<unsigned long, brpc::ConnectStatistics, butil::DefaultHasher<unsigned long>, butil::DefaultEqualTo<unsigned long>, false, butil::PtAllocator, false>, std::pair<unsigned long const, brpc::ConnectStatistics> const>::operator==(butil::FlatMapIterator<butil::FlatMap<unsigned long, brpc::ConnectStatistics, butil::DefaultHasher<unsigned long>, butil::DefaultEqualTo<unsigned long>, false, butil::PtAllocator, false>, std::pair<unsigned long const, brpc::ConnectStatistics> const> const&) const
103
104
    // *this != rhs
105
    bool operator!=(const FlatMapIterator& rhs) const
106
25.1k
    { return _node != rhs._node; }
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<bthread::SampledContention*, bthread::SampledContention*, bthread::ContentionHash, bthread::ContentionEqual, false, butil::PtAllocator, false>, std::pair<bthread::SampledContention* const, bthread::SampledContention*> >::operator!=(butil::FlatMapIterator<butil::FlatMap<bthread::SampledContention*, bthread::SampledContention*, bthread::ContentionHash, bthread::ContentionEqual, false, butil::PtAllocator, false>, std::pair<bthread::SampledContention* const, bthread::SampledContention*> > const&) const
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<bthread::SampledContention*, bthread::SampledContention*, bthread::ContentionHash, bthread::ContentionEqual, false, butil::PtAllocator, false>, std::pair<bthread::SampledContention* const, bthread::SampledContention*> const>::operator!=(butil::FlatMapIterator<butil::FlatMap<bthread::SampledContention*, bthread::SampledContention*, bthread::ContentionHash, bthread::ContentionEqual, false, butil::PtAllocator, false>, std::pair<bthread::SampledContention* const, bthread::SampledContention*> const> const&) const
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<butil::IOBuf::Block*, butil::IOBufProfiler::BlockInfo, butil::DefaultHasher<butil::IOBuf::Block*>, butil::DefaultEqualTo<butil::IOBuf::Block*>, false, butil::PtAllocator, false>, std::pair<butil::IOBuf::Block* const, butil::IOBufProfiler::BlockInfo> >::operator!=(butil::FlatMapIterator<butil::FlatMap<butil::IOBuf::Block*, butil::IOBufProfiler::BlockInfo, butil::DefaultHasher<butil::IOBuf::Block*>, butil::DefaultEqualTo<butil::IOBuf::Block*>, false, butil::PtAllocator, false>, std::pair<butil::IOBuf::Block* const, butil::IOBufProfiler::BlockInfo> > const&) const
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::shared_ptr<butil::IOBufSample>, long, butil::detail::IOBufSampleHash<std::shared_ptr<butil::IOBufSample> >, butil::detail::IOBufSampleEqual<std::shared_ptr<butil::IOBufSample> >, false, butil::PtAllocator, false>, std::pair<std::shared_ptr<butil::IOBufSample> const, long> const>::operator!=(butil::FlatMapIterator<butil::FlatMap<std::shared_ptr<butil::IOBufSample>, long, butil::detail::IOBufSampleHash<std::shared_ptr<butil::IOBufSample> >, butil::detail::IOBufSampleEqual<std::shared_ptr<butil::IOBufSample> >, false, butil::PtAllocator, false>, std::pair<std::shared_ptr<butil::IOBufSample> const, long> const> const&) const
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::shared_ptr<butil::IOBufSample>, long, butil::detail::IOBufSampleHash<std::shared_ptr<butil::IOBufSample> >, butil::detail::IOBufSampleEqual<std::shared_ptr<butil::IOBufSample> >, false, butil::PtAllocator, false>, std::pair<std::shared_ptr<butil::IOBufSample> const, long> >::operator!=(butil::FlatMapIterator<butil::FlatMap<std::shared_ptr<butil::IOBufSample>, long, butil::detail::IOBufSampleHash<std::shared_ptr<butil::IOBufSample> >, butil::detail::IOBufSampleEqual<std::shared_ptr<butil::IOBufSample> >, false, butil::PtAllocator, false>, std::pair<std::shared_ptr<butil::IOBufSample> const, long> > const&) const
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<butil::IOBufSample*, std::shared_ptr<butil::IOBufSample>, butil::detail::IOBufSampleHash<butil::IOBufSample*>, butil::detail::IOBufSampleEqual<butil::IOBufSample*>, false, butil::PtAllocator, false>, std::pair<butil::IOBufSample* const, std::shared_ptr<butil::IOBufSample> > >::operator!=(butil::FlatMapIterator<butil::FlatMap<butil::IOBufSample*, std::shared_ptr<butil::IOBufSample>, butil::detail::IOBufSampleHash<butil::IOBufSample*>, butil::detail::IOBufSampleEqual<butil::IOBufSample*>, false, butil::PtAllocator, false>, std::pair<butil::IOBufSample* const, std::shared_ptr<butil::IOBufSample> > > const&) const
butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bvar::VarEntry, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, bvar::VarEntry> >::operator!=(butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bvar::VarEntry, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, bvar::VarEntry> > const&) const
Line
Count
Source
106
640
    { return _node != rhs._node; }
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bvar::VarEntry, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, bvar::VarEntry> const>::operator!=(butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bvar::VarEntry, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, bvar::VarEntry> const> const&) const
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<int, bthread::TaskGroup*, butil::DefaultHasher<int>, butil::DefaultEqualTo<int>, false, butil::PtAllocator, false>, std::pair<int const, bthread::TaskGroup*> >::operator!=(butil::FlatMapIterator<butil::FlatMap<int, bthread::TaskGroup*, butil::DefaultHasher<int>, butil::DefaultEqualTo<int>, false, butil::PtAllocator, false>, std::pair<int const, bthread::TaskGroup*> > const&) const
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bvar::MVarEntry, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, bvar::MVarEntry> >::operator!=(butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bvar::MVarEntry, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, bvar::MVarEntry> > const&) const
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bvar::MVarEntry, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, bvar::MVarEntry> const>::operator!=(butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bvar::MVarEntry, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, bvar::MVarEntry> const> const&) const
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::operator!=(butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&) const
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::LoadBalancer const*, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, brpc::LoadBalancer const*> >::operator!=(butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::LoadBalancer const*, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, brpc::LoadBalancer const*> > const&) const
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::NamingService const*, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, brpc::NamingService const*> >::operator!=(butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::NamingService const*, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, brpc::NamingService const*> > const&) const
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::Server::MethodProperty, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, brpc::Server::MethodProperty> >::operator!=(butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::Server::MethodProperty, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, brpc::Server::MethodProperty> > const&) const
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::Server::ServiceProperty, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, brpc::Server::ServiceProperty> const>::operator!=(butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::Server::ServiceProperty, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, brpc::Server::ServiceProperty> const> const&) const
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::Server::ServiceProperty, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, brpc::Server::ServiceProperty> >::operator!=(butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::Server::ServiceProperty, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, brpc::Server::ServiceProperty> > const&) const
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::Server::MethodProperty, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, brpc::Server::MethodProperty> const>::operator!=(butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::Server::MethodProperty, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, brpc::Server::MethodProperty> const> const&) const
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::Server::SSLContext, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, brpc::Server::SSLContext> >::operator!=(butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::Server::SSLContext, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, brpc::Server::SSLContext> > const&) const
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::shared_ptr<brpc::SocketSSLContext>, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::shared_ptr<brpc::SocketSSLContext> > >::operator!=(butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::shared_ptr<brpc::SocketSSLContext>, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::shared_ptr<brpc::SocketSSLContext> > > const&) const
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::Server::SSLContext, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, brpc::Server::SSLContext> const>::operator!=(butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::Server::SSLContext, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, brpc::Server::SSLContext> const> const&) const
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::shared_ptr<brpc::SocketSSLContext>, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::shared_ptr<brpc::SocketSSLContext> > const>::operator!=(butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::shared_ptr<brpc::SocketSSLContext>, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::shared_ptr<brpc::SocketSSLContext> > const> const&) const
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<unsigned long, brpc::ConnectStatistics, butil::DefaultHasher<unsigned long>, butil::DefaultEqualTo<unsigned long>, false, butil::PtAllocator, false>, std::pair<unsigned long const, brpc::ConnectStatistics> >::operator!=(butil::FlatMapIterator<butil::FlatMap<unsigned long, brpc::ConnectStatistics, butil::DefaultHasher<unsigned long>, butil::DefaultEqualTo<unsigned long>, false, butil::PtAllocator, false>, std::pair<unsigned long const, brpc::ConnectStatistics> > const&) const
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<unsigned long, brpc::ConnectStatistics, butil::DefaultHasher<unsigned long>, butil::DefaultEqualTo<unsigned long>, false, butil::PtAllocator, false>, std::pair<unsigned long const, brpc::ConnectStatistics> const>::operator!=(butil::FlatMapIterator<butil::FlatMap<unsigned long, brpc::ConnectStatistics, butil::DefaultHasher<unsigned long>, butil::DefaultEqualTo<unsigned long>, false, butil::PtAllocator, false>, std::pair<unsigned long const, brpc::ConnectStatistics> const> const&) const
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::DisplayType, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, brpc::DisplayType> >::operator!=(butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::DisplayType, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, brpc::DisplayType> > const&) const
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > const>::operator!=(butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > const> const&) const
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<brpc::NSKey, brpc::NamingServiceThread*, brpc::NSKeyHasher, butil::DefaultEqualTo<brpc::NSKey>, false, butil::PtAllocator, false>, std::pair<brpc::NSKey const, brpc::NamingServiceThread*> >::operator!=(butil::FlatMapIterator<butil::FlatMap<brpc::NSKey, brpc::NamingServiceThread*, brpc::NSKeyHasher, butil::DefaultEqualTo<brpc::NSKey>, false, butil::PtAllocator, false>, std::pair<brpc::NSKey const, brpc::NamingServiceThread*> > const&) const
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::ConcurrencyLimiter const*, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, brpc::ConcurrencyLimiter const*> >::operator!=(butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::ConcurrencyLimiter const*, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, brpc::ConcurrencyLimiter const*> > const&) const
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<unsigned long, unsigned long, butil::DefaultHasher<unsigned long>, butil::DefaultEqualTo<unsigned long>, false, butil::PtAllocator, false>, std::pair<unsigned long const, unsigned long> >::operator!=(butil::FlatMapIterator<butil::FlatMap<unsigned long, unsigned long, butil::DefaultHasher<unsigned long>, butil::DefaultEqualTo<unsigned long>, false, butil::PtAllocator, false>, std::pair<unsigned long const, unsigned long> > const&) const
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, true>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > const>::operator!=(butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, true>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > const> const&) const
butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, true>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::operator!=(butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, true>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&) const
Line
Count
Source
106
23.1k
    { return _node != rhs._node; }
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<brpc::ServerId, butil::FlatMapVoid, butil::DefaultHasher<brpc::ServerId>, butil::DefaultEqualTo<brpc::ServerId>, false, butil::PtAllocator, false>, brpc::ServerId const>::operator!=(butil::FlatMapIterator<butil::FlatMap<brpc::ServerId, butil::FlatMapVoid, butil::DefaultHasher<brpc::ServerId>, butil::DefaultEqualTo<brpc::ServerId>, false, butil::PtAllocator, false>, brpc::ServerId const> const&) const
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<int, brpc::policy::H2StreamContext*, butil::DefaultHasher<int>, butil::DefaultEqualTo<int>, false, butil::PtAllocator, false>, std::pair<int const, brpc::policy::H2StreamContext*> >::operator!=(butil::FlatMapIterator<butil::FlatMap<int, brpc::policy::H2StreamContext*, butil::DefaultHasher<int>, butil::DefaultEqualTo<int>, false, butil::PtAllocator, false>, std::pair<int const, brpc::policy::H2StreamContext*> > const&) const
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<int, brpc::policy::H2StreamContext*, butil::DefaultHasher<int>, butil::DefaultEqualTo<int>, false, butil::PtAllocator, false>, std::pair<int const, brpc::policy::H2StreamContext*> const>::operator!=(butil::FlatMapIterator<butil::FlatMap<int, brpc::policy::H2StreamContext*, butil::DefaultHasher<int>, butil::DefaultEqualTo<int>, false, butil::PtAllocator, false>, std::pair<int const, brpc::policy::H2StreamContext*> const> const&) const
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<unsigned long, unsigned long, butil::DefaultHasher<unsigned long>, butil::DefaultEqualTo<unsigned long>, false, butil::PtAllocator, false>, std::pair<unsigned long const, unsigned long> const>::operator!=(butil::FlatMapIterator<butil::FlatMap<unsigned long, unsigned long, butil::DefaultHasher<unsigned long>, butil::DefaultEqualTo<unsigned long>, false, butil::PtAllocator, false>, std::pair<unsigned long const, unsigned long> const> const&) const
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool (brpc::policy::RtmpChunkStream::*)(brpc::policy::RtmpMessageHeader const&, brpc::AMFInputStream*, brpc::Socket*), butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, bool (brpc::policy::RtmpChunkStream::*)(brpc::policy::RtmpMessageHeader const&, brpc::AMFInputStream*, brpc::Socket*)> >::operator!=(butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool (brpc::policy::RtmpChunkStream::*)(brpc::policy::RtmpMessageHeader const&, brpc::AMFInputStream*, brpc::Socket*), butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, bool (brpc::policy::RtmpChunkStream::*)(brpc::policy::RtmpMessageHeader const&, brpc::AMFInputStream*, brpc::Socket*)> > const&) const
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<unsigned int, brpc::policy::RtmpContext::MessageStreamInfo, butil::DefaultHasher<unsigned int>, butil::DefaultEqualTo<unsigned int>, false, butil::PtAllocator, false>, std::pair<unsigned int const, brpc::policy::RtmpContext::MessageStreamInfo> >::operator!=(butil::FlatMapIterator<butil::FlatMap<unsigned int, brpc::policy::RtmpContext::MessageStreamInfo, butil::DefaultHasher<unsigned int>, butil::DefaultEqualTo<unsigned int>, false, butil::PtAllocator, false>, std::pair<unsigned int const, brpc::policy::RtmpContext::MessageStreamInfo> > const&) const
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<unsigned int, brpc::policy::RtmpTransactionHandler*, butil::DefaultHasher<unsigned int>, butil::DefaultEqualTo<unsigned int>, false, butil::PtAllocator, false>, std::pair<unsigned int const, brpc::policy::RtmpTransactionHandler*> >::operator!=(butil::FlatMapIterator<butil::FlatMap<unsigned int, brpc::policy::RtmpTransactionHandler*, butil::DefaultHasher<unsigned int>, butil::DefaultEqualTo<unsigned int>, false, butil::PtAllocator, false>, std::pair<unsigned int const, brpc::policy::RtmpTransactionHandler*> > const&) const
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<unsigned long, int, butil::DefaultHasher<unsigned long>, butil::DefaultEqualTo<unsigned long>, false, butil::PtAllocator, false>, std::pair<unsigned long const, int> >::operator!=(butil::FlatMapIterator<butil::FlatMap<unsigned long, int, butil::DefaultHasher<unsigned long>, butil::DefaultEqualTo<unsigned long>, false, butil::PtAllocator, false>, std::pair<unsigned long const, int> > const&) const
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<brpc::SocketMapKey, brpc::SocketMap::SingleConnection, brpc::SocketMapKeyHasher, butil::DefaultEqualTo<brpc::SocketMapKey>, false, butil::PtAllocator, false>, std::pair<brpc::SocketMapKey const, brpc::SocketMap::SingleConnection> >::operator!=(butil::FlatMapIterator<butil::FlatMap<brpc::SocketMapKey, brpc::SocketMap::SingleConnection, brpc::SocketMapKeyHasher, butil::DefaultEqualTo<brpc::SocketMapKey>, false, butil::PtAllocator, false>, std::pair<brpc::SocketMapKey const, brpc::SocketMap::SingleConnection> > const&) const
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, mcpack2pb::MessageHandler, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, mcpack2pb::MessageHandler> >::operator!=(butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, mcpack2pb::MessageHandler, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, mcpack2pb::MessageHandler> > const&) const
butil::FlatMapIterator<butil::FlatMap<brpc::HPacker::Header, unsigned long, brpc::HeaderHasher, brpc::HeaderEqualTo, false, butil::PtAllocator, false>, std::pair<brpc::HPacker::Header const, unsigned long> >::operator!=(butil::FlatMapIterator<butil::FlatMap<brpc::HPacker::Header, unsigned long, brpc::HeaderHasher, brpc::HeaderEqualTo, false, butil::PtAllocator, false>, std::pair<brpc::HPacker::Header const, unsigned long> > const&) const
Line
Count
Source
106
686
    { return _node != rhs._node; }
butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, unsigned long> >::operator!=(butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, unsigned long> > const&) const
Line
Count
Source
106
686
    { return _node != rhs._node; }
107
        
108
    // ++ it
109
22.2k
    FlatMapIterator& operator++() {
110
22.2k
        if (NULL == _node->next) {
111
13.4k
            ++_entry;
112
13.4k
            find_and_set_valid_node();
113
13.4k
        } else {
114
8.73k
            _node = _node->next;
115
8.73k
        }
116
22.2k
        return *this;
117
22.2k
    }
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<bthread::SampledContention*, bthread::SampledContention*, bthread::ContentionHash, bthread::ContentionEqual, false, butil::PtAllocator, false>, std::pair<bthread::SampledContention* const, bthread::SampledContention*> >::operator++()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<bthread::SampledContention*, bthread::SampledContention*, bthread::ContentionHash, bthread::ContentionEqual, false, butil::PtAllocator, false>, std::pair<bthread::SampledContention* const, bthread::SampledContention*> const>::operator++()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::shared_ptr<butil::IOBufSample>, long, butil::detail::IOBufSampleHash<std::shared_ptr<butil::IOBufSample> >, butil::detail::IOBufSampleEqual<std::shared_ptr<butil::IOBufSample> >, false, butil::PtAllocator, false>, std::pair<std::shared_ptr<butil::IOBufSample> const, long> const>::operator++()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<butil::IOBuf::Block*, butil::IOBufProfiler::BlockInfo, butil::DefaultHasher<butil::IOBuf::Block*>, butil::DefaultEqualTo<butil::IOBuf::Block*>, false, butil::PtAllocator, false>, std::pair<butil::IOBuf::Block* const, butil::IOBufProfiler::BlockInfo> >::operator++()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::shared_ptr<butil::IOBufSample>, long, butil::detail::IOBufSampleHash<std::shared_ptr<butil::IOBufSample> >, butil::detail::IOBufSampleEqual<std::shared_ptr<butil::IOBufSample> >, false, butil::PtAllocator, false>, std::pair<std::shared_ptr<butil::IOBufSample> const, long> >::operator++()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<butil::IOBufSample*, std::shared_ptr<butil::IOBufSample>, butil::detail::IOBufSampleHash<butil::IOBufSample*>, butil::detail::IOBufSampleEqual<butil::IOBufSample*>, false, butil::PtAllocator, false>, std::pair<butil::IOBufSample* const, std::shared_ptr<butil::IOBufSample> > >::operator++()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bvar::VarEntry, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, bvar::VarEntry> >::operator++()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bvar::VarEntry, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, bvar::VarEntry> const>::operator++()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<int, bthread::TaskGroup*, butil::DefaultHasher<int>, butil::DefaultEqualTo<int>, false, butil::PtAllocator, false>, std::pair<int const, bthread::TaskGroup*> >::operator++()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bvar::MVarEntry, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, bvar::MVarEntry> >::operator++()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bvar::MVarEntry, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, bvar::MVarEntry> const>::operator++()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::operator++()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::LoadBalancer const*, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, brpc::LoadBalancer const*> >::operator++()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::NamingService const*, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, brpc::NamingService const*> >::operator++()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::Server::MethodProperty, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, brpc::Server::MethodProperty> >::operator++()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::Server::ServiceProperty, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, brpc::Server::ServiceProperty> const>::operator++()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::Server::ServiceProperty, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, brpc::Server::ServiceProperty> >::operator++()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::Server::MethodProperty, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, brpc::Server::MethodProperty> const>::operator++()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::Server::SSLContext, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, brpc::Server::SSLContext> >::operator++()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::shared_ptr<brpc::SocketSSLContext>, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::shared_ptr<brpc::SocketSSLContext> > >::operator++()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::Server::SSLContext, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, brpc::Server::SSLContext> const>::operator++()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::shared_ptr<brpc::SocketSSLContext>, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::shared_ptr<brpc::SocketSSLContext> > const>::operator++()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<unsigned long, brpc::ConnectStatistics, butil::DefaultHasher<unsigned long>, butil::DefaultEqualTo<unsigned long>, false, butil::PtAllocator, false>, std::pair<unsigned long const, brpc::ConnectStatistics> >::operator++()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<unsigned long, brpc::ConnectStatistics, butil::DefaultHasher<unsigned long>, butil::DefaultEqualTo<unsigned long>, false, butil::PtAllocator, false>, std::pair<unsigned long const, brpc::ConnectStatistics> const>::operator++()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::DisplayType, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, brpc::DisplayType> >::operator++()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > const>::operator++()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<brpc::NSKey, brpc::NamingServiceThread*, brpc::NSKeyHasher, butil::DefaultEqualTo<brpc::NSKey>, false, butil::PtAllocator, false>, std::pair<brpc::NSKey const, brpc::NamingServiceThread*> >::operator++()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::ConcurrencyLimiter const*, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, brpc::ConcurrencyLimiter const*> >::operator++()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<unsigned long, unsigned long, butil::DefaultHasher<unsigned long>, butil::DefaultEqualTo<unsigned long>, false, butil::PtAllocator, false>, std::pair<unsigned long const, unsigned long> >::operator++()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, true>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > const>::operator++()
butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, true>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::operator++()
Line
Count
Source
109
22.2k
    FlatMapIterator& operator++() {
110
22.2k
        if (NULL == _node->next) {
111
13.4k
            ++_entry;
112
13.4k
            find_and_set_valid_node();
113
13.4k
        } else {
114
8.73k
            _node = _node->next;
115
8.73k
        }
116
22.2k
        return *this;
117
22.2k
    }
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<brpc::ServerId, butil::FlatMapVoid, butil::DefaultHasher<brpc::ServerId>, butil::DefaultEqualTo<brpc::ServerId>, false, butil::PtAllocator, false>, brpc::ServerId const>::operator++()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<int, brpc::policy::H2StreamContext*, butil::DefaultHasher<int>, butil::DefaultEqualTo<int>, false, butil::PtAllocator, false>, std::pair<int const, brpc::policy::H2StreamContext*> >::operator++()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<int, brpc::policy::H2StreamContext*, butil::DefaultHasher<int>, butil::DefaultEqualTo<int>, false, butil::PtAllocator, false>, std::pair<int const, brpc::policy::H2StreamContext*> const>::operator++()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<unsigned long, unsigned long, butil::DefaultHasher<unsigned long>, butil::DefaultEqualTo<unsigned long>, false, butil::PtAllocator, false>, std::pair<unsigned long const, unsigned long> const>::operator++()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool (brpc::policy::RtmpChunkStream::*)(brpc::policy::RtmpMessageHeader const&, brpc::AMFInputStream*, brpc::Socket*), butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, bool (brpc::policy::RtmpChunkStream::*)(brpc::policy::RtmpMessageHeader const&, brpc::AMFInputStream*, brpc::Socket*)> >::operator++()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<unsigned int, brpc::policy::RtmpContext::MessageStreamInfo, butil::DefaultHasher<unsigned int>, butil::DefaultEqualTo<unsigned int>, false, butil::PtAllocator, false>, std::pair<unsigned int const, brpc::policy::RtmpContext::MessageStreamInfo> >::operator++()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<unsigned int, brpc::policy::RtmpTransactionHandler*, butil::DefaultHasher<unsigned int>, butil::DefaultEqualTo<unsigned int>, false, butil::PtAllocator, false>, std::pair<unsigned int const, brpc::policy::RtmpTransactionHandler*> >::operator++()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<unsigned long, int, butil::DefaultHasher<unsigned long>, butil::DefaultEqualTo<unsigned long>, false, butil::PtAllocator, false>, std::pair<unsigned long const, int> >::operator++()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<brpc::SocketMapKey, brpc::SocketMap::SingleConnection, brpc::SocketMapKeyHasher, butil::DefaultEqualTo<brpc::SocketMapKey>, false, butil::PtAllocator, false>, std::pair<brpc::SocketMapKey const, brpc::SocketMap::SingleConnection> >::operator++()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, mcpack2pb::MessageHandler, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, mcpack2pb::MessageHandler> >::operator++()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<brpc::HPacker::Header, unsigned long, brpc::HeaderHasher, brpc::HeaderEqualTo, false, butil::PtAllocator, false>, std::pair<brpc::HPacker::Header const, unsigned long> >::operator++()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, unsigned long> >::operator++()
118
119
    // it ++
120
    FlatMapIterator operator++(int) {
121
        FlatMapIterator tmp = *this;
122
        this->operator++();
123
        return tmp;
124
    }
125
126
44.4k
    reference operator*() { return _node->element().value_ref(); }
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<bthread::SampledContention*, bthread::SampledContention*, bthread::ContentionHash, bthread::ContentionEqual, false, butil::PtAllocator, false>, std::pair<bthread::SampledContention* const, bthread::SampledContention*> >::operator*()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<butil::IOBufSample*, std::shared_ptr<butil::IOBufSample>, butil::detail::IOBufSampleHash<butil::IOBufSample*>, butil::detail::IOBufSampleEqual<butil::IOBufSample*>, false, butil::PtAllocator, false>, std::pair<butil::IOBufSample* const, std::shared_ptr<butil::IOBufSample> > >::operator*()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<butil::IOBuf::Block*, butil::IOBufProfiler::BlockInfo, butil::DefaultHasher<butil::IOBuf::Block*>, butil::DefaultEqualTo<butil::IOBuf::Block*>, false, butil::PtAllocator, false>, std::pair<butil::IOBuf::Block* const, butil::IOBufProfiler::BlockInfo> >::operator*()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::shared_ptr<butil::IOBufSample>, long, butil::detail::IOBufSampleHash<std::shared_ptr<butil::IOBufSample> >, butil::detail::IOBufSampleEqual<std::shared_ptr<butil::IOBufSample> >, false, butil::PtAllocator, false>, std::pair<std::shared_ptr<butil::IOBufSample> const, long> const>::operator*()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::shared_ptr<butil::IOBufSample>, long, butil::detail::IOBufSampleHash<std::shared_ptr<butil::IOBufSample> >, butil::detail::IOBufSampleEqual<std::shared_ptr<butil::IOBufSample> >, false, butil::PtAllocator, false>, std::pair<std::shared_ptr<butil::IOBufSample> const, long> >::operator*()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bvar::VarEntry, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, bvar::VarEntry> >::operator*()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<int, bthread::TaskGroup*, butil::DefaultHasher<int>, butil::DefaultEqualTo<int>, false, butil::PtAllocator, false>, std::pair<int const, bthread::TaskGroup*> >::operator*()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bvar::MVarEntry, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, bvar::MVarEntry> >::operator*()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::operator*()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::Server::MethodProperty, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, brpc::Server::MethodProperty> >::operator*()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::Server::ServiceProperty, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, brpc::Server::ServiceProperty> >::operator*()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::Server::SSLContext, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, brpc::Server::SSLContext> >::operator*()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::shared_ptr<brpc::SocketSSLContext>, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::shared_ptr<brpc::SocketSSLContext> > >::operator*()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::shared_ptr<brpc::SocketSSLContext>, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::shared_ptr<brpc::SocketSSLContext> > const>::operator*()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<unsigned long, brpc::ConnectStatistics, butil::DefaultHasher<unsigned long>, butil::DefaultEqualTo<unsigned long>, false, butil::PtAllocator, false>, std::pair<unsigned long const, brpc::ConnectStatistics> >::operator*()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::DisplayType, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, brpc::DisplayType> >::operator*()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<brpc::NSKey, brpc::NamingServiceThread*, brpc::NSKeyHasher, butil::DefaultEqualTo<brpc::NSKey>, false, butil::PtAllocator, false>, std::pair<brpc::NSKey const, brpc::NamingServiceThread*> >::operator*()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::NamingService const*, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, brpc::NamingService const*> >::operator*()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::LoadBalancer const*, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, brpc::LoadBalancer const*> >::operator*()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::ConcurrencyLimiter const*, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, brpc::ConcurrencyLimiter const*> >::operator*()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<unsigned long, unsigned long, butil::DefaultHasher<unsigned long>, butil::DefaultEqualTo<unsigned long>, false, butil::PtAllocator, false>, std::pair<unsigned long const, unsigned long> >::operator*()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, true>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > const>::operator*()
butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, true>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::operator*()
Line
Count
Source
126
44.4k
    reference operator*() { return _node->element().value_ref(); }
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<brpc::ServerId, butil::FlatMapVoid, butil::DefaultHasher<brpc::ServerId>, butil::DefaultEqualTo<brpc::ServerId>, false, butil::PtAllocator, false>, brpc::ServerId const>::operator*()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<int, brpc::policy::H2StreamContext*, butil::DefaultHasher<int>, butil::DefaultEqualTo<int>, false, butil::PtAllocator, false>, std::pair<int const, brpc::policy::H2StreamContext*> >::operator*()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<unsigned long, unsigned long, butil::DefaultHasher<unsigned long>, butil::DefaultEqualTo<unsigned long>, false, butil::PtAllocator, false>, std::pair<unsigned long const, unsigned long> const>::operator*()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool (brpc::policy::RtmpChunkStream::*)(brpc::policy::RtmpMessageHeader const&, brpc::AMFInputStream*, brpc::Socket*), butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, bool (brpc::policy::RtmpChunkStream::*)(brpc::policy::RtmpMessageHeader const&, brpc::AMFInputStream*, brpc::Socket*)> >::operator*()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<unsigned int, brpc::policy::RtmpContext::MessageStreamInfo, butil::DefaultHasher<unsigned int>, butil::DefaultEqualTo<unsigned int>, false, butil::PtAllocator, false>, std::pair<unsigned int const, brpc::policy::RtmpContext::MessageStreamInfo> >::operator*()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<unsigned int, brpc::policy::RtmpTransactionHandler*, butil::DefaultHasher<unsigned int>, butil::DefaultEqualTo<unsigned int>, false, butil::PtAllocator, false>, std::pair<unsigned int const, brpc::policy::RtmpTransactionHandler*> >::operator*()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<unsigned long, int, butil::DefaultHasher<unsigned long>, butil::DefaultEqualTo<unsigned long>, false, butil::PtAllocator, false>, std::pair<unsigned long const, int> >::operator*()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<brpc::SocketMapKey, brpc::SocketMap::SingleConnection, brpc::SocketMapKeyHasher, butil::DefaultEqualTo<brpc::SocketMapKey>, false, butil::PtAllocator, false>, std::pair<brpc::SocketMapKey const, brpc::SocketMap::SingleConnection> >::operator*()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, mcpack2pb::MessageHandler, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, mcpack2pb::MessageHandler> >::operator*()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<brpc::HPacker::Header, unsigned long, brpc::HeaderHasher, brpc::HeaderEqualTo, false, butil::PtAllocator, false>, std::pair<brpc::HPacker::Header const, unsigned long> >::operator*()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, unsigned long> >::operator*()
127
0
    pointer operator->() { return &_node->element().value_ref(); }
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<bthread::SampledContention*, bthread::SampledContention*, bthread::ContentionHash, bthread::ContentionEqual, false, butil::PtAllocator, false>, std::pair<bthread::SampledContention* const, bthread::SampledContention*> const>::operator->()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<butil::IOBufSample*, std::shared_ptr<butil::IOBufSample>, butil::detail::IOBufSampleHash<butil::IOBufSample*>, butil::detail::IOBufSampleEqual<butil::IOBufSample*>, false, butil::PtAllocator, false>, std::pair<butil::IOBufSample* const, std::shared_ptr<butil::IOBufSample> > >::operator->()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bvar::VarEntry, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, bvar::VarEntry> const>::operator->()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<int, bthread::TaskGroup*, butil::DefaultHasher<int>, butil::DefaultEqualTo<int>, false, butil::PtAllocator, false>, std::pair<int const, bthread::TaskGroup*> >::operator->()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bvar::MVarEntry, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, bvar::MVarEntry> const>::operator->()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::LoadBalancer const*, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, brpc::LoadBalancer const*> >::operator->()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::NamingService const*, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, brpc::NamingService const*> >::operator->()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::Server::MethodProperty, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, brpc::Server::MethodProperty> >::operator->()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::Server::SSLContext, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, brpc::Server::SSLContext> >::operator->()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::Server::ServiceProperty, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, brpc::Server::ServiceProperty> const>::operator->()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::Server::MethodProperty, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, brpc::Server::MethodProperty> const>::operator->()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::Server::SSLContext, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, brpc::Server::SSLContext> const>::operator->()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<unsigned long, brpc::ConnectStatistics, butil::DefaultHasher<unsigned long>, butil::DefaultEqualTo<unsigned long>, false, butil::PtAllocator, false>, std::pair<unsigned long const, brpc::ConnectStatistics> const>::operator->()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::Server::ServiceProperty, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, brpc::Server::ServiceProperty> >::operator->()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > const>::operator->()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::operator->()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<int, brpc::policy::H2StreamContext*, butil::DefaultHasher<int>, butil::DefaultEqualTo<int>, false, butil::PtAllocator, false>, std::pair<int const, brpc::policy::H2StreamContext*> >::operator->()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<int, brpc::policy::H2StreamContext*, butil::DefaultHasher<int>, butil::DefaultEqualTo<int>, false, butil::PtAllocator, false>, std::pair<int const, brpc::policy::H2StreamContext*> const>::operator->()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, true>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > const>::operator->()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<unsigned int, brpc::policy::RtmpContext::MessageStreamInfo, butil::DefaultHasher<unsigned int>, butil::DefaultEqualTo<unsigned int>, false, butil::PtAllocator, false>, std::pair<unsigned int const, brpc::policy::RtmpContext::MessageStreamInfo> >::operator->()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<unsigned int, brpc::policy::RtmpTransactionHandler*, butil::DefaultHasher<unsigned int>, butil::DefaultEqualTo<unsigned int>, false, butil::PtAllocator, false>, std::pair<unsigned int const, brpc::policy::RtmpTransactionHandler*> >::operator->()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<brpc::SocketMapKey, brpc::SocketMap::SingleConnection, brpc::SocketMapKeyHasher, butil::DefaultEqualTo<brpc::SocketMapKey>, false, butil::PtAllocator, false>, std::pair<brpc::SocketMapKey const, brpc::SocketMap::SingleConnection> >::operator->()
128
    const_reference operator*() const { return _node->element().value_ref(); }
129
0
    const_pointer operator->() const { return &_node->element().value_ref(); }
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bvar::VarEntry, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, bvar::VarEntry> const>::operator->() const
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<unsigned long, brpc::ConnectStatistics, butil::DefaultHasher<unsigned long>, butil::DefaultEqualTo<unsigned long>, false, butil::PtAllocator, false>, std::pair<unsigned long const, brpc::ConnectStatistics> const>::operator->() const
130
131
private:
132
friend class FlatMapIterator<Map, ConstValue>;
133
friend class FlatMap<typename Map::key_type, typename Map::mapped_type,
134
                     typename Map::hasher, typename Map::key_equal, 
135
                     false, typename Map::allocator_type>;
136
137
41.6k
    void find_and_set_valid_node() {
138
86.3k
        for (; !_entry->is_valid(); ++_entry);
139
41.6k
        _node = _entry;
140
41.6k
    }
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<bthread::SampledContention*, bthread::SampledContention*, bthread::ContentionHash, bthread::ContentionEqual, false, butil::PtAllocator, false>, std::pair<bthread::SampledContention* const, bthread::SampledContention*> >::find_and_set_valid_node()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<bthread::SampledContention*, bthread::SampledContention*, bthread::ContentionHash, bthread::ContentionEqual, false, butil::PtAllocator, false>, std::pair<bthread::SampledContention* const, bthread::SampledContention*> const>::find_and_set_valid_node()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<butil::IOBuf::Block*, butil::IOBufProfiler::BlockInfo, butil::DefaultHasher<butil::IOBuf::Block*>, butil::DefaultEqualTo<butil::IOBuf::Block*>, false, butil::PtAllocator, false>, std::pair<butil::IOBuf::Block* const, butil::IOBufProfiler::BlockInfo> >::find_and_set_valid_node()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::shared_ptr<butil::IOBufSample>, long, butil::detail::IOBufSampleHash<std::shared_ptr<butil::IOBufSample> >, butil::detail::IOBufSampleEqual<std::shared_ptr<butil::IOBufSample> >, false, butil::PtAllocator, false>, std::pair<std::shared_ptr<butil::IOBufSample> const, long> const>::find_and_set_valid_node()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::shared_ptr<butil::IOBufSample>, long, butil::detail::IOBufSampleHash<std::shared_ptr<butil::IOBufSample> >, butil::detail::IOBufSampleEqual<std::shared_ptr<butil::IOBufSample> >, false, butil::PtAllocator, false>, std::pair<std::shared_ptr<butil::IOBufSample> const, long> >::find_and_set_valid_node()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<butil::IOBufSample*, std::shared_ptr<butil::IOBufSample>, butil::detail::IOBufSampleHash<butil::IOBufSample*>, butil::detail::IOBufSampleEqual<butil::IOBufSample*>, false, butil::PtAllocator, false>, std::pair<butil::IOBufSample* const, std::shared_ptr<butil::IOBufSample> > >::find_and_set_valid_node()
butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bvar::VarEntry, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, bvar::VarEntry> >::find_and_set_valid_node()
Line
Count
Source
137
1.28k
    void find_and_set_valid_node() {
138
11.5k
        for (; !_entry->is_valid(); ++_entry);
139
1.28k
        _node = _entry;
140
1.28k
    }
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bvar::VarEntry, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, bvar::VarEntry> const>::find_and_set_valid_node()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<int, bthread::TaskGroup*, butil::DefaultHasher<int>, butil::DefaultEqualTo<int>, false, butil::PtAllocator, false>, std::pair<int const, bthread::TaskGroup*> >::find_and_set_valid_node()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bvar::MVarEntry, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, bvar::MVarEntry> >::find_and_set_valid_node()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bvar::MVarEntry, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, bvar::MVarEntry> const>::find_and_set_valid_node()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::find_and_set_valid_node()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, true>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > const>::find_and_set_valid_node()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > const>::find_and_set_valid_node()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::LoadBalancer const*, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, brpc::LoadBalancer const*> >::find_and_set_valid_node()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::NamingService const*, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, brpc::NamingService const*> >::find_and_set_valid_node()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::Server::MethodProperty, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, brpc::Server::MethodProperty> >::find_and_set_valid_node()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::Server::SSLContext, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, brpc::Server::SSLContext> >::find_and_set_valid_node()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::Server::ServiceProperty, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, brpc::Server::ServiceProperty> >::find_and_set_valid_node()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::Server::ServiceProperty, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, brpc::Server::ServiceProperty> const>::find_and_set_valid_node()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::Server::MethodProperty, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, brpc::Server::MethodProperty> const>::find_and_set_valid_node()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::shared_ptr<brpc::SocketSSLContext>, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::shared_ptr<brpc::SocketSSLContext> > >::find_and_set_valid_node()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::Server::SSLContext, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, brpc::Server::SSLContext> const>::find_and_set_valid_node()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::shared_ptr<brpc::SocketSSLContext>, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::shared_ptr<brpc::SocketSSLContext> > const>::find_and_set_valid_node()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<unsigned long, brpc::ConnectStatistics, butil::DefaultHasher<unsigned long>, butil::DefaultEqualTo<unsigned long>, false, butil::PtAllocator, false>, std::pair<unsigned long const, brpc::ConnectStatistics> >::find_and_set_valid_node()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<unsigned long, brpc::ConnectStatistics, butil::DefaultHasher<unsigned long>, butil::DefaultEqualTo<unsigned long>, false, butil::PtAllocator, false>, std::pair<unsigned long const, brpc::ConnectStatistics> const>::find_and_set_valid_node()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::DisplayType, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, brpc::DisplayType> >::find_and_set_valid_node()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<brpc::NSKey, brpc::NamingServiceThread*, brpc::NSKeyHasher, butil::DefaultEqualTo<brpc::NSKey>, false, butil::PtAllocator, false>, std::pair<brpc::NSKey const, brpc::NamingServiceThread*> >::find_and_set_valid_node()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::ConcurrencyLimiter const*, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, brpc::ConcurrencyLimiter const*> >::find_and_set_valid_node()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<unsigned long, unsigned long, butil::DefaultHasher<unsigned long>, butil::DefaultEqualTo<unsigned long>, false, butil::PtAllocator, false>, std::pair<unsigned long const, unsigned long> >::find_and_set_valid_node()
butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, true>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::find_and_set_valid_node()
Line
Count
Source
137
37.6k
    void find_and_set_valid_node() {
138
50.1k
        for (; !_entry->is_valid(); ++_entry);
139
37.6k
        _node = _entry;
140
37.6k
    }
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<brpc::ServerId, butil::FlatMapVoid, butil::DefaultHasher<brpc::ServerId>, butil::DefaultEqualTo<brpc::ServerId>, false, butil::PtAllocator, false>, brpc::ServerId const>::find_and_set_valid_node()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<int, brpc::policy::H2StreamContext*, butil::DefaultHasher<int>, butil::DefaultEqualTo<int>, false, butil::PtAllocator, false>, std::pair<int const, brpc::policy::H2StreamContext*> >::find_and_set_valid_node()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<int, brpc::policy::H2StreamContext*, butil::DefaultHasher<int>, butil::DefaultEqualTo<int>, false, butil::PtAllocator, false>, std::pair<int const, brpc::policy::H2StreamContext*> const>::find_and_set_valid_node()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<unsigned long, unsigned long, butil::DefaultHasher<unsigned long>, butil::DefaultEqualTo<unsigned long>, false, butil::PtAllocator, false>, std::pair<unsigned long const, unsigned long> const>::find_and_set_valid_node()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool (brpc::policy::RtmpChunkStream::*)(brpc::policy::RtmpMessageHeader const&, brpc::AMFInputStream*, brpc::Socket*), butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, bool (brpc::policy::RtmpChunkStream::*)(brpc::policy::RtmpMessageHeader const&, brpc::AMFInputStream*, brpc::Socket*)> >::find_and_set_valid_node()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<unsigned int, brpc::policy::RtmpContext::MessageStreamInfo, butil::DefaultHasher<unsigned int>, butil::DefaultEqualTo<unsigned int>, false, butil::PtAllocator, false>, std::pair<unsigned int const, brpc::policy::RtmpContext::MessageStreamInfo> >::find_and_set_valid_node()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<unsigned int, brpc::policy::RtmpTransactionHandler*, butil::DefaultHasher<unsigned int>, butil::DefaultEqualTo<unsigned int>, false, butil::PtAllocator, false>, std::pair<unsigned int const, brpc::policy::RtmpTransactionHandler*> >::find_and_set_valid_node()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<unsigned long, int, butil::DefaultHasher<unsigned long>, butil::DefaultEqualTo<unsigned long>, false, butil::PtAllocator, false>, std::pair<unsigned long const, int> >::find_and_set_valid_node()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<brpc::SocketMapKey, brpc::SocketMap::SingleConnection, brpc::SocketMapKeyHasher, butil::DefaultEqualTo<brpc::SocketMapKey>, false, butil::PtAllocator, false>, std::pair<brpc::SocketMapKey const, brpc::SocketMap::SingleConnection> >::find_and_set_valid_node()
Unexecuted instantiation: butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, mcpack2pb::MessageHandler, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, mcpack2pb::MessageHandler> >::find_and_set_valid_node()
butil::FlatMapIterator<butil::FlatMap<brpc::HPacker::Header, unsigned long, brpc::HeaderHasher, brpc::HeaderEqualTo, false, butil::PtAllocator, false>, std::pair<brpc::HPacker::Header const, unsigned long> >::find_and_set_valid_node()
Line
Count
Source
137
1.37k
    void find_and_set_valid_node() {
138
12.3k
        for (; !_entry->is_valid(); ++_entry);
139
1.37k
        _node = _entry;
140
1.37k
    }
butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, unsigned long> >::find_and_set_valid_node()
Line
Count
Source
137
1.37k
    void find_and_set_valid_node() {
138
12.3k
        for (; !_entry->is_valid(); ++_entry);
139
1.37k
        _node = _entry;
140
1.37k
    }
141
  
142
    typename Map::Bucket* _node;
143
    typename Map::Bucket* _entry;
144
};
145
146
// Iterate SparseFlatMap
147
template <typename Map, typename Value> class SparseFlatMapIterator {
148
public:
149
    typedef Value value_type;
150
    typedef Value& reference;
151
    typedef Value* pointer;
152
    typedef typename add_const<Value>::type ConstValue;
153
    typedef ConstValue& const_reference;
154
    typedef ConstValue* const_pointer;
155
    typedef std::forward_iterator_tag iterator_category;
156
    typedef ptrdiff_t difference_type;
157
    typedef typename remove_const<Value>::type NonConstValue;
158
    
159
    SparseFlatMapIterator() : _node(NULL), _pos(0), _map(NULL) {}
160
    SparseFlatMapIterator(const Map* map, size_t pos) {
161
        _map = map;
162
        _pos = pos;
163
        find_and_set_valid_node();
164
    }
165
    SparseFlatMapIterator(const SparseFlatMapIterator<Map, NonConstValue>& rhs)
166
        : _node(rhs._node), _pos(rhs._pos), _map(rhs._map)
167
    {}
168
    ~SparseFlatMapIterator() = default;  // required by style-checker
169
    
170
    // *this == rhs
171
    bool operator==(const SparseFlatMapIterator& rhs) const
172
    { return _node == rhs._node; }
173
174
    // *this != rhs
175
    bool operator!=(const SparseFlatMapIterator& rhs) const
176
    { return _node != rhs._node; }
177
        
178
    // ++ it
179
    SparseFlatMapIterator& operator++() {
180
        if (NULL == _node->next) {
181
            ++_pos;
182
            find_and_set_valid_node();
183
        } else {
184
            _node = _node->next;
185
        }
186
        return *this;
187
    }
188
189
    // it ++
190
    SparseFlatMapIterator operator++(int) {
191
        SparseFlatMapIterator tmp = *this;
192
        this->operator++();
193
        return tmp;
194
    }
195
196
    reference operator*() { return _node->element().value_ref(); }
197
    pointer operator->() { return &_node->element().value_ref(); }
198
    const_reference operator*() const { return _node->element().value_ref(); }
199
    const_pointer operator->() const { return &_node->element().value_ref(); }
200
201
private:
202
friend class SparseFlatMapIterator<Map, ConstValue>;
203
    
204
    void find_and_set_valid_node() {
205
        if (!_map->_buckets[_pos].is_valid()) {
206
            _pos = bit_array_first1(_map->_thumbnail, _pos + 1, _map->_nbucket);
207
        }
208
        _node = _map->_buckets + _pos;
209
    }
210
211
    typename Map::Bucket* _node;
212
    size_t _pos;
213
    const Map* _map;
214
};
215
216
template <typename _K, typename _T, typename _H, typename _E,
217
          bool _S, typename _A, bool _M>
218
FlatMap<_K, _T, _H, _E, _S, _A, _M>::FlatMap(const hasher& hashfn,
219
                                             const key_equal& eql,
220
                                             const allocator_type& alloc)
221
22.9k
    : _size(0)
222
22.9k
    , _nbucket(DEFAULT_NBUCKET)
223
22.9k
    , _buckets((Bucket*)(&_default_buckets))
224
22.9k
    , _thumbnail(_S ? _default_thumbnail : NULL)
225
22.9k
    , _load_factor(80)
226
22.9k
    , _is_default_load_factor(true)
227
22.9k
    , _hashfn(hashfn)
228
22.9k
    , _eql(eql)
229
22.9k
    , _pool(alloc) {
230
22.9k
    init_buckets_and_thumbnail(_buckets, _thumbnail, _nbucket);
231
22.9k
}
Unexecuted instantiation: butil::FlatMap<bthread::SampledContention*, bthread::SampledContention*, bthread::ContentionHash, bthread::ContentionEqual, false, butil::PtAllocator, false>::FlatMap(bthread::ContentionHash const&, bthread::ContentionEqual const&, butil::PtAllocator const&)
Unexecuted instantiation: butil::FlatMap<butil::IOBufSample*, std::shared_ptr<butil::IOBufSample>, butil::detail::IOBufSampleHash<butil::IOBufSample*>, butil::detail::IOBufSampleEqual<butil::IOBufSample*>, false, butil::PtAllocator, false>::FlatMap(butil::detail::IOBufSampleHash<butil::IOBufSample*> const&, butil::detail::IOBufSampleEqual<butil::IOBufSample*> const&, butil::PtAllocator const&)
Unexecuted instantiation: butil::FlatMap<butil::IOBuf::Block*, butil::IOBufProfiler::BlockInfo, butil::DefaultHasher<butil::IOBuf::Block*>, butil::DefaultEqualTo<butil::IOBuf::Block*>, false, butil::PtAllocator, false>::FlatMap(butil::DefaultHasher<butil::IOBuf::Block*> const&, butil::DefaultEqualTo<butil::IOBuf::Block*> const&, butil::PtAllocator const&)
Unexecuted instantiation: butil::FlatMap<std::shared_ptr<butil::IOBufSample>, long, butil::detail::IOBufSampleHash<std::shared_ptr<butil::IOBufSample> >, butil::detail::IOBufSampleEqual<std::shared_ptr<butil::IOBufSample> >, false, butil::PtAllocator, false>::FlatMap(butil::detail::IOBufSampleHash<std::shared_ptr<butil::IOBufSample> > const&, butil::detail::IOBufSampleEqual<std::shared_ptr<butil::IOBufSample> > const&, butil::PtAllocator const&)
butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bvar::VarEntry, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>::FlatMap(butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > const&, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > const&, butil::PtAllocator const&)
Line
Count
Source
221
640
    : _size(0)
222
640
    , _nbucket(DEFAULT_NBUCKET)
223
640
    , _buckets((Bucket*)(&_default_buckets))
224
640
    , _thumbnail(_S ? _default_thumbnail : NULL)
225
640
    , _load_factor(80)
226
640
    , _is_default_load_factor(true)
227
640
    , _hashfn(hashfn)
228
640
    , _eql(eql)
229
640
    , _pool(alloc) {
230
640
    init_buckets_and_thumbnail(_buckets, _thumbnail, _nbucket);
231
640
}
Unexecuted instantiation: butil::FlatMap<int, bthread::TaskGroup*, butil::DefaultHasher<int>, butil::DefaultEqualTo<int>, false, butil::PtAllocator, false>::FlatMap(butil::DefaultHasher<int> const&, butil::DefaultEqualTo<int> const&, butil::PtAllocator const&)
Unexecuted instantiation: butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bvar::MVarEntry, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>::FlatMap(butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > const&, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > const&, butil::PtAllocator const&)
Unexecuted instantiation: butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::LoadBalancer const*, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false>::FlatMap(butil::CaseIgnoredHasher const&, butil::CaseIgnoredEqual const&, butil::PtAllocator const&)
Unexecuted instantiation: butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::NamingService const*, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false>::FlatMap(butil::CaseIgnoredHasher const&, butil::CaseIgnoredEqual const&, butil::PtAllocator const&)
Unexecuted instantiation: butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::ConcurrencyLimiter const*, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false>::FlatMap(butil::CaseIgnoredHasher const&, butil::CaseIgnoredEqual const&, butil::PtAllocator const&)
Unexecuted instantiation: butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::Server::MethodProperty, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>::FlatMap(butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > const&, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > const&, butil::PtAllocator const&)
Unexecuted instantiation: butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::Server::ServiceProperty, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>::FlatMap(butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > const&, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > const&, butil::PtAllocator const&)
Unexecuted instantiation: butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::shared_ptr<brpc::SocketSSLContext>, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false>::FlatMap(butil::CaseIgnoredHasher const&, butil::CaseIgnoredEqual const&, butil::PtAllocator const&)
Unexecuted instantiation: butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::Server::SSLContext, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>::FlatMap(butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > const&, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > const&, butil::PtAllocator const&)
Unexecuted instantiation: butil::FlatMap<unsigned long, brpc::ConnectStatistics, butil::DefaultHasher<unsigned long>, butil::DefaultEqualTo<unsigned long>, false, butil::PtAllocator, false>::FlatMap(butil::DefaultHasher<unsigned long> const&, butil::DefaultEqualTo<unsigned long> const&, butil::PtAllocator const&)
Unexecuted instantiation: butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::DisplayType, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false>::FlatMap(butil::CaseIgnoredHasher const&, butil::CaseIgnoredEqual const&, butil::PtAllocator const&)
butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>::FlatMap(butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > const&, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > const&, butil::PtAllocator const&)
Line
Count
Source
221
10.0k
    : _size(0)
222
10.0k
    , _nbucket(DEFAULT_NBUCKET)
223
10.0k
    , _buckets((Bucket*)(&_default_buckets))
224
10.0k
    , _thumbnail(_S ? _default_thumbnail : NULL)
225
10.0k
    , _load_factor(80)
226
10.0k
    , _is_default_load_factor(true)
227
10.0k
    , _hashfn(hashfn)
228
10.0k
    , _eql(eql)
229
10.0k
    , _pool(alloc) {
230
10.0k
    init_buckets_and_thumbnail(_buckets, _thumbnail, _nbucket);
231
10.0k
}
Unexecuted instantiation: butil::FlatMap<brpc::NSKey, brpc::NamingServiceThread*, brpc::NSKeyHasher, butil::DefaultEqualTo<brpc::NSKey>, false, butil::PtAllocator, false>::FlatMap(brpc::NSKeyHasher const&, butil::DefaultEqualTo<brpc::NSKey> const&, butil::PtAllocator const&)
butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, true>::FlatMap(butil::CaseIgnoredHasher const&, butil::CaseIgnoredEqual const&, butil::PtAllocator const&)
Line
Count
Source
221
9.49k
    : _size(0)
222
9.49k
    , _nbucket(DEFAULT_NBUCKET)
223
9.49k
    , _buckets((Bucket*)(&_default_buckets))
224
9.49k
    , _thumbnail(_S ? _default_thumbnail : NULL)
225
9.49k
    , _load_factor(80)
226
9.49k
    , _is_default_load_factor(true)
227
9.49k
    , _hashfn(hashfn)
228
9.49k
    , _eql(eql)
229
9.49k
    , _pool(alloc) {
230
9.49k
    init_buckets_and_thumbnail(_buckets, _thumbnail, _nbucket);
231
9.49k
}
Unexecuted instantiation: butil::FlatMap<brpc::ServerId, butil::FlatMapVoid, butil::DefaultHasher<brpc::ServerId>, butil::DefaultEqualTo<brpc::ServerId>, false, butil::PtAllocator, false>::FlatMap(butil::DefaultHasher<brpc::ServerId> const&, butil::DefaultEqualTo<brpc::ServerId> const&, butil::PtAllocator const&)
Unexecuted instantiation: butil::FlatMap<int, brpc::policy::H2StreamContext*, butil::DefaultHasher<int>, butil::DefaultEqualTo<int>, false, butil::PtAllocator, false>::FlatMap(butil::DefaultHasher<int> const&, butil::DefaultEqualTo<int> const&, butil::PtAllocator const&)
Unexecuted instantiation: butil::FlatMap<unsigned long, unsigned long, butil::DefaultHasher<unsigned long>, butil::DefaultEqualTo<unsigned long>, false, butil::PtAllocator, false>::FlatMap(butil::DefaultHasher<unsigned long> const&, butil::DefaultEqualTo<unsigned long> const&, butil::PtAllocator const&)
Unexecuted instantiation: butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool (brpc::policy::RtmpChunkStream::*)(brpc::policy::RtmpMessageHeader const&, brpc::AMFInputStream*, brpc::Socket*), butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>::FlatMap(butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > const&, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > const&, butil::PtAllocator const&)
Unexecuted instantiation: butil::FlatMap<unsigned int, brpc::policy::RtmpContext::MessageStreamInfo, butil::DefaultHasher<unsigned int>, butil::DefaultEqualTo<unsigned int>, false, butil::PtAllocator, false>::FlatMap(butil::DefaultHasher<unsigned int> const&, butil::DefaultEqualTo<unsigned int> const&, butil::PtAllocator const&)
Unexecuted instantiation: butil::FlatMap<unsigned int, brpc::policy::RtmpTransactionHandler*, butil::DefaultHasher<unsigned int>, butil::DefaultEqualTo<unsigned int>, false, butil::PtAllocator, false>::FlatMap(butil::DefaultHasher<unsigned int> const&, butil::DefaultEqualTo<unsigned int> const&, butil::PtAllocator const&)
Unexecuted instantiation: butil::FlatMap<unsigned long, int, butil::DefaultHasher<unsigned long>, butil::DefaultEqualTo<unsigned long>, false, butil::PtAllocator, false>::FlatMap(butil::DefaultHasher<unsigned long> const&, butil::DefaultEqualTo<unsigned long> const&, butil::PtAllocator const&)
Unexecuted instantiation: butil::FlatMap<brpc::SocketMapKey, brpc::SocketMap::SingleConnection, brpc::SocketMapKeyHasher, butil::DefaultEqualTo<brpc::SocketMapKey>, false, butil::PtAllocator, false>::FlatMap(brpc::SocketMapKeyHasher const&, butil::DefaultEqualTo<brpc::SocketMapKey> const&, butil::PtAllocator const&)
Unexecuted instantiation: butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, mcpack2pb::MessageHandler, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>::FlatMap(butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > const&, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > const&, butil::PtAllocator const&)
butil::FlatMap<brpc::HPacker::Header, unsigned long, brpc::HeaderHasher, brpc::HeaderEqualTo, false, butil::PtAllocator, false>::FlatMap(brpc::HeaderHasher const&, brpc::HeaderEqualTo const&, butil::PtAllocator const&)
Line
Count
Source
221
1.37k
    : _size(0)
222
1.37k
    , _nbucket(DEFAULT_NBUCKET)
223
1.37k
    , _buckets((Bucket*)(&_default_buckets))
224
1.37k
    , _thumbnail(_S ? _default_thumbnail : NULL)
225
1.37k
    , _load_factor(80)
226
1.37k
    , _is_default_load_factor(true)
227
1.37k
    , _hashfn(hashfn)
228
1.37k
    , _eql(eql)
229
1.37k
    , _pool(alloc) {
230
1.37k
    init_buckets_and_thumbnail(_buckets, _thumbnail, _nbucket);
231
1.37k
}
butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false>::FlatMap(butil::CaseIgnoredHasher const&, butil::CaseIgnoredEqual const&, butil::PtAllocator const&)
Line
Count
Source
221
1.37k
    : _size(0)
222
1.37k
    , _nbucket(DEFAULT_NBUCKET)
223
1.37k
    , _buckets((Bucket*)(&_default_buckets))
224
1.37k
    , _thumbnail(_S ? _default_thumbnail : NULL)
225
1.37k
    , _load_factor(80)
226
1.37k
    , _is_default_load_factor(true)
227
1.37k
    , _hashfn(hashfn)
228
1.37k
    , _eql(eql)
229
1.37k
    , _pool(alloc) {
230
1.37k
    init_buckets_and_thumbnail(_buckets, _thumbnail, _nbucket);
231
1.37k
}
232
233
template <typename _K, typename _T, typename _H, typename _E,
234
          bool _S, typename _A, bool _M>
235
FlatMap<_K, _T, _H, _E, _S, _A, _M>::FlatMap(const FlatMap& rhs)
236
    : FlatMap(rhs._hashfn, rhs._eql, rhs.get_allocator()) {
237
    init_buckets_and_thumbnail(_buckets, _thumbnail, _nbucket);
238
    if (!rhs.empty()) {
239
        operator=(rhs);
240
    }
241
}
242
243
template <typename _K, typename _T, typename _H, typename _E,
244
          bool _S, typename _A, bool _M>
245
22.3k
FlatMap<_K, _T, _H, _E, _S, _A, _M>::~FlatMap() {
246
22.3k
    clear();
247
22.3k
    if (!is_default_buckets()) {
248
2.04k
        get_allocator().Free(_buckets);
249
2.04k
        _buckets = NULL;
250
2.04k
        bit_array_free(_thumbnail);
251
2.04k
        _thumbnail = NULL;
252
2.04k
    }
253
22.3k
    _nbucket = 0;
254
22.3k
    _load_factor = 0;
255
22.3k
}
Unexecuted instantiation: butil::FlatMap<bthread::SampledContention*, bthread::SampledContention*, bthread::ContentionHash, bthread::ContentionEqual, false, butil::PtAllocator, false>::~FlatMap()
Unexecuted instantiation: butil::FlatMap<butil::IOBufSample*, std::shared_ptr<butil::IOBufSample>, butil::detail::IOBufSampleHash<butil::IOBufSample*>, butil::detail::IOBufSampleEqual<butil::IOBufSample*>, false, butil::PtAllocator, false>::~FlatMap()
Unexecuted instantiation: butil::FlatMap<butil::IOBuf::Block*, butil::IOBufProfiler::BlockInfo, butil::DefaultHasher<butil::IOBuf::Block*>, butil::DefaultEqualTo<butil::IOBuf::Block*>, false, butil::PtAllocator, false>::~FlatMap()
Unexecuted instantiation: butil::FlatMap<std::shared_ptr<butil::IOBufSample>, long, butil::detail::IOBufSampleHash<std::shared_ptr<butil::IOBufSample> >, butil::detail::IOBufSampleEqual<std::shared_ptr<butil::IOBufSample> >, false, butil::PtAllocator, false>::~FlatMap()
Unexecuted instantiation: butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bvar::VarEntry, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>::~FlatMap()
Unexecuted instantiation: butil::FlatMap<int, bthread::TaskGroup*, butil::DefaultHasher<int>, butil::DefaultEqualTo<int>, false, butil::PtAllocator, false>::~FlatMap()
Unexecuted instantiation: butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bvar::MVarEntry, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>::~FlatMap()
Unexecuted instantiation: butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::LoadBalancer const*, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false>::~FlatMap()
Unexecuted instantiation: butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::NamingService const*, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false>::~FlatMap()
Unexecuted instantiation: butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::ConcurrencyLimiter const*, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false>::~FlatMap()
Unexecuted instantiation: butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::shared_ptr<brpc::SocketSSLContext>, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false>::~FlatMap()
Unexecuted instantiation: butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::Server::MethodProperty, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>::~FlatMap()
Unexecuted instantiation: butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::Server::ServiceProperty, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>::~FlatMap()
Unexecuted instantiation: butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::Server::SSLContext, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>::~FlatMap()
Unexecuted instantiation: butil::FlatMap<unsigned long, brpc::ConnectStatistics, butil::DefaultHasher<unsigned long>, butil::DefaultEqualTo<unsigned long>, false, butil::PtAllocator, false>::~FlatMap()
butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, true>::~FlatMap()
Line
Count
Source
245
9.49k
FlatMap<_K, _T, _H, _E, _S, _A, _M>::~FlatMap() {
246
9.49k
    clear();
247
9.49k
    if (!is_default_buckets()) {
248
670
        get_allocator().Free(_buckets);
249
670
        _buckets = NULL;
250
670
        bit_array_free(_thumbnail);
251
670
        _thumbnail = NULL;
252
670
    }
253
9.49k
    _nbucket = 0;
254
9.49k
    _load_factor = 0;
255
9.49k
}
butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>::~FlatMap()
Line
Count
Source
245
10.0k
FlatMap<_K, _T, _H, _E, _S, _A, _M>::~FlatMap() {
246
10.0k
    clear();
247
10.0k
    if (!is_default_buckets()) {
248
0
        get_allocator().Free(_buckets);
249
0
        _buckets = NULL;
250
0
        bit_array_free(_thumbnail);
251
0
        _thumbnail = NULL;
252
0
    }
253
10.0k
    _nbucket = 0;
254
10.0k
    _load_factor = 0;
255
10.0k
}
Unexecuted instantiation: butil::FlatMap<brpc::ServerId, butil::FlatMapVoid, butil::DefaultHasher<brpc::ServerId>, butil::DefaultEqualTo<brpc::ServerId>, false, butil::PtAllocator, false>::~FlatMap()
Unexecuted instantiation: butil::FlatMap<int, brpc::policy::H2StreamContext*, butil::DefaultHasher<int>, butil::DefaultEqualTo<int>, false, butil::PtAllocator, false>::~FlatMap()
Unexecuted instantiation: butil::FlatMap<unsigned long, unsigned long, butil::DefaultHasher<unsigned long>, butil::DefaultEqualTo<unsigned long>, false, butil::PtAllocator, false>::~FlatMap()
Unexecuted instantiation: butil::FlatMap<unsigned int, brpc::policy::RtmpContext::MessageStreamInfo, butil::DefaultHasher<unsigned int>, butil::DefaultEqualTo<unsigned int>, false, butil::PtAllocator, false>::~FlatMap()
Unexecuted instantiation: butil::FlatMap<unsigned int, brpc::policy::RtmpTransactionHandler*, butil::DefaultHasher<unsigned int>, butil::DefaultEqualTo<unsigned int>, false, butil::PtAllocator, false>::~FlatMap()
Unexecuted instantiation: butil::FlatMap<unsigned long, int, butil::DefaultHasher<unsigned long>, butil::DefaultEqualTo<unsigned long>, false, butil::PtAllocator, false>::~FlatMap()
Unexecuted instantiation: butil::FlatMap<brpc::SocketMapKey, brpc::SocketMap::SingleConnection, brpc::SocketMapKeyHasher, butil::DefaultEqualTo<brpc::SocketMapKey>, false, butil::PtAllocator, false>::~FlatMap()
butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false>::~FlatMap()
Line
Count
Source
245
1.37k
FlatMap<_K, _T, _H, _E, _S, _A, _M>::~FlatMap() {
246
1.37k
    clear();
247
1.37k
    if (!is_default_buckets()) {
248
685
        get_allocator().Free(_buckets);
249
685
        _buckets = NULL;
250
685
        bit_array_free(_thumbnail);
251
685
        _thumbnail = NULL;
252
685
    }
253
1.37k
    _nbucket = 0;
254
1.37k
    _load_factor = 0;
255
1.37k
}
butil::FlatMap<brpc::HPacker::Header, unsigned long, brpc::HeaderHasher, brpc::HeaderEqualTo, false, butil::PtAllocator, false>::~FlatMap()
Line
Count
Source
245
1.37k
FlatMap<_K, _T, _H, _E, _S, _A, _M>::~FlatMap() {
246
1.37k
    clear();
247
1.37k
    if (!is_default_buckets()) {
248
685
        get_allocator().Free(_buckets);
249
685
        _buckets = NULL;
250
685
        bit_array_free(_thumbnail);
251
685
        _thumbnail = NULL;
252
685
    }
253
1.37k
    _nbucket = 0;
254
1.37k
    _load_factor = 0;
255
1.37k
}
256
257
template <typename _K, typename _T, typename _H, typename _E,
258
          bool _S, typename _A, bool _M>
259
FlatMap<_K, _T, _H, _E, _S, _A, _M>&
260
FlatMap<_K, _T, _H, _E, _S, _A, _M>::operator=(
261
0
    const FlatMap<_K, _T, _H, _E, _S, _A, _M>& rhs) {
262
0
    if (this == &rhs) {
263
0
        return *this;
264
0
    }
265
266
0
    clear();
267
0
    if (rhs.empty()) {
268
0
        return *this;
269
0
    }
270
    // NOTE: assignment only changes _load_factor when it is default.
271
0
    init_load_factor(rhs._load_factor);
272
0
    if (is_too_crowded(rhs._size)) {
273
0
        optional<NewBucketsInfo> info =
274
0
            new_buckets_and_thumbnail(rhs._size, rhs._nbucket);
275
0
        if (info.has_value()) {
276
0
            _nbucket = info->nbucket;
277
0
            if (!is_default_buckets()) {
278
0
                get_allocator().Free(_buckets);
279
0
                if (_S) {
280
0
                    bit_array_free(_thumbnail);
281
0
                }
282
0
            }
283
0
            _buckets = info->buckets;
284
0
            _thumbnail = info->thumbnail;
285
0
        }
286
        // Failed new of buckets or thumbnail is OK.
287
        // Use old buckets and thumbnail even if map will be crowded.
288
0
    }
289
0
    if (_nbucket == rhs._nbucket) {
290
        // For equivalent _nbucket, walking through _buckets instead of using
291
        // iterators is more efficient.
292
0
        for (size_t i = 0; i < rhs._nbucket; ++i) {
293
0
            if (rhs._buckets[i].is_valid()) {
294
0
                if (_S) {
295
0
                    bit_array_set(_thumbnail, i);
296
0
                }
297
0
                new (&_buckets[i]) Bucket(rhs._buckets[i]);
298
0
                Bucket* p1 = &_buckets[i];
299
0
                Bucket* p2 = rhs._buckets[i].next;
300
0
                while (p2) {
301
0
                    p1->next = new (_pool.get()) Bucket(*p2);
302
0
                    p1 = p1->next;
303
0
                    p2 = p2->next;
304
0
                }
305
0
            }
306
0
        }
307
0
        _buckets[rhs._nbucket].next = NULL;
308
0
        _size = rhs._size;
309
0
    } else {
310
0
        for (const_iterator it = rhs.begin(); it != rhs.end(); ++it) {
311
0
            operator[](Element::first_ref_from_value(*it)) =
312
0
                Element::second_ref_from_value(*it);
313
0
        }
314
0
    }
315
0
    return *this;
316
0
}
Unexecuted instantiation: butil::FlatMap<std::shared_ptr<butil::IOBufSample>, long, butil::detail::IOBufSampleHash<std::shared_ptr<butil::IOBufSample> >, butil::detail::IOBufSampleEqual<std::shared_ptr<butil::IOBufSample> >, false, butil::PtAllocator, false>::operator=(butil::FlatMap<std::shared_ptr<butil::IOBufSample>, long, butil::detail::IOBufSampleHash<std::shared_ptr<butil::IOBufSample> >, butil::detail::IOBufSampleEqual<std::shared_ptr<butil::IOBufSample> >, false, butil::PtAllocator, false> const&)
Unexecuted instantiation: butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::shared_ptr<brpc::SocketSSLContext>, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false>::operator=(butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::shared_ptr<brpc::SocketSSLContext>, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false> const&)
Unexecuted instantiation: butil::FlatMap<unsigned long, unsigned long, butil::DefaultHasher<unsigned long>, butil::DefaultEqualTo<unsigned long>, false, butil::PtAllocator, false>::operator=(butil::FlatMap<unsigned long, unsigned long, butil::DefaultHasher<unsigned long>, butil::DefaultEqualTo<unsigned long>, false, butil::PtAllocator, false> const&)
317
318
template <typename _K, typename _T, typename _H, typename _E,
319
          bool _S, typename _A, bool _M>
320
2.01k
int FlatMap<_K, _T, _H, _E, _S, _A, _M>::init(size_t nbucket, u_int load_factor) {
321
2.01k
    if (nbucket <= _nbucket || load_factor < 10 || load_factor > 100 ||
322
2.01k
        !_is_default_load_factor || !empty() || !is_default_buckets()) {
323
0
        return 0;
324
0
    }
325
326
2.01k
    init_load_factor(load_factor);
327
2.01k
    return resize(nbucket) ? 0 : -1;
328
2.01k
}
Unexecuted instantiation: butil::FlatMap<bthread::SampledContention*, bthread::SampledContention*, bthread::ContentionHash, bthread::ContentionEqual, false, butil::PtAllocator, false>::init(unsigned long, unsigned int)
Unexecuted instantiation: butil::FlatMap<butil::IOBufSample*, std::shared_ptr<butil::IOBufSample>, butil::detail::IOBufSampleHash<butil::IOBufSample*>, butil::detail::IOBufSampleEqual<butil::IOBufSample*>, false, butil::PtAllocator, false>::init(unsigned long, unsigned int)
Unexecuted instantiation: butil::FlatMap<butil::IOBuf::Block*, butil::IOBufProfiler::BlockInfo, butil::DefaultHasher<butil::IOBuf::Block*>, butil::DefaultEqualTo<butil::IOBuf::Block*>, false, butil::PtAllocator, false>::init(unsigned long, unsigned int)
butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bvar::VarEntry, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>::init(unsigned long, unsigned int)
Line
Count
Source
320
640
int FlatMap<_K, _T, _H, _E, _S, _A, _M>::init(size_t nbucket, u_int load_factor) {
321
640
    if (nbucket <= _nbucket || load_factor < 10 || load_factor > 100 ||
322
640
        !_is_default_load_factor || !empty() || !is_default_buckets()) {
323
0
        return 0;
324
0
    }
325
326
640
    init_load_factor(load_factor);
327
640
    return resize(nbucket) ? 0 : -1;
328
640
}
Unexecuted instantiation: butil::FlatMap<int, bthread::TaskGroup*, butil::DefaultHasher<int>, butil::DefaultEqualTo<int>, false, butil::PtAllocator, false>::init(unsigned long, unsigned int)
Unexecuted instantiation: butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bvar::MVarEntry, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>::init(unsigned long, unsigned int)
Unexecuted instantiation: butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::Server::SSLContext, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>::init(unsigned long, unsigned int)
Unexecuted instantiation: butil::FlatMap<unsigned long, brpc::ConnectStatistics, butil::DefaultHasher<unsigned long>, butil::DefaultEqualTo<unsigned long>, false, butil::PtAllocator, false>::init(unsigned long, unsigned int)
Unexecuted instantiation: butil::FlatMap<brpc::NSKey, brpc::NamingServiceThread*, brpc::NSKeyHasher, butil::DefaultEqualTo<brpc::NSKey>, false, butil::PtAllocator, false>::init(unsigned long, unsigned int)
Unexecuted instantiation: butil::FlatMap<unsigned long, unsigned long, butil::DefaultHasher<unsigned long>, butil::DefaultEqualTo<unsigned long>, false, butil::PtAllocator, false>::init(unsigned long, unsigned int)
Unexecuted instantiation: butil::FlatMap<brpc::ServerId, butil::FlatMapVoid, butil::DefaultHasher<brpc::ServerId>, butil::DefaultEqualTo<brpc::ServerId>, false, butil::PtAllocator, false>::init(unsigned long, unsigned int)
Unexecuted instantiation: butil::FlatMap<int, brpc::policy::H2StreamContext*, butil::DefaultHasher<int>, butil::DefaultEqualTo<int>, false, butil::PtAllocator, false>::init(unsigned long, unsigned int)
Unexecuted instantiation: butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool (brpc::policy::RtmpChunkStream::*)(brpc::policy::RtmpMessageHeader const&, brpc::AMFInputStream*, brpc::Socket*), butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>::init(unsigned long, unsigned int)
Unexecuted instantiation: butil::FlatMap<unsigned int, brpc::policy::RtmpContext::MessageStreamInfo, butil::DefaultHasher<unsigned int>, butil::DefaultEqualTo<unsigned int>, false, butil::PtAllocator, false>::init(unsigned long, unsigned int)
Unexecuted instantiation: butil::FlatMap<unsigned int, brpc::policy::RtmpTransactionHandler*, butil::DefaultHasher<unsigned int>, butil::DefaultEqualTo<unsigned int>, false, butil::PtAllocator, false>::init(unsigned long, unsigned int)
Unexecuted instantiation: butil::FlatMap<unsigned long, int, butil::DefaultHasher<unsigned long>, butil::DefaultEqualTo<unsigned long>, false, butil::PtAllocator, false>::init(unsigned long, unsigned int)
Unexecuted instantiation: butil::FlatMap<brpc::SocketMapKey, brpc::SocketMap::SingleConnection, brpc::SocketMapKeyHasher, butil::DefaultEqualTo<brpc::SocketMapKey>, false, butil::PtAllocator, false>::init(unsigned long, unsigned int)
Unexecuted instantiation: butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, mcpack2pb::MessageHandler, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>::init(unsigned long, unsigned int)
butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false>::init(unsigned long, unsigned int)
Line
Count
Source
320
686
int FlatMap<_K, _T, _H, _E, _S, _A, _M>::init(size_t nbucket, u_int load_factor) {
321
686
    if (nbucket <= _nbucket || load_factor < 10 || load_factor > 100 ||
322
686
        !_is_default_load_factor || !empty() || !is_default_buckets()) {
323
0
        return 0;
324
0
    }
325
326
686
    init_load_factor(load_factor);
327
686
    return resize(nbucket) ? 0 : -1;
328
686
}
butil::FlatMap<brpc::HPacker::Header, unsigned long, brpc::HeaderHasher, brpc::HeaderEqualTo, false, butil::PtAllocator, false>::init(unsigned long, unsigned int)
Line
Count
Source
320
686
int FlatMap<_K, _T, _H, _E, _S, _A, _M>::init(size_t nbucket, u_int load_factor) {
321
686
    if (nbucket <= _nbucket || load_factor < 10 || load_factor > 100 ||
322
686
        !_is_default_load_factor || !empty() || !is_default_buckets()) {
323
0
        return 0;
324
0
    }
325
326
686
    init_load_factor(load_factor);
327
686
    return resize(nbucket) ? 0 : -1;
328
686
}
329
330
template <typename _K, typename _T, typename _H, typename _E,
331
          bool _S, typename _A, bool _M>
332
void FlatMap<_K, _T, _H, _E, _S, _A, _M>::swap(
333
0
    FlatMap<_K, _T, _H, _E, _S, _A, _M>& rhs) {
334
0
    if (!is_default_buckets() && !rhs.is_default_buckets()) {
335
0
        std::swap(rhs._buckets, _buckets);
336
0
        std::swap(rhs._thumbnail, _thumbnail);
337
0
    } else {
338
0
        for (size_t i = 0; i < DEFAULT_NBUCKET; ++i) {
339
0
            _default_buckets[i].swap(rhs._default_buckets[i]);
340
0
        }
341
0
        if (_S) {
342
0
            for (size_t i = 0; i < default_nthumbnail; ++i) {
343
0
                std::swap(_default_thumbnail[i], rhs._default_thumbnail[i]);
344
0
            }
345
0
        }
346
0
        if (!is_default_buckets() && rhs.is_default_buckets()) {
347
0
            rhs._buckets = _buckets;
348
0
            rhs._thumbnail = _thumbnail;
349
0
            _buckets = _default_buckets;
350
0
            _thumbnail = _default_thumbnail;
351
0
        } else if (is_default_buckets() && !rhs.is_default_buckets()) {
352
0
            _buckets = rhs._buckets;
353
0
            _thumbnail = rhs._thumbnail;
354
0
            rhs._buckets = rhs._default_buckets;
355
0
            rhs._thumbnail = rhs._thumbnail;
356
0
        } // else both are default buckets which has been swapped, so no need to swap `_buckets'.
357
0
    }
358
359
0
    std::swap(rhs._size, _size);
360
0
    std::swap(rhs._nbucket, _nbucket);
361
0
    std::swap(rhs._is_default_load_factor, _is_default_load_factor);
362
0
    std::swap(rhs._load_factor, _load_factor);
363
0
    std::swap(rhs._hashfn, _hashfn);
364
0
    std::swap(rhs._eql, _eql);
365
0
    rhs._pool.swap(_pool);
366
0
}
Unexecuted instantiation: butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>::swap(butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>&)
Unexecuted instantiation: butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::Server::SSLContext, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>::swap(butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::Server::SSLContext, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>&)
Unexecuted instantiation: butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, true>::swap(butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, true>&)
Unexecuted instantiation: butil::FlatMap<int, brpc::policy::H2StreamContext*, butil::DefaultHasher<int>, butil::DefaultEqualTo<int>, false, butil::PtAllocator, false>::swap(butil::FlatMap<int, brpc::policy::H2StreamContext*, butil::DefaultHasher<int>, butil::DefaultEqualTo<int>, false, butil::PtAllocator, false>&)
367
368
template <typename _K, typename _T, typename _H, typename _E,
369
          bool _S, typename _A, bool _M>
370
_T* FlatMap<_K, _T, _H, _E, _S, _A, _M>::insert(
371
25.3k
    const key_type& key, const mapped_type& value) {
372
25.3k
    mapped_type *p = &operator[](key);
373
25.3k
    *p = value;
374
25.3k
    return p;
375
25.3k
}
Unexecuted instantiation: butil::FlatMap<bthread::SampledContention*, bthread::SampledContention*, bthread::ContentionHash, bthread::ContentionEqual, false, butil::PtAllocator, false>::insert(bthread::SampledContention* const&, bthread::SampledContention* const&)
Unexecuted instantiation: butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::shared_ptr<brpc::SocketSSLContext>, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false>::insert(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::shared_ptr<brpc::SocketSSLContext> const&)
Unexecuted instantiation: butil::FlatMap<unsigned long, brpc::ConnectStatistics, butil::DefaultHasher<unsigned long>, butil::DefaultEqualTo<unsigned long>, false, butil::PtAllocator, false>::insert(unsigned long const&, brpc::ConnectStatistics const&)
butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, true>::insert(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)
Line
Count
Source
371
25.3k
    const key_type& key, const mapped_type& value) {
372
25.3k
    mapped_type *p = &operator[](key);
373
25.3k
    *p = value;
374
25.3k
    return p;
375
25.3k
}
Unexecuted instantiation: butil::FlatMap<brpc::ServerId, butil::FlatMapVoid, butil::DefaultHasher<brpc::ServerId>, butil::DefaultEqualTo<brpc::ServerId>, false, butil::PtAllocator, false>::insert(brpc::ServerId const&, butil::FlatMapVoid const&)
376
377
template <typename _K, typename _T, typename _H, typename _E,
378
          bool _S, typename _A, bool _M>
379
_T* FlatMap<_K, _T, _H, _E, _S, _A, _M>::insert(
380
25.3k
    const std::pair<key_type, mapped_type>& kv) {
381
25.3k
    return insert(kv.first, kv.second);
382
25.3k
}
383
384
template <typename _K, typename _T, typename _H, typename _E,
385
          bool _S, typename _A, bool _M>
386
template <typename K2, bool Multi>
387
typename std::enable_if<!Multi, size_t >::type
388
0
FlatMap<_K, _T, _H, _E, _S, _A, _M>::erase(const K2& key, _T* old_value) {
389
    // TODO: Do we need auto collapsing here?
390
0
    const size_t index = flatmap_mod(_hashfn(key), _nbucket);
391
0
    Bucket& first_node = _buckets[index];
392
0
    if (!first_node.is_valid()) {
393
0
        return 0;
394
0
    }
395
0
    if (_eql(first_node.element().first_ref(), key)) {
396
0
        if (old_value) {
397
0
            *old_value = first_node.element().second_movable_ref();
398
0
        }
399
0
        if (first_node.next == NULL) {
400
0
            first_node.destroy_element();
401
0
            first_node.set_invalid();
402
0
            if (_S) {
403
0
                bit_array_unset(_thumbnail, index);
404
0
            }
405
0
        } else {
406
            // A seemingly correct solution is to copy the memory of *p to
407
            // first_node directly like this:
408
            //   first_node.destroy_element();
409
            //   first_node = *p;
410
            // It works at most of the time, but is wrong generally.
411
            // If _T references self inside like this:
412
            //   Value {
413
            //     Value() : num(0), num_ptr(&num) {}
414
            //     int num;
415
            //     int* num_ptr;
416
            //   };
417
            // After copying, num_ptr will be invalid.
418
            // Calling operator= is the price that we have to pay.
419
0
            Bucket* p = first_node.next;
420
0
            first_node.next = p->next;
421
0
            const_cast<_K&>(first_node.element().first_ref()) =
422
0
                p->element().first_ref();
423
0
            first_node.element().second_ref() = p->element().second_movable_ref();
424
0
            p->destroy_element();
425
0
            _pool.back(p);
426
0
        }
427
0
        --_size;
428
0
        return 1UL;
429
0
    }
430
0
    Bucket *p = first_node.next;
431
0
    Bucket *last_p = &first_node;
432
0
    while (p) {
433
0
        if (_eql(p->element().first_ref(), key)) {
434
0
            if (old_value) {
435
0
                *old_value = p->element().second_movable_ref();
436
0
            }
437
0
            last_p->next = p->next;
438
0
            p->destroy_element();
439
0
            _pool.back(p);
440
0
            --_size;
441
0
            return 1UL;
442
0
        }
443
0
        last_p = p;
444
0
        p = p->next;
445
0
    }
446
0
    return 0;
447
0
}
Unexecuted instantiation: std::enable_if<!(false), unsigned long>::type butil::FlatMap<butil::IOBufSample*, std::shared_ptr<butil::IOBufSample>, butil::detail::IOBufSampleHash<butil::IOBufSample*>, butil::detail::IOBufSampleEqual<butil::IOBufSample*>, false, butil::PtAllocator, false>::erase<butil::IOBufSample*, false>(butil::IOBufSample* const&, std::shared_ptr<butil::IOBufSample>*)
Unexecuted instantiation: std::enable_if<!(false), unsigned long>::type butil::FlatMap<butil::IOBuf::Block*, butil::IOBufProfiler::BlockInfo, butil::DefaultHasher<butil::IOBuf::Block*>, butil::DefaultEqualTo<butil::IOBuf::Block*>, false, butil::PtAllocator, false>::erase<butil::IOBuf::Block*, false>(butil::IOBuf::Block* const&, butil::IOBufProfiler::BlockInfo*)
Unexecuted instantiation: std::enable_if<!(false), unsigned long>::type butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bvar::VarEntry, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>::erase<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, false>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bvar::VarEntry*)
Unexecuted instantiation: std::enable_if<!(false), unsigned long>::type butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bvar::MVarEntry, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>::erase<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, false>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bvar::MVarEntry*)
Unexecuted instantiation: std::enable_if<!(false), unsigned long>::type butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>::erase<char const*, false>(char const* const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*)
Unexecuted instantiation: std::enable_if<!(false), unsigned long>::type butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>::erase<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, false>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*)
Unexecuted instantiation: std::enable_if<!(false), unsigned long>::type butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::Server::MethodProperty, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>::erase<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, false>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, brpc::Server::MethodProperty*)
Unexecuted instantiation: std::enable_if<!(false), unsigned long>::type butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::Server::ServiceProperty, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>::erase<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, false>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, brpc::Server::ServiceProperty*)
Unexecuted instantiation: std::enable_if<!(false), unsigned long>::type butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::Server::SSLContext, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>::erase<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, false>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, brpc::Server::SSLContext*)
Unexecuted instantiation: std::enable_if<!(false), unsigned long>::type butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::shared_ptr<brpc::SocketSSLContext>, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false>::erase<char const*, false>(char const* const&, std::shared_ptr<brpc::SocketSSLContext>*)
Unexecuted instantiation: std::enable_if<!(false), unsigned long>::type butil::FlatMap<unsigned long, brpc::ConnectStatistics, butil::DefaultHasher<unsigned long>, butil::DefaultEqualTo<unsigned long>, false, butil::PtAllocator, false>::erase<unsigned long, false>(unsigned long const&, brpc::ConnectStatistics*)
Unexecuted instantiation: std::enable_if<!(false), unsigned long>::type butil::FlatMap<brpc::NSKey, brpc::NamingServiceThread*, brpc::NSKeyHasher, butil::DefaultEqualTo<brpc::NSKey>, false, butil::PtAllocator, false>::erase<brpc::NSKey, false>(brpc::NSKey const&, brpc::NamingServiceThread**)
Unexecuted instantiation: std::enable_if<!(false), unsigned long>::type butil::FlatMap<int, brpc::policy::H2StreamContext*, butil::DefaultHasher<int>, butil::DefaultEqualTo<int>, false, butil::PtAllocator, false>::erase<int, false>(int const&, brpc::policy::H2StreamContext**)
Unexecuted instantiation: std::enable_if<!(false), unsigned long>::type butil::FlatMap<unsigned long, unsigned long, butil::DefaultHasher<unsigned long>, butil::DefaultEqualTo<unsigned long>, false, butil::PtAllocator, false>::erase<unsigned long, false>(unsigned long const&, unsigned long*)
Unexecuted instantiation: std::enable_if<!(false), unsigned long>::type butil::FlatMap<unsigned int, brpc::policy::RtmpContext::MessageStreamInfo, butil::DefaultHasher<unsigned int>, butil::DefaultEqualTo<unsigned int>, false, butil::PtAllocator, false>::erase<unsigned int, false>(unsigned int const&, brpc::policy::RtmpContext::MessageStreamInfo*)
Unexecuted instantiation: std::enable_if<!(false), unsigned long>::type butil::FlatMap<unsigned int, brpc::policy::RtmpTransactionHandler*, butil::DefaultHasher<unsigned int>, butil::DefaultEqualTo<unsigned int>, false, butil::PtAllocator, false>::erase<unsigned int, false>(unsigned int const&, brpc::policy::RtmpTransactionHandler**)
Unexecuted instantiation: std::enable_if<!(false), unsigned long>::type butil::FlatMap<unsigned long, int, butil::DefaultHasher<unsigned long>, butil::DefaultEqualTo<unsigned long>, false, butil::PtAllocator, false>::erase<unsigned long, false>(unsigned long const&, int*)
Unexecuted instantiation: std::enable_if<!(false), unsigned long>::type butil::FlatMap<brpc::SocketMapKey, brpc::SocketMap::SingleConnection, brpc::SocketMapKeyHasher, butil::DefaultEqualTo<brpc::SocketMapKey>, false, butil::PtAllocator, false>::erase<brpc::SocketMapKey, false>(brpc::SocketMapKey const&, brpc::SocketMap::SingleConnection*)
Unexecuted instantiation: std::enable_if<!(false), unsigned long>::type butil::FlatMap<brpc::HPacker::Header, unsigned long, brpc::HeaderHasher, brpc::HeaderEqualTo, false, butil::PtAllocator, false>::erase<brpc::HPacker::Header, false>(brpc::HPacker::Header const&, unsigned long*)
Unexecuted instantiation: std::enable_if<!(false), unsigned long>::type butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false>::erase<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, false>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long*)
448
449
template <typename _K, typename _T, typename _H, typename _E,
450
          bool _S, typename _A, bool _M>
451
template <typename K2, bool Multi>
452
typename std::enable_if<Multi, size_t >::type
453
FlatMap<_K, _T, _H, _E, _S, _A, _M>::erase(
454
0
    const K2& key, std::vector<mapped_type>* old_values) {
455
    // TODO: Do we need auto collapsing here?
456
0
    const size_t index = flatmap_mod(_hashfn(key), _nbucket);
457
0
    Bucket& first_node = _buckets[index];
458
0
    if (!first_node.is_valid()) {
459
0
        return 0;
460
0
    }
461
462
0
    Bucket* new_head = NULL;
463
0
    Bucket* new_tail = NULL;
464
0
    Bucket* p = &first_node;
465
0
    size_t total = _size;
466
0
    while (NULL != p) {
467
0
        if (_eql(p->element().first_ref(), key)) {
468
0
            if (NULL != old_values) {
469
0
                old_values->push_back(p->element().second_movable_ref());
470
0
            }
471
0
            Bucket* temp = p;
472
0
            p = p->next;
473
0
            temp->destroy_element();
474
0
            if (temp != &first_node) {
475
0
                _pool.back(temp);
476
0
            }
477
0
            --_size;
478
0
        } else {
479
0
            if (NULL == new_head) {
480
0
                new_head = p;
481
0
                new_tail = p;
482
0
            } else {
483
0
                new_tail->next = p;
484
0
                new_tail = new_tail->next;
485
0
            }
486
0
            p = p->next;
487
0
        }
488
0
    }
489
0
    if (NULL != new_tail) {
490
0
        new_tail->next = NULL;
491
0
    }
492
0
    if (NULL == new_head) {
493
        // Erase all element.
494
0
        first_node.set_invalid();
495
0
        if (_S) {
496
0
            bit_array_unset(_thumbnail, index);
497
0
        }
498
0
    } else if (new_head != &first_node) {
499
        // The First node has been erased, need to move new head node as first node.
500
0
        first_node.next = new_head->next;
501
0
        const_cast<_K&>(first_node.element().first_ref()) =
502
0
            new_head->element().first_ref();
503
0
        first_node.element().second_ref() = new_head->element().second_movable_ref();
504
0
        new_head->destroy_element();
505
0
        _pool.back(new_head);
506
0
    }
507
0
    return total - _size;
508
0
}
509
510
template <typename _K, typename _T, typename _H, typename _E,
511
          bool _S, typename _A, bool _M>
512
36.4k
void FlatMap<_K, _T, _H, _E, _S, _A, _M>::clear() {
513
36.4k
    if (0 == _size) {
514
29.9k
        return;
515
29.9k
    }
516
6.46k
    _size = 0;
517
6.46k
    if (NULL != _buckets) {
518
146k
        for (size_t i = 0; i < _nbucket; ++i) {
519
139k
            Bucket& first_node = _buckets[i];
520
139k
            if (first_node.is_valid()) {
521
31.2k
                first_node.destroy_element();
522
31.2k
                Bucket* p = first_node.next;
523
47.6k
                while (p) {
524
16.3k
                    Bucket* next_p = p->next;
525
16.3k
                    p->destroy_element();
526
16.3k
                    _pool.back(p);
527
16.3k
                    p = next_p;
528
16.3k
                }
529
31.2k
                first_node.set_invalid();
530
31.2k
            }
531
139k
        }
532
6.46k
    }
533
6.46k
    if (NULL != _thumbnail) {
534
0
        bit_array_clear(_thumbnail, _nbucket);
535
0
    }
536
6.46k
}
Unexecuted instantiation: butil::FlatMap<bthread::SampledContention*, bthread::SampledContention*, bthread::ContentionHash, bthread::ContentionEqual, false, butil::PtAllocator, false>::clear()
Unexecuted instantiation: butil::FlatMap<std::shared_ptr<butil::IOBufSample>, long, butil::detail::IOBufSampleHash<std::shared_ptr<butil::IOBufSample> >, butil::detail::IOBufSampleEqual<std::shared_ptr<butil::IOBufSample> >, false, butil::PtAllocator, false>::clear()
Unexecuted instantiation: butil::FlatMap<butil::IOBuf::Block*, butil::IOBufProfiler::BlockInfo, butil::DefaultHasher<butil::IOBuf::Block*>, butil::DefaultEqualTo<butil::IOBuf::Block*>, false, butil::PtAllocator, false>::clear()
Unexecuted instantiation: butil::FlatMap<butil::IOBufSample*, std::shared_ptr<butil::IOBufSample>, butil::detail::IOBufSampleHash<butil::IOBufSample*>, butil::detail::IOBufSampleEqual<butil::IOBufSample*>, false, butil::PtAllocator, false>::clear()
butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bvar::VarEntry, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>::clear()
Line
Count
Source
512
640
void FlatMap<_K, _T, _H, _E, _S, _A, _M>::clear() {
513
640
    if (0 == _size) {
514
640
        return;
515
640
    }
516
0
    _size = 0;
517
0
    if (NULL != _buckets) {
518
0
        for (size_t i = 0; i < _nbucket; ++i) {
519
0
            Bucket& first_node = _buckets[i];
520
0
            if (first_node.is_valid()) {
521
0
                first_node.destroy_element();
522
0
                Bucket* p = first_node.next;
523
0
                while (p) {
524
0
                    Bucket* next_p = p->next;
525
0
                    p->destroy_element();
526
0
                    _pool.back(p);
527
0
                    p = next_p;
528
0
                }
529
0
                first_node.set_invalid();
530
0
            }
531
0
        }
532
0
    }
533
0
    if (NULL != _thumbnail) {
534
0
        bit_array_clear(_thumbnail, _nbucket);
535
0
    }
536
0
}
Unexecuted instantiation: butil::FlatMap<int, bthread::TaskGroup*, butil::DefaultHasher<int>, butil::DefaultEqualTo<int>, false, butil::PtAllocator, false>::clear()
Unexecuted instantiation: butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bvar::MVarEntry, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>::clear()
butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>::clear()
Line
Count
Source
512
21.1k
void FlatMap<_K, _T, _H, _E, _S, _A, _M>::clear() {
513
21.1k
    if (0 == _size) {
514
21.1k
        return;
515
21.1k
    }
516
0
    _size = 0;
517
0
    if (NULL != _buckets) {
518
0
        for (size_t i = 0; i < _nbucket; ++i) {
519
0
            Bucket& first_node = _buckets[i];
520
0
            if (first_node.is_valid()) {
521
0
                first_node.destroy_element();
522
0
                Bucket* p = first_node.next;
523
0
                while (p) {
524
0
                    Bucket* next_p = p->next;
525
0
                    p->destroy_element();
526
0
                    _pool.back(p);
527
0
                    p = next_p;
528
0
                }
529
0
                first_node.set_invalid();
530
0
            }
531
0
        }
532
0
    }
533
0
    if (NULL != _thumbnail) {
534
0
        bit_array_clear(_thumbnail, _nbucket);
535
0
    }
536
0
}
Unexecuted instantiation: butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::ConcurrencyLimiter const*, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false>::clear()
Unexecuted instantiation: butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::LoadBalancer const*, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false>::clear()
Unexecuted instantiation: butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::NamingService const*, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false>::clear()
Unexecuted instantiation: butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::Server::ServiceProperty, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>::clear()
Unexecuted instantiation: butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::Server::MethodProperty, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>::clear()
Unexecuted instantiation: butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::shared_ptr<brpc::SocketSSLContext>, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false>::clear()
Unexecuted instantiation: butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::Server::SSLContext, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>::clear()
Unexecuted instantiation: butil::FlatMap<unsigned long, brpc::ConnectStatistics, butil::DefaultHasher<unsigned long>, butil::DefaultEqualTo<unsigned long>, false, butil::PtAllocator, false>::clear()
Unexecuted instantiation: butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::DisplayType, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false>::clear()
butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, true>::clear()
Line
Count
Source
512
10.4k
void FlatMap<_K, _T, _H, _E, _S, _A, _M>::clear() {
513
10.4k
    if (0 == _size) {
514
4.00k
        return;
515
4.00k
    }
516
6.46k
    _size = 0;
517
6.46k
    if (NULL != _buckets) {
518
146k
        for (size_t i = 0; i < _nbucket; ++i) {
519
139k
            Bucket& first_node = _buckets[i];
520
139k
            if (first_node.is_valid()) {
521
31.2k
                first_node.destroy_element();
522
31.2k
                Bucket* p = first_node.next;
523
47.6k
                while (p) {
524
16.3k
                    Bucket* next_p = p->next;
525
16.3k
                    p->destroy_element();
526
16.3k
                    _pool.back(p);
527
16.3k
                    p = next_p;
528
16.3k
                }
529
31.2k
                first_node.set_invalid();
530
31.2k
            }
531
139k
        }
532
6.46k
    }
533
6.46k
    if (NULL != _thumbnail) {
534
0
        bit_array_clear(_thumbnail, _nbucket);
535
0
    }
536
6.46k
}
Unexecuted instantiation: butil::FlatMap<brpc::NSKey, brpc::NamingServiceThread*, brpc::NSKeyHasher, butil::DefaultEqualTo<brpc::NSKey>, false, butil::PtAllocator, false>::clear()
Unexecuted instantiation: butil::FlatMap<unsigned long, unsigned long, butil::DefaultHasher<unsigned long>, butil::DefaultEqualTo<unsigned long>, false, butil::PtAllocator, false>::clear()
Unexecuted instantiation: butil::FlatMap<brpc::ServerId, butil::FlatMapVoid, butil::DefaultHasher<brpc::ServerId>, butil::DefaultEqualTo<brpc::ServerId>, false, butil::PtAllocator, false>::clear()
Unexecuted instantiation: butil::FlatMap<int, brpc::policy::H2StreamContext*, butil::DefaultHasher<int>, butil::DefaultEqualTo<int>, false, butil::PtAllocator, false>::clear()
Unexecuted instantiation: butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool (brpc::policy::RtmpChunkStream::*)(brpc::policy::RtmpMessageHeader const&, brpc::AMFInputStream*, brpc::Socket*), butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>::clear()
Unexecuted instantiation: butil::FlatMap<unsigned int, brpc::policy::RtmpContext::MessageStreamInfo, butil::DefaultHasher<unsigned int>, butil::DefaultEqualTo<unsigned int>, false, butil::PtAllocator, false>::clear()
Unexecuted instantiation: butil::FlatMap<unsigned int, brpc::policy::RtmpTransactionHandler*, butil::DefaultHasher<unsigned int>, butil::DefaultEqualTo<unsigned int>, false, butil::PtAllocator, false>::clear()
Unexecuted instantiation: butil::FlatMap<unsigned long, int, butil::DefaultHasher<unsigned long>, butil::DefaultEqualTo<unsigned long>, false, butil::PtAllocator, false>::clear()
Unexecuted instantiation: butil::FlatMap<brpc::SocketMapKey, brpc::SocketMap::SingleConnection, brpc::SocketMapKeyHasher, butil::DefaultEqualTo<brpc::SocketMapKey>, false, butil::PtAllocator, false>::clear()
Unexecuted instantiation: butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, mcpack2pb::MessageHandler, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>::clear()
butil::FlatMap<brpc::HPacker::Header, unsigned long, brpc::HeaderHasher, brpc::HeaderEqualTo, false, butil::PtAllocator, false>::clear()
Line
Count
Source
512
2.05k
void FlatMap<_K, _T, _H, _E, _S, _A, _M>::clear() {
513
2.05k
    if (0 == _size) {
514
2.05k
        return;
515
2.05k
    }
516
0
    _size = 0;
517
0
    if (NULL != _buckets) {
518
0
        for (size_t i = 0; i < _nbucket; ++i) {
519
0
            Bucket& first_node = _buckets[i];
520
0
            if (first_node.is_valid()) {
521
0
                first_node.destroy_element();
522
0
                Bucket* p = first_node.next;
523
0
                while (p) {
524
0
                    Bucket* next_p = p->next;
525
0
                    p->destroy_element();
526
0
                    _pool.back(p);
527
0
                    p = next_p;
528
0
                }
529
0
                first_node.set_invalid();
530
0
            }
531
0
        }
532
0
    }
533
0
    if (NULL != _thumbnail) {
534
0
        bit_array_clear(_thumbnail, _nbucket);
535
0
    }
536
0
}
butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false>::clear()
Line
Count
Source
512
2.05k
void FlatMap<_K, _T, _H, _E, _S, _A, _M>::clear() {
513
2.05k
    if (0 == _size) {
514
2.05k
        return;
515
2.05k
    }
516
0
    _size = 0;
517
0
    if (NULL != _buckets) {
518
0
        for (size_t i = 0; i < _nbucket; ++i) {
519
0
            Bucket& first_node = _buckets[i];
520
0
            if (first_node.is_valid()) {
521
0
                first_node.destroy_element();
522
0
                Bucket* p = first_node.next;
523
0
                while (p) {
524
0
                    Bucket* next_p = p->next;
525
0
                    p->destroy_element();
526
0
                    _pool.back(p);
527
0
                    p = next_p;
528
0
                }
529
0
                first_node.set_invalid();
530
0
            }
531
0
        }
532
0
    }
533
0
    if (NULL != _thumbnail) {
534
0
        bit_array_clear(_thumbnail, _nbucket);
535
0
    }
536
0
}
537
538
template <typename _K, typename _T, typename _H, typename _E,
539
          bool _S, typename _A, bool _M>
540
void FlatMap<_K, _T, _H, _E, _S, _A, _M>::clear_and_reset_pool() {
541
    clear();
542
    _pool.reset();
543
}
544
545
template <typename _K, typename _T, typename _H, typename _E,
546
          bool _S, typename _A, bool _M>
547
template <typename K2>
548
43.1k
_T* FlatMap<_K, _T, _H, _E, _S, _A, _M>::seek(const K2& key) const {
549
43.1k
    Bucket& first_node = _buckets[flatmap_mod(_hashfn(key), _nbucket)];
550
43.1k
    if (!first_node.is_valid()) {
551
23.6k
        return NULL;
552
23.6k
    }
553
19.5k
    if (_eql(first_node.element().first_ref(), key)) {
554
8.98k
        return &first_node.element().second_ref();
555
8.98k
    }
556
10.5k
    Bucket *p = first_node.next;
557
18.6k
    while (p) {
558
9.03k
        if (_eql(p->element().first_ref(), key)) {
559
960
            return &p->element().second_ref();
560
960
        }
561
8.07k
        p = p->next;
562
8.07k
    }
563
9.60k
    return NULL;
564
10.5k
}
Unexecuted instantiation: bthread::SampledContention** butil::FlatMap<bthread::SampledContention*, bthread::SampledContention*, bthread::ContentionHash, bthread::ContentionEqual, false, butil::PtAllocator, false>::seek<bthread::SampledContention*>(bthread::SampledContention* const&) const
Unexecuted instantiation: std::shared_ptr<butil::IOBufSample>* butil::FlatMap<butil::IOBufSample*, std::shared_ptr<butil::IOBufSample>, butil::detail::IOBufSampleHash<butil::IOBufSample*>, butil::detail::IOBufSampleEqual<butil::IOBufSample*>, false, butil::PtAllocator, false>::seek<butil::IOBufSample*>(butil::IOBufSample* const&) const
Unexecuted instantiation: butil::IOBufProfiler::BlockInfo* butil::FlatMap<butil::IOBuf::Block*, butil::IOBufProfiler::BlockInfo, butil::DefaultHasher<butil::IOBuf::Block*>, butil::DefaultEqualTo<butil::IOBuf::Block*>, false, butil::PtAllocator, false>::seek<butil::IOBuf::Block*>(butil::IOBuf::Block* const&) const
bvar::VarEntry* butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bvar::VarEntry, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>::seek<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const
Line
Count
Source
548
164
_T* FlatMap<_K, _T, _H, _E, _S, _A, _M>::seek(const K2& key) const {
549
164
    Bucket& first_node = _buckets[flatmap_mod(_hashfn(key), _nbucket)];
550
164
    if (!first_node.is_valid()) {
551
164
        return NULL;
552
164
    }
553
0
    if (_eql(first_node.element().first_ref(), key)) {
554
0
        return &first_node.element().second_ref();
555
0
    }
556
0
    Bucket *p = first_node.next;
557
0
    while (p) {
558
0
        if (_eql(p->element().first_ref(), key)) {
559
0
            return &p->element().second_ref();
560
0
        }
561
0
        p = p->next;
562
0
    }
563
0
    return NULL;
564
0
}
Unexecuted instantiation: bvar::MVarEntry* butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bvar::MVarEntry, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>::seek<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const
Unexecuted instantiation: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >* butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>::seek<char const*>(char const* const&) const
Unexecuted instantiation: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >* butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>::seek<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const
Unexecuted instantiation: brpc::ConcurrencyLimiter const** butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::ConcurrencyLimiter const*, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false>::seek<char const*>(char const* const&) const
Unexecuted instantiation: brpc::Server::ServiceProperty* butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::Server::ServiceProperty, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>::seek<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const
Unexecuted instantiation: brpc::Server::MethodProperty* butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::Server::MethodProperty, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>::seek<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const
Unexecuted instantiation: brpc::Server::ServiceProperty* butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::Server::ServiceProperty, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>::seek<butil::BasicStringPiece<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >(butil::BasicStringPiece<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > const&) const
Unexecuted instantiation: brpc::Server::MethodProperty* butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::Server::MethodProperty, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>::seek<butil::BasicStringPiece<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >(butil::BasicStringPiece<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > const&) const
Unexecuted instantiation: brpc::Server::SSLContext* butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::Server::SSLContext, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>::seek<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const
Unexecuted instantiation: std::shared_ptr<brpc::SocketSSLContext>* butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::shared_ptr<brpc::SocketSSLContext>, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false>::seek<char const*>(char const* const&) const
Unexecuted instantiation: brpc::DisplayType* butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::DisplayType, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false>::seek<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const
Unexecuted instantiation: brpc::NamingServiceThread** butil::FlatMap<brpc::NSKey, brpc::NamingServiceThread*, brpc::NSKeyHasher, butil::DefaultEqualTo<brpc::NSKey>, false, butil::PtAllocator, false>::seek<brpc::NSKey>(brpc::NSKey const&) const
Unexecuted instantiation: brpc::NamingService const** butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::NamingService const*, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false>::seek<char const*>(char const* const&) const
Unexecuted instantiation: brpc::NamingService const** butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::NamingService const*, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false>::seek<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const
Unexecuted instantiation: brpc::LoadBalancer const** butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::LoadBalancer const*, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false>::seek<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const
Unexecuted instantiation: brpc::ConcurrencyLimiter const** butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::ConcurrencyLimiter const*, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false>::seek<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const
std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >* butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, true>::seek<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const
Line
Count
Source
548
43.0k
_T* FlatMap<_K, _T, _H, _E, _S, _A, _M>::seek(const K2& key) const {
549
43.0k
    Bucket& first_node = _buckets[flatmap_mod(_hashfn(key), _nbucket)];
550
43.0k
    if (!first_node.is_valid()) {
551
23.4k
        return NULL;
552
23.4k
    }
553
19.5k
    if (_eql(first_node.element().first_ref(), key)) {
554
8.98k
        return &first_node.element().second_ref();
555
8.98k
    }
556
10.5k
    Bucket *p = first_node.next;
557
18.6k
    while (p) {
558
9.03k
        if (_eql(p->element().first_ref(), key)) {
559
960
            return &p->element().second_ref();
560
960
        }
561
8.07k
        p = p->next;
562
8.07k
    }
563
9.60k
    return NULL;
564
10.5k
}
Unexecuted instantiation: brpc::LoadBalancer const** butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::LoadBalancer const*, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false>::seek<char const*>(char const* const&) const
Unexecuted instantiation: butil::FlatMapVoid* butil::FlatMap<brpc::ServerId, butil::FlatMapVoid, butil::DefaultHasher<brpc::ServerId>, butil::DefaultEqualTo<brpc::ServerId>, false, butil::PtAllocator, false>::seek<brpc::ServerId>(brpc::ServerId const&) const
Unexecuted instantiation: brpc::policy::H2StreamContext** butil::FlatMap<int, brpc::policy::H2StreamContext*, butil::DefaultHasher<int>, butil::DefaultEqualTo<int>, false, butil::PtAllocator, false>::seek<int>(int const&) const
Unexecuted instantiation: unsigned long* butil::FlatMap<unsigned long, unsigned long, butil::DefaultHasher<unsigned long>, butil::DefaultEqualTo<unsigned long>, false, butil::PtAllocator, false>::seek<unsigned long>(unsigned long const&) const
Unexecuted instantiation: brpc::policy::RtmpContext::MessageStreamInfo* butil::FlatMap<unsigned int, brpc::policy::RtmpContext::MessageStreamInfo, butil::DefaultHasher<unsigned int>, butil::DefaultEqualTo<unsigned int>, false, butil::PtAllocator, false>::seek<unsigned int>(unsigned int const&) const
Unexecuted instantiation: brpc::policy::RtmpTransactionHandler** butil::FlatMap<unsigned int, brpc::policy::RtmpTransactionHandler*, butil::DefaultHasher<unsigned int>, butil::DefaultEqualTo<unsigned int>, false, butil::PtAllocator, false>::seek<unsigned int>(unsigned int const&) const
Unexecuted instantiation: bool (brpc::policy::RtmpChunkStream::**butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool (brpc::policy::RtmpChunkStream::*)(brpc::policy::RtmpMessageHeader const&, brpc::AMFInputStream*, brpc::Socket*), butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>::seek<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const)(brpc::policy::RtmpMessageHeader const&, brpc::AMFInputStream*, brpc::Socket*)
Unexecuted instantiation: int* butil::FlatMap<unsigned long, int, butil::DefaultHasher<unsigned long>, butil::DefaultEqualTo<unsigned long>, false, butil::PtAllocator, false>::seek<unsigned long>(unsigned long const&) const
Unexecuted instantiation: brpc::SocketMap::SingleConnection* butil::FlatMap<brpc::SocketMapKey, brpc::SocketMap::SingleConnection, brpc::SocketMapKeyHasher, butil::DefaultEqualTo<brpc::SocketMapKey>, false, butil::PtAllocator, false>::seek<brpc::SocketMapKey>(brpc::SocketMapKey const&) const
Unexecuted instantiation: mcpack2pb::MessageHandler* butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, mcpack2pb::MessageHandler, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>::seek<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const
Unexecuted instantiation: unsigned long* butil::FlatMap<brpc::HPacker::Header, unsigned long, brpc::HeaderHasher, brpc::HeaderEqualTo, false, butil::PtAllocator, false>::seek<brpc::HPacker::Header>(brpc::HPacker::Header const&) const
Unexecuted instantiation: unsigned long* butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false>::seek<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const
Unexecuted instantiation: unsigned long* butil::FlatMap<brpc::HPacker::Header, unsigned long, brpc::HeaderHasher, brpc::HeaderEqualTo, false, butil::PtAllocator, false>::seek<brpc::HeaderAndHashCode>(brpc::HeaderAndHashCode const&) const
565
566
template <typename _K, typename _T, typename _H, typename _E,
567
          bool _S, typename _A, bool _M>
568
template <typename K2> std::vector<_T*>
569
FlatMap<_K, _T, _H, _E, _S, _A, _M>::seek_all(const K2& key) const {
570
    std::vector<_T*> v;
571
    Bucket& first_node = _buckets[flatmap_mod(_hashfn(key), _nbucket)];
572
    if (!first_node.is_valid()) {
573
        return v;
574
    }
575
    if (_eql(first_node.element().first_ref(), key)) {
576
        v.push_back(&first_node.element().second_ref());
577
    }
578
    Bucket *p = first_node.next;
579
    while (p) {
580
        if (_eql(p->element().first_ref(), key)) {
581
            v.push_back(&p->element().second_ref());
582
        }
583
        p = p->next;
584
    }
585
    return v;
586
}
587
588
template <typename _K, typename _T, typename _H, typename _E,
589
          bool _S, typename _A, bool _M>
590
template<bool Multi>
591
typename std::enable_if<!Multi, _T&>::type
592
239
FlatMap<_K, _T, _H, _E, _S, _A, _M>::operator[](const key_type& key) {
593
239
    const size_t index = flatmap_mod(_hashfn(key), _nbucket);
594
239
    Bucket& first_node = _buckets[index];
595
    // LOG(INFO) << "index=" << index;
596
239
    if (!first_node.is_valid()) {
597
219
        ++_size;
598
219
        if (_S) {
599
0
            bit_array_set(_thumbnail, index);
600
0
        }
601
219
        new (&first_node) Bucket(key);
602
219
        return first_node.element().second_ref();
603
219
    }
604
20
    Bucket *p = &first_node;
605
24
    while (true) {
606
24
        if (_eql(p->element().first_ref(), key)) {
607
9
            return p->element().second_ref();
608
9
        }
609
15
        if (NULL == p->next) {
610
11
            if (is_too_crowded(_size) && resize(_nbucket + 1)) {
611
0
                return operator[](key);
612
0
            }
613
            // Fail to resize is OK.
614
11
            ++_size;
615
11
            Bucket* newp = new (_pool.get()) Bucket(key);
616
11
            p->next = newp;
617
11
            return newp->element().second_ref();
618
11
        }
619
4
        p = p->next;
620
4
    }
621
20
}
Unexecuted instantiation: std::enable_if<!(false), bthread::SampledContention*&>::type butil::FlatMap<bthread::SampledContention*, bthread::SampledContention*, bthread::ContentionHash, bthread::ContentionEqual, false, butil::PtAllocator, false>::operator[]<false>(bthread::SampledContention* const&)
Unexecuted instantiation: std::enable_if<!(false), std::shared_ptr<butil::IOBufSample>&>::type butil::FlatMap<butil::IOBufSample*, std::shared_ptr<butil::IOBufSample>, butil::detail::IOBufSampleHash<butil::IOBufSample*>, butil::detail::IOBufSampleEqual<butil::IOBufSample*>, false, butil::PtAllocator, false>::operator[]<false>(butil::IOBufSample* const&)
Unexecuted instantiation: std::enable_if<!(false), long&>::type butil::FlatMap<std::shared_ptr<butil::IOBufSample>, long, butil::detail::IOBufSampleHash<std::shared_ptr<butil::IOBufSample> >, butil::detail::IOBufSampleEqual<std::shared_ptr<butil::IOBufSample> >, false, butil::PtAllocator, false>::operator[]<false>(std::shared_ptr<butil::IOBufSample> const&)
Unexecuted instantiation: std::enable_if<!(false), butil::IOBufProfiler::BlockInfo&>::type butil::FlatMap<butil::IOBuf::Block*, butil::IOBufProfiler::BlockInfo, butil::DefaultHasher<butil::IOBuf::Block*>, butil::DefaultEqualTo<butil::IOBuf::Block*>, false, butil::PtAllocator, false>::operator[]<false>(butil::IOBuf::Block* const&)
std::enable_if<!(false), bvar::VarEntry&>::type butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bvar::VarEntry, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>::operator[]<false>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)
Line
Count
Source
592
164
FlatMap<_K, _T, _H, _E, _S, _A, _M>::operator[](const key_type& key) {
593
164
    const size_t index = flatmap_mod(_hashfn(key), _nbucket);
594
164
    Bucket& first_node = _buckets[index];
595
    // LOG(INFO) << "index=" << index;
596
164
    if (!first_node.is_valid()) {
597
164
        ++_size;
598
164
        if (_S) {
599
0
            bit_array_set(_thumbnail, index);
600
0
        }
601
164
        new (&first_node) Bucket(key);
602
164
        return first_node.element().second_ref();
603
164
    }
604
0
    Bucket *p = &first_node;
605
0
    while (true) {
606
0
        if (_eql(p->element().first_ref(), key)) {
607
0
            return p->element().second_ref();
608
0
        }
609
0
        if (NULL == p->next) {
610
0
            if (is_too_crowded(_size) && resize(_nbucket + 1)) {
611
0
                return operator[](key);
612
0
            }
613
            // Fail to resize is OK.
614
0
            ++_size;
615
0
            Bucket* newp = new (_pool.get()) Bucket(key);
616
0
            p->next = newp;
617
0
            return newp->element().second_ref();
618
0
        }
619
0
        p = p->next;
620
0
    }
621
0
}
Unexecuted instantiation: std::enable_if<!(false), bthread::TaskGroup*&>::type butil::FlatMap<int, bthread::TaskGroup*, butil::DefaultHasher<int>, butil::DefaultEqualTo<int>, false, butil::PtAllocator, false>::operator[]<false>(int const&)
Unexecuted instantiation: std::enable_if<!(false), bvar::MVarEntry&>::type butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bvar::MVarEntry, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>::operator[]<false>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)
Unexecuted instantiation: std::enable_if<!(false), std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>::type butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>::operator[]<false>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)
Unexecuted instantiation: std::enable_if<!(false), brpc::Server::MethodProperty&>::type butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::Server::MethodProperty, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>::operator[]<false>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)
Unexecuted instantiation: std::enable_if<!(false), brpc::Server::ServiceProperty&>::type butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::Server::ServiceProperty, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>::operator[]<false>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)
Unexecuted instantiation: std::enable_if<!(false), brpc::Server::SSLContext&>::type butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::Server::SSLContext, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>::operator[]<false>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)
Unexecuted instantiation: std::enable_if<!(false), std::shared_ptr<brpc::SocketSSLContext>&>::type butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::shared_ptr<brpc::SocketSSLContext>, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false>::operator[]<false>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)
Unexecuted instantiation: std::enable_if<!(false), brpc::ConnectStatistics&>::type butil::FlatMap<unsigned long, brpc::ConnectStatistics, butil::DefaultHasher<unsigned long>, butil::DefaultEqualTo<unsigned long>, false, butil::PtAllocator, false>::operator[]<false>(unsigned long const&)
Unexecuted instantiation: std::enable_if<!(false), brpc::DisplayType&>::type butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::DisplayType, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false>::operator[]<false>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)
Unexecuted instantiation: std::enable_if<!(false), brpc::NamingServiceThread*&>::type butil::FlatMap<brpc::NSKey, brpc::NamingServiceThread*, brpc::NSKeyHasher, butil::DefaultEqualTo<brpc::NSKey>, false, butil::PtAllocator, false>::operator[]<false>(brpc::NSKey const&)
Unexecuted instantiation: std::enable_if<!(false), brpc::NamingService const*&>::type butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::NamingService const*, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false>::operator[]<false>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)
Unexecuted instantiation: std::enable_if<!(false), brpc::LoadBalancer const*&>::type butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::LoadBalancer const*, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false>::operator[]<false>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)
Unexecuted instantiation: std::enable_if<!(false), brpc::ConcurrencyLimiter const*&>::type butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::ConcurrencyLimiter const*, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false>::operator[]<false>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)
Unexecuted instantiation: std::enable_if<!(false), butil::FlatMapVoid&>::type butil::FlatMap<brpc::ServerId, butil::FlatMapVoid, butil::DefaultHasher<brpc::ServerId>, butil::DefaultEqualTo<brpc::ServerId>, false, butil::PtAllocator, false>::operator[]<false>(brpc::ServerId const&)
Unexecuted instantiation: std::enable_if<!(false), brpc::policy::H2StreamContext*&>::type butil::FlatMap<int, brpc::policy::H2StreamContext*, butil::DefaultHasher<int>, butil::DefaultEqualTo<int>, false, butil::PtAllocator, false>::operator[]<false>(int const&)
Unexecuted instantiation: std::enable_if<!(false), unsigned long&>::type butil::FlatMap<unsigned long, unsigned long, butil::DefaultHasher<unsigned long>, butil::DefaultEqualTo<unsigned long>, false, butil::PtAllocator, false>::operator[]<false>(unsigned long const&)
Unexecuted instantiation: std::enable_if<!(false), bool (brpc::policy::RtmpChunkStream::*&)(brpc::policy::RtmpMessageHeader const&, brpc::AMFInputStream*, brpc::Socket*)>::type butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool (brpc::policy::RtmpChunkStream::*)(brpc::policy::RtmpMessageHeader const&, brpc::AMFInputStream*, brpc::Socket*), butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>::operator[]<false>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)
Unexecuted instantiation: std::enable_if<!(false), brpc::policy::RtmpContext::MessageStreamInfo&>::type butil::FlatMap<unsigned int, brpc::policy::RtmpContext::MessageStreamInfo, butil::DefaultHasher<unsigned int>, butil::DefaultEqualTo<unsigned int>, false, butil::PtAllocator, false>::operator[]<false>(unsigned int const&)
Unexecuted instantiation: std::enable_if<!(false), brpc::policy::RtmpTransactionHandler*&>::type butil::FlatMap<unsigned int, brpc::policy::RtmpTransactionHandler*, butil::DefaultHasher<unsigned int>, butil::DefaultEqualTo<unsigned int>, false, butil::PtAllocator, false>::operator[]<false>(unsigned int const&)
Unexecuted instantiation: std::enable_if<!(false), int&>::type butil::FlatMap<unsigned long, int, butil::DefaultHasher<unsigned long>, butil::DefaultEqualTo<unsigned long>, false, butil::PtAllocator, false>::operator[]<false>(unsigned long const&)
Unexecuted instantiation: std::enable_if<!(false), brpc::SocketMap::SingleConnection&>::type butil::FlatMap<brpc::SocketMapKey, brpc::SocketMap::SingleConnection, brpc::SocketMapKeyHasher, butil::DefaultEqualTo<brpc::SocketMapKey>, false, butil::PtAllocator, false>::operator[]<false>(brpc::SocketMapKey const&)
Unexecuted instantiation: std::enable_if<!(false), mcpack2pb::MessageHandler&>::type butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, mcpack2pb::MessageHandler, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>::operator[]<false>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)
std::enable_if<!(false), unsigned long&>::type butil::FlatMap<brpc::HPacker::Header, unsigned long, brpc::HeaderHasher, brpc::HeaderEqualTo, false, butil::PtAllocator, false>::operator[]<false>(brpc::HPacker::Header const&)
Line
Count
Source
592
14
FlatMap<_K, _T, _H, _E, _S, _A, _M>::operator[](const key_type& key) {
593
14
    const size_t index = flatmap_mod(_hashfn(key), _nbucket);
594
14
    Bucket& first_node = _buckets[index];
595
    // LOG(INFO) << "index=" << index;
596
14
    if (!first_node.is_valid()) {
597
13
        ++_size;
598
13
        if (_S) {
599
0
            bit_array_set(_thumbnail, index);
600
0
        }
601
13
        new (&first_node) Bucket(key);
602
13
        return first_node.element().second_ref();
603
13
    }
604
1
    Bucket *p = &first_node;
605
1
    while (true) {
606
1
        if (_eql(p->element().first_ref(), key)) {
607
0
            return p->element().second_ref();
608
0
        }
609
1
        if (NULL == p->next) {
610
1
            if (is_too_crowded(_size) && resize(_nbucket + 1)) {
611
0
                return operator[](key);
612
0
            }
613
            // Fail to resize is OK.
614
1
            ++_size;
615
1
            Bucket* newp = new (_pool.get()) Bucket(key);
616
1
            p->next = newp;
617
1
            return newp->element().second_ref();
618
1
        }
619
0
        p = p->next;
620
0
    }
621
1
}
std::enable_if<!(false), unsigned long&>::type butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false>::operator[]<false>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)
Line
Count
Source
592
61
FlatMap<_K, _T, _H, _E, _S, _A, _M>::operator[](const key_type& key) {
593
61
    const size_t index = flatmap_mod(_hashfn(key), _nbucket);
594
61
    Bucket& first_node = _buckets[index];
595
    // LOG(INFO) << "index=" << index;
596
61
    if (!first_node.is_valid()) {
597
42
        ++_size;
598
42
        if (_S) {
599
0
            bit_array_set(_thumbnail, index);
600
0
        }
601
42
        new (&first_node) Bucket(key);
602
42
        return first_node.element().second_ref();
603
42
    }
604
19
    Bucket *p = &first_node;
605
23
    while (true) {
606
23
        if (_eql(p->element().first_ref(), key)) {
607
9
            return p->element().second_ref();
608
9
        }
609
14
        if (NULL == p->next) {
610
10
            if (is_too_crowded(_size) && resize(_nbucket + 1)) {
611
0
                return operator[](key);
612
0
            }
613
            // Fail to resize is OK.
614
10
            ++_size;
615
10
            Bucket* newp = new (_pool.get()) Bucket(key);
616
10
            p->next = newp;
617
10
            return newp->element().second_ref();
618
10
        }
619
4
        p = p->next;
620
4
    }
621
19
}
622
623
template <typename _K, typename _T, typename _H, typename _E,
624
          bool _S, typename _A, bool _M>
625
template<bool Multi>
626
typename std::enable_if<Multi, _T&>::type
627
26.3k
FlatMap<_K, _T, _H, _E, _S, _A, _M>::operator[](const key_type& key) {
628
26.3k
    const size_t index = flatmap_mod(_hashfn(key), _nbucket);
629
26.3k
    Bucket& first_node = _buckets[index];
630
26.3k
    if (!first_node.is_valid()) {
631
15.1k
        ++_size;
632
15.1k
        if (_S) {
633
0
            bit_array_set(_thumbnail, index);
634
0
        }
635
15.1k
        new (&first_node) Bucket(key);
636
15.1k
        return first_node.element().second_ref();
637
15.1k
    }
638
11.2k
    if (is_too_crowded(_size)) {
639
2.39k
        Bucket *p = &first_node;
640
2.39k
        bool need_scale = false;
641
35.3k
        while (NULL != p) {
642
            // Increase the capacity of bucket when
643
            // hash collision occur and map is crowded.
644
33.9k
            if (!_eql(p->element().first_ref(), key)) {
645
972
                need_scale = true;
646
972
                break;
647
972
            }
648
32.9k
            p = p->next;
649
32.9k
        }
650
2.39k
        if (need_scale && resize(_nbucket + 1)) {
651
972
            return operator[](key);
652
972
        }
653
        // Failed resize is OK.
654
2.39k
    }
655
10.2k
    ++_size;
656
10.2k
    Bucket* newp = new (_pool.get()) Bucket(key);
657
10.2k
    newp->next = first_node.next;
658
10.2k
    first_node.next = newp;
659
10.2k
    return newp->element().second_ref();
660
11.2k
}
661
662
template <typename _K, typename _T, typename _H, typename _E,
663
          bool _S, typename _A, bool _M>
664
void FlatMap<_K, _T, _H, _E, _S, _A, _M>::save_iterator(
665
0
    const const_iterator& it, PositionHint* hint) const {
666
0
    hint->nbucket = _nbucket;
667
0
    hint->offset = it._entry - _buckets;
668
0
    if (it != end()) {
669
0
        hint->at_entry = (it._entry == it._node);
670
0
        hint->key = it->first;
671
0
    } else {
672
0
        hint->at_entry = false;
673
0
        hint->key = key_type();
674
0
    }
675
0
}
Unexecuted instantiation: butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bvar::VarEntry, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>::save_iterator(butil::FlatMapIterator<butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bvar::VarEntry, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, bvar::VarEntry> const> const&, butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bvar::VarEntry, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>::PositionHint*) const
Unexecuted instantiation: butil::FlatMap<unsigned long, brpc::ConnectStatistics, butil::DefaultHasher<unsigned long>, butil::DefaultEqualTo<unsigned long>, false, butil::PtAllocator, false>::save_iterator(butil::FlatMapIterator<butil::FlatMap<unsigned long, brpc::ConnectStatistics, butil::DefaultHasher<unsigned long>, butil::DefaultEqualTo<unsigned long>, false, butil::PtAllocator, false>, std::pair<unsigned long const, brpc::ConnectStatistics> const> const&, butil::FlatMap<unsigned long, brpc::ConnectStatistics, butil::DefaultHasher<unsigned long>, butil::DefaultEqualTo<unsigned long>, false, butil::PtAllocator, false>::PositionHint*) const
676
677
template <typename _K, typename _T, typename _H, typename _E,
678
          bool _S, typename _A, bool _M>
679
typename FlatMap<_K, _T, _H, _E, _S, _A, _M>::const_iterator
680
FlatMap<_K, _T, _H, _E, _S, _A, _M>::restore_iterator(
681
0
    const PositionHint& hint) const {
682
0
    if (hint.nbucket != _nbucket)  // resized
683
0
        return begin(); // restart
684
685
0
    if (hint.offset >= _nbucket) // invalid hint, stop the iteration
686
0
        return end();
687
688
0
    Bucket& first_node = _buckets[hint.offset];
689
0
    if (hint.at_entry) {
690
0
        return const_iterator(this, hint.offset);
691
0
    }
692
0
    if (!first_node.is_valid()) {
693
        // All elements hashed to the entry were removed, try next entry.
694
0
        return const_iterator(this, hint.offset + 1);
695
0
    }
696
0
    Bucket *p = &first_node;
697
0
    do {
698
0
        if (_eql(p->element().first_ref(), hint.key)) {
699
0
            const_iterator it;
700
0
            it._node = p;
701
0
            it._entry = &first_node;
702
0
            return it;
703
0
        }
704
0
        p = p->next;
705
0
    } while (p);
706
    // Last element that we iterated (and saved in PositionHint) was removed,
707
    // don't know which element to start, just restart at the beginning of
708
    // the entry. Some elements in the entry may be revisited, which
709
    // shouldn't be often.
710
0
    return const_iterator(this, hint.offset);
711
0
}
Unexecuted instantiation: butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bvar::VarEntry, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>::restore_iterator(butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bvar::VarEntry, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>::PositionHint const&) const
Unexecuted instantiation: butil::FlatMap<unsigned long, brpc::ConnectStatistics, butil::DefaultHasher<unsigned long>, butil::DefaultEqualTo<unsigned long>, false, butil::PtAllocator, false>::restore_iterator(butil::FlatMap<unsigned long, brpc::ConnectStatistics, butil::DefaultHasher<unsigned long>, butil::DefaultEqualTo<unsigned long>, false, butil::PtAllocator, false>::PositionHint const&) const
712
713
template <typename _K, typename _T, typename _H, typename _E,
714
          bool _S, typename _A, bool _M>
715
optional<typename FlatMap<_K, _T, _H, _E, _S, _A, _M>::NewBucketsInfo>
716
FlatMap<_K, _T, _H, _E, _S, _A, _M>::new_buckets_and_thumbnail(size_t size,
717
2.98k
                                                               size_t new_nbucket) {
718
2.98k
    do {
719
2.98k
        new_nbucket = flatmap_round(new_nbucket);
720
2.98k
    } while (is_too_crowded(size, new_nbucket, _load_factor));
721
2.98k
    if (_nbucket == new_nbucket) {
722
0
        return nullopt;
723
0
    }
724
    // Note: need an extra bucket to let iterator know where buckets end.
725
2.98k
    auto buckets = (Bucket*)get_allocator().Alloc(
726
2.98k
        sizeof(Bucket) * (new_nbucket + 1/*note*/));
727
2.98k
    auto guard = MakeScopeGuard([buckets, this]() {
728
0
        get_allocator().Free(buckets);
729
0
    });
Unexecuted instantiation: butil::FlatMap<bthread::SampledContention*, bthread::SampledContention*, bthread::ContentionHash, bthread::ContentionEqual, false, butil::PtAllocator, false>::new_buckets_and_thumbnail(unsigned long, unsigned long)::{lambda()#1}::operator()() const
Unexecuted instantiation: butil::FlatMap<butil::IOBufSample*, std::shared_ptr<butil::IOBufSample>, butil::detail::IOBufSampleHash<butil::IOBufSample*>, butil::detail::IOBufSampleEqual<butil::IOBufSample*>, false, butil::PtAllocator, false>::new_buckets_and_thumbnail(unsigned long, unsigned long)::{lambda()#1}::operator()() const
Unexecuted instantiation: butil::FlatMap<butil::IOBuf::Block*, butil::IOBufProfiler::BlockInfo, butil::DefaultHasher<butil::IOBuf::Block*>, butil::DefaultEqualTo<butil::IOBuf::Block*>, false, butil::PtAllocator, false>::new_buckets_and_thumbnail(unsigned long, unsigned long)::{lambda()#1}::operator()() const
Unexecuted instantiation: butil::FlatMap<std::shared_ptr<butil::IOBufSample>, long, butil::detail::IOBufSampleHash<std::shared_ptr<butil::IOBufSample> >, butil::detail::IOBufSampleEqual<std::shared_ptr<butil::IOBufSample> >, false, butil::PtAllocator, false>::new_buckets_and_thumbnail(unsigned long, unsigned long)::{lambda()#1}::operator()() const
Unexecuted instantiation: butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bvar::VarEntry, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>::new_buckets_and_thumbnail(unsigned long, unsigned long)::{lambda()#1}::operator()() const
Unexecuted instantiation: butil::FlatMap<int, bthread::TaskGroup*, butil::DefaultHasher<int>, butil::DefaultEqualTo<int>, false, butil::PtAllocator, false>::new_buckets_and_thumbnail(unsigned long, unsigned long)::{lambda()#1}::operator()() const
Unexecuted instantiation: butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bvar::MVarEntry, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>::new_buckets_and_thumbnail(unsigned long, unsigned long)::{lambda()#1}::operator()() const
Unexecuted instantiation: butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::Server::MethodProperty, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>::new_buckets_and_thumbnail(unsigned long, unsigned long)::{lambda()#1}::operator()() const
Unexecuted instantiation: butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::Server::ServiceProperty, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>::new_buckets_and_thumbnail(unsigned long, unsigned long)::{lambda()#1}::operator()() const
Unexecuted instantiation: butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::Server::SSLContext, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>::new_buckets_and_thumbnail(unsigned long, unsigned long)::{lambda()#1}::operator()() const
Unexecuted instantiation: butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::shared_ptr<brpc::SocketSSLContext>, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false>::new_buckets_and_thumbnail(unsigned long, unsigned long)::{lambda()#1}::operator()() const
Unexecuted instantiation: butil::FlatMap<unsigned long, brpc::ConnectStatistics, butil::DefaultHasher<unsigned long>, butil::DefaultEqualTo<unsigned long>, false, butil::PtAllocator, false>::new_buckets_and_thumbnail(unsigned long, unsigned long)::{lambda()#1}::operator()() const
Unexecuted instantiation: butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::DisplayType, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false>::new_buckets_and_thumbnail(unsigned long, unsigned long)::{lambda()#1}::operator()() const
Unexecuted instantiation: butil::FlatMap<brpc::NSKey, brpc::NamingServiceThread*, brpc::NSKeyHasher, butil::DefaultEqualTo<brpc::NSKey>, false, butil::PtAllocator, false>::new_buckets_and_thumbnail(unsigned long, unsigned long)::{lambda()#1}::operator()() const
Unexecuted instantiation: butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::NamingService const*, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false>::new_buckets_and_thumbnail(unsigned long, unsigned long)::{lambda()#1}::operator()() const
Unexecuted instantiation: butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::LoadBalancer const*, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false>::new_buckets_and_thumbnail(unsigned long, unsigned long)::{lambda()#1}::operator()() const
Unexecuted instantiation: butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::ConcurrencyLimiter const*, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false>::new_buckets_and_thumbnail(unsigned long, unsigned long)::{lambda()#1}::operator()() const
Unexecuted instantiation: butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, true>::new_buckets_and_thumbnail(unsigned long, unsigned long)::{lambda()#1}::operator()() const
Unexecuted instantiation: butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>::new_buckets_and_thumbnail(unsigned long, unsigned long)::{lambda()#1}::operator()() const
Unexecuted instantiation: butil::FlatMap<brpc::ServerId, butil::FlatMapVoid, butil::DefaultHasher<brpc::ServerId>, butil::DefaultEqualTo<brpc::ServerId>, false, butil::PtAllocator, false>::new_buckets_and_thumbnail(unsigned long, unsigned long)::{lambda()#1}::operator()() const
Unexecuted instantiation: butil::FlatMap<int, brpc::policy::H2StreamContext*, butil::DefaultHasher<int>, butil::DefaultEqualTo<int>, false, butil::PtAllocator, false>::new_buckets_and_thumbnail(unsigned long, unsigned long)::{lambda()#1}::operator()() const
Unexecuted instantiation: butil::FlatMap<unsigned long, unsigned long, butil::DefaultHasher<unsigned long>, butil::DefaultEqualTo<unsigned long>, false, butil::PtAllocator, false>::new_buckets_and_thumbnail(unsigned long, unsigned long)::{lambda()#1}::operator()() const
Unexecuted instantiation: butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool (brpc::policy::RtmpChunkStream::*)(brpc::policy::RtmpMessageHeader const&, brpc::AMFInputStream*, brpc::Socket*), butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>::new_buckets_and_thumbnail(unsigned long, unsigned long)::{lambda()#1}::operator()() const
Unexecuted instantiation: butil::FlatMap<unsigned int, brpc::policy::RtmpContext::MessageStreamInfo, butil::DefaultHasher<unsigned int>, butil::DefaultEqualTo<unsigned int>, false, butil::PtAllocator, false>::new_buckets_and_thumbnail(unsigned long, unsigned long)::{lambda()#1}::operator()() const
Unexecuted instantiation: butil::FlatMap<unsigned int, brpc::policy::RtmpTransactionHandler*, butil::DefaultHasher<unsigned int>, butil::DefaultEqualTo<unsigned int>, false, butil::PtAllocator, false>::new_buckets_and_thumbnail(unsigned long, unsigned long)::{lambda()#1}::operator()() const
Unexecuted instantiation: butil::FlatMap<unsigned long, int, butil::DefaultHasher<unsigned long>, butil::DefaultEqualTo<unsigned long>, false, butil::PtAllocator, false>::new_buckets_and_thumbnail(unsigned long, unsigned long)::{lambda()#1}::operator()() const
Unexecuted instantiation: butil::FlatMap<brpc::SocketMapKey, brpc::SocketMap::SingleConnection, brpc::SocketMapKeyHasher, butil::DefaultEqualTo<brpc::SocketMapKey>, false, butil::PtAllocator, false>::new_buckets_and_thumbnail(unsigned long, unsigned long)::{lambda()#1}::operator()() const
Unexecuted instantiation: butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, mcpack2pb::MessageHandler, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>::new_buckets_and_thumbnail(unsigned long, unsigned long)::{lambda()#1}::operator()() const
Unexecuted instantiation: butil::FlatMap<brpc::HPacker::Header, unsigned long, brpc::HeaderHasher, brpc::HeaderEqualTo, false, butil::PtAllocator, false>::new_buckets_and_thumbnail(unsigned long, unsigned long)::{lambda()#1}::operator()() const
Unexecuted instantiation: butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false>::new_buckets_and_thumbnail(unsigned long, unsigned long)::{lambda()#1}::operator()() const
730
2.98k
    if (NULL == buckets) {
731
0
        LOG(FATAL) << "Fail to new Buckets";
732
0
        return nullopt;
733
0
    }
734
735
2.98k
    uint64_t* thumbnail = NULL;
736
2.98k
    if (_S) {
737
0
        thumbnail = bit_array_malloc(new_nbucket);
738
0
        if (NULL == thumbnail) {
739
0
            LOG(FATAL) << "Fail to new thumbnail";
740
0
            return nullopt;
741
0
        }
742
0
    }
743
744
2.98k
    guard.dismiss();
745
2.98k
    init_buckets_and_thumbnail(buckets, thumbnail, new_nbucket);
746
2.98k
    return NewBucketsInfo{buckets, thumbnail, new_nbucket};
747
2.98k
}
Unexecuted instantiation: butil::FlatMap<bthread::SampledContention*, bthread::SampledContention*, bthread::ContentionHash, bthread::ContentionEqual, false, butil::PtAllocator, false>::new_buckets_and_thumbnail(unsigned long, unsigned long)
Unexecuted instantiation: butil::FlatMap<butil::IOBufSample*, std::shared_ptr<butil::IOBufSample>, butil::detail::IOBufSampleHash<butil::IOBufSample*>, butil::detail::IOBufSampleEqual<butil::IOBufSample*>, false, butil::PtAllocator, false>::new_buckets_and_thumbnail(unsigned long, unsigned long)
Unexecuted instantiation: butil::FlatMap<butil::IOBuf::Block*, butil::IOBufProfiler::BlockInfo, butil::DefaultHasher<butil::IOBuf::Block*>, butil::DefaultEqualTo<butil::IOBuf::Block*>, false, butil::PtAllocator, false>::new_buckets_and_thumbnail(unsigned long, unsigned long)
Unexecuted instantiation: butil::FlatMap<std::shared_ptr<butil::IOBufSample>, long, butil::detail::IOBufSampleHash<std::shared_ptr<butil::IOBufSample> >, butil::detail::IOBufSampleEqual<std::shared_ptr<butil::IOBufSample> >, false, butil::PtAllocator, false>::new_buckets_and_thumbnail(unsigned long, unsigned long)
butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bvar::VarEntry, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>::new_buckets_and_thumbnail(unsigned long, unsigned long)
Line
Count
Source
717
640
                                                               size_t new_nbucket) {
718
640
    do {
719
640
        new_nbucket = flatmap_round(new_nbucket);
720
640
    } while (is_too_crowded(size, new_nbucket, _load_factor));
721
640
    if (_nbucket == new_nbucket) {
722
0
        return nullopt;
723
0
    }
724
    // Note: need an extra bucket to let iterator know where buckets end.
725
640
    auto buckets = (Bucket*)get_allocator().Alloc(
726
640
        sizeof(Bucket) * (new_nbucket + 1/*note*/));
727
640
    auto guard = MakeScopeGuard([buckets, this]() {
728
640
        get_allocator().Free(buckets);
729
640
    });
730
640
    if (NULL == buckets) {
731
0
        LOG(FATAL) << "Fail to new Buckets";
732
0
        return nullopt;
733
0
    }
734
735
640
    uint64_t* thumbnail = NULL;
736
640
    if (_S) {
737
0
        thumbnail = bit_array_malloc(new_nbucket);
738
0
        if (NULL == thumbnail) {
739
0
            LOG(FATAL) << "Fail to new thumbnail";
740
0
            return nullopt;
741
0
        }
742
0
    }
743
744
640
    guard.dismiss();
745
640
    init_buckets_and_thumbnail(buckets, thumbnail, new_nbucket);
746
640
    return NewBucketsInfo{buckets, thumbnail, new_nbucket};
747
640
}
Unexecuted instantiation: butil::FlatMap<int, bthread::TaskGroup*, butil::DefaultHasher<int>, butil::DefaultEqualTo<int>, false, butil::PtAllocator, false>::new_buckets_and_thumbnail(unsigned long, unsigned long)
Unexecuted instantiation: butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bvar::MVarEntry, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>::new_buckets_and_thumbnail(unsigned long, unsigned long)
Unexecuted instantiation: butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>::new_buckets_and_thumbnail(unsigned long, unsigned long)
Unexecuted instantiation: butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::Server::MethodProperty, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>::new_buckets_and_thumbnail(unsigned long, unsigned long)
Unexecuted instantiation: butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::Server::ServiceProperty, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>::new_buckets_and_thumbnail(unsigned long, unsigned long)
Unexecuted instantiation: butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::Server::SSLContext, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>::new_buckets_and_thumbnail(unsigned long, unsigned long)
Unexecuted instantiation: butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::shared_ptr<brpc::SocketSSLContext>, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false>::new_buckets_and_thumbnail(unsigned long, unsigned long)
Unexecuted instantiation: butil::FlatMap<unsigned long, brpc::ConnectStatistics, butil::DefaultHasher<unsigned long>, butil::DefaultEqualTo<unsigned long>, false, butil::PtAllocator, false>::new_buckets_and_thumbnail(unsigned long, unsigned long)
Unexecuted instantiation: butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::DisplayType, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false>::new_buckets_and_thumbnail(unsigned long, unsigned long)
Unexecuted instantiation: butil::FlatMap<brpc::NSKey, brpc::NamingServiceThread*, brpc::NSKeyHasher, butil::DefaultEqualTo<brpc::NSKey>, false, butil::PtAllocator, false>::new_buckets_and_thumbnail(unsigned long, unsigned long)
Unexecuted instantiation: butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::NamingService const*, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false>::new_buckets_and_thumbnail(unsigned long, unsigned long)
Unexecuted instantiation: butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::LoadBalancer const*, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false>::new_buckets_and_thumbnail(unsigned long, unsigned long)
Unexecuted instantiation: butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::ConcurrencyLimiter const*, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false>::new_buckets_and_thumbnail(unsigned long, unsigned long)
Unexecuted instantiation: butil::FlatMap<unsigned long, unsigned long, butil::DefaultHasher<unsigned long>, butil::DefaultEqualTo<unsigned long>, false, butil::PtAllocator, false>::new_buckets_and_thumbnail(unsigned long, unsigned long)
butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, true>::new_buckets_and_thumbnail(unsigned long, unsigned long)
Line
Count
Source
717
972
                                                               size_t new_nbucket) {
718
972
    do {
719
972
        new_nbucket = flatmap_round(new_nbucket);
720
972
    } while (is_too_crowded(size, new_nbucket, _load_factor));
721
972
    if (_nbucket == new_nbucket) {
722
0
        return nullopt;
723
0
    }
724
    // Note: need an extra bucket to let iterator know where buckets end.
725
972
    auto buckets = (Bucket*)get_allocator().Alloc(
726
972
        sizeof(Bucket) * (new_nbucket + 1/*note*/));
727
972
    auto guard = MakeScopeGuard([buckets, this]() {
728
972
        get_allocator().Free(buckets);
729
972
    });
730
972
    if (NULL == buckets) {
731
0
        LOG(FATAL) << "Fail to new Buckets";
732
0
        return nullopt;
733
0
    }
734
735
972
    uint64_t* thumbnail = NULL;
736
972
    if (_S) {
737
0
        thumbnail = bit_array_malloc(new_nbucket);
738
0
        if (NULL == thumbnail) {
739
0
            LOG(FATAL) << "Fail to new thumbnail";
740
0
            return nullopt;
741
0
        }
742
0
    }
743
744
972
    guard.dismiss();
745
972
    init_buckets_and_thumbnail(buckets, thumbnail, new_nbucket);
746
972
    return NewBucketsInfo{buckets, thumbnail, new_nbucket};
747
972
}
Unexecuted instantiation: butil::FlatMap<brpc::ServerId, butil::FlatMapVoid, butil::DefaultHasher<brpc::ServerId>, butil::DefaultEqualTo<brpc::ServerId>, false, butil::PtAllocator, false>::new_buckets_and_thumbnail(unsigned long, unsigned long)
Unexecuted instantiation: butil::FlatMap<int, brpc::policy::H2StreamContext*, butil::DefaultHasher<int>, butil::DefaultEqualTo<int>, false, butil::PtAllocator, false>::new_buckets_and_thumbnail(unsigned long, unsigned long)
Unexecuted instantiation: butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool (brpc::policy::RtmpChunkStream::*)(brpc::policy::RtmpMessageHeader const&, brpc::AMFInputStream*, brpc::Socket*), butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>::new_buckets_and_thumbnail(unsigned long, unsigned long)
Unexecuted instantiation: butil::FlatMap<unsigned int, brpc::policy::RtmpContext::MessageStreamInfo, butil::DefaultHasher<unsigned int>, butil::DefaultEqualTo<unsigned int>, false, butil::PtAllocator, false>::new_buckets_and_thumbnail(unsigned long, unsigned long)
Unexecuted instantiation: butil::FlatMap<unsigned int, brpc::policy::RtmpTransactionHandler*, butil::DefaultHasher<unsigned int>, butil::DefaultEqualTo<unsigned int>, false, butil::PtAllocator, false>::new_buckets_and_thumbnail(unsigned long, unsigned long)
Unexecuted instantiation: butil::FlatMap<unsigned long, int, butil::DefaultHasher<unsigned long>, butil::DefaultEqualTo<unsigned long>, false, butil::PtAllocator, false>::new_buckets_and_thumbnail(unsigned long, unsigned long)
Unexecuted instantiation: butil::FlatMap<brpc::SocketMapKey, brpc::SocketMap::SingleConnection, brpc::SocketMapKeyHasher, butil::DefaultEqualTo<brpc::SocketMapKey>, false, butil::PtAllocator, false>::new_buckets_and_thumbnail(unsigned long, unsigned long)
Unexecuted instantiation: butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, mcpack2pb::MessageHandler, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>::new_buckets_and_thumbnail(unsigned long, unsigned long)
butil::FlatMap<brpc::HPacker::Header, unsigned long, brpc::HeaderHasher, brpc::HeaderEqualTo, false, butil::PtAllocator, false>::new_buckets_and_thumbnail(unsigned long, unsigned long)
Line
Count
Source
717
686
                                                               size_t new_nbucket) {
718
686
    do {
719
686
        new_nbucket = flatmap_round(new_nbucket);
720
686
    } while (is_too_crowded(size, new_nbucket, _load_factor));
721
686
    if (_nbucket == new_nbucket) {
722
0
        return nullopt;
723
0
    }
724
    // Note: need an extra bucket to let iterator know where buckets end.
725
686
    auto buckets = (Bucket*)get_allocator().Alloc(
726
686
        sizeof(Bucket) * (new_nbucket + 1/*note*/));
727
686
    auto guard = MakeScopeGuard([buckets, this]() {
728
686
        get_allocator().Free(buckets);
729
686
    });
730
686
    if (NULL == buckets) {
731
0
        LOG(FATAL) << "Fail to new Buckets";
732
0
        return nullopt;
733
0
    }
734
735
686
    uint64_t* thumbnail = NULL;
736
686
    if (_S) {
737
0
        thumbnail = bit_array_malloc(new_nbucket);
738
0
        if (NULL == thumbnail) {
739
0
            LOG(FATAL) << "Fail to new thumbnail";
740
0
            return nullopt;
741
0
        }
742
0
    }
743
744
686
    guard.dismiss();
745
686
    init_buckets_and_thumbnail(buckets, thumbnail, new_nbucket);
746
686
    return NewBucketsInfo{buckets, thumbnail, new_nbucket};
747
686
}
butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false>::new_buckets_and_thumbnail(unsigned long, unsigned long)
Line
Count
Source
717
686
                                                               size_t new_nbucket) {
718
686
    do {
719
686
        new_nbucket = flatmap_round(new_nbucket);
720
686
    } while (is_too_crowded(size, new_nbucket, _load_factor));
721
686
    if (_nbucket == new_nbucket) {
722
0
        return nullopt;
723
0
    }
724
    // Note: need an extra bucket to let iterator know where buckets end.
725
686
    auto buckets = (Bucket*)get_allocator().Alloc(
726
686
        sizeof(Bucket) * (new_nbucket + 1/*note*/));
727
686
    auto guard = MakeScopeGuard([buckets, this]() {
728
686
        get_allocator().Free(buckets);
729
686
    });
730
686
    if (NULL == buckets) {
731
0
        LOG(FATAL) << "Fail to new Buckets";
732
0
        return nullopt;
733
0
    }
734
735
686
    uint64_t* thumbnail = NULL;
736
686
    if (_S) {
737
0
        thumbnail = bit_array_malloc(new_nbucket);
738
0
        if (NULL == thumbnail) {
739
0
            LOG(FATAL) << "Fail to new thumbnail";
740
0
            return nullopt;
741
0
        }
742
0
    }
743
744
686
    guard.dismiss();
745
686
    init_buckets_and_thumbnail(buckets, thumbnail, new_nbucket);
746
686
    return NewBucketsInfo{buckets, thumbnail, new_nbucket};
747
686
}
748
749
template <typename _K, typename _T, typename _H, typename _E,
750
          bool _S, typename _A, bool _M>
751
2.98k
bool FlatMap<_K, _T, _H, _E, _S, _A, _M>::resize(size_t nbucket) {
752
2.98k
    optional<NewBucketsInfo> info = new_buckets_and_thumbnail(_size, nbucket);
753
2.98k
    if (!info.has_value()) {
754
0
        return false;
755
0
    }
756
757
25.1k
    for (iterator it = begin(); it != end(); ++it) {
758
22.2k
        const key_type& key = Element::first_ref_from_value(*it);
759
22.2k
        const size_t index = flatmap_mod(_hashfn(key), info->nbucket);
760
22.2k
        Bucket& first_node = info->buckets[index];
761
22.2k
        if (!first_node.is_valid()) {
762
16.1k
            if (_S) {
763
0
                bit_array_set(info->thumbnail, index);
764
0
            }
765
16.1k
            new (&first_node) Bucket(key);
766
16.1k
            first_node.element().second_ref() =
767
16.1k
                Element::second_movable_ref_from_value(*it);
768
16.1k
        } else {
769
6.09k
            Bucket* newp = new (_pool.get()) Bucket(key);
770
6.09k
            newp->element().second_ref() =
771
6.09k
                Element::second_movable_ref_from_value(*it);
772
6.09k
            newp->next = first_node.next;
773
6.09k
            first_node.next = newp;
774
6.09k
        }
775
22.2k
    }
776
2.98k
    size_t saved_size = _size;
777
2.98k
    clear();
778
2.98k
    if (!is_default_buckets()) {
779
302
        get_allocator().Free(_buckets);
780
302
        if (_S) {
781
0
            bit_array_free(_thumbnail);
782
0
        }
783
302
    }
784
2.98k
    _nbucket = info->nbucket;
785
2.98k
    _buckets = info->buckets;
786
2.98k
    _thumbnail = info->thumbnail;
787
2.98k
    _size = saved_size;
788
789
2.98k
    return true;
790
2.98k
}
Unexecuted instantiation: butil::FlatMap<bthread::SampledContention*, bthread::SampledContention*, bthread::ContentionHash, bthread::ContentionEqual, false, butil::PtAllocator, false>::resize(unsigned long)
Unexecuted instantiation: butil::FlatMap<butil::IOBufSample*, std::shared_ptr<butil::IOBufSample>, butil::detail::IOBufSampleHash<butil::IOBufSample*>, butil::detail::IOBufSampleEqual<butil::IOBufSample*>, false, butil::PtAllocator, false>::resize(unsigned long)
Unexecuted instantiation: butil::FlatMap<butil::IOBuf::Block*, butil::IOBufProfiler::BlockInfo, butil::DefaultHasher<butil::IOBuf::Block*>, butil::DefaultEqualTo<butil::IOBuf::Block*>, false, butil::PtAllocator, false>::resize(unsigned long)
Unexecuted instantiation: butil::FlatMap<std::shared_ptr<butil::IOBufSample>, long, butil::detail::IOBufSampleHash<std::shared_ptr<butil::IOBufSample> >, butil::detail::IOBufSampleEqual<std::shared_ptr<butil::IOBufSample> >, false, butil::PtAllocator, false>::resize(unsigned long)
butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bvar::VarEntry, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>::resize(unsigned long)
Line
Count
Source
751
640
bool FlatMap<_K, _T, _H, _E, _S, _A, _M>::resize(size_t nbucket) {
752
640
    optional<NewBucketsInfo> info = new_buckets_and_thumbnail(_size, nbucket);
753
640
    if (!info.has_value()) {
754
0
        return false;
755
0
    }
756
757
640
    for (iterator it = begin(); it != end(); ++it) {
758
0
        const key_type& key = Element::first_ref_from_value(*it);
759
0
        const size_t index = flatmap_mod(_hashfn(key), info->nbucket);
760
0
        Bucket& first_node = info->buckets[index];
761
0
        if (!first_node.is_valid()) {
762
0
            if (_S) {
763
0
                bit_array_set(info->thumbnail, index);
764
0
            }
765
0
            new (&first_node) Bucket(key);
766
0
            first_node.element().second_ref() =
767
0
                Element::second_movable_ref_from_value(*it);
768
0
        } else {
769
0
            Bucket* newp = new (_pool.get()) Bucket(key);
770
0
            newp->element().second_ref() =
771
0
                Element::second_movable_ref_from_value(*it);
772
0
            newp->next = first_node.next;
773
0
            first_node.next = newp;
774
0
        }
775
0
    }
776
640
    size_t saved_size = _size;
777
640
    clear();
778
640
    if (!is_default_buckets()) {
779
0
        get_allocator().Free(_buckets);
780
0
        if (_S) {
781
0
            bit_array_free(_thumbnail);
782
0
        }
783
0
    }
784
640
    _nbucket = info->nbucket;
785
640
    _buckets = info->buckets;
786
640
    _thumbnail = info->thumbnail;
787
640
    _size = saved_size;
788
789
640
    return true;
790
640
}
Unexecuted instantiation: butil::FlatMap<int, bthread::TaskGroup*, butil::DefaultHasher<int>, butil::DefaultEqualTo<int>, false, butil::PtAllocator, false>::resize(unsigned long)
Unexecuted instantiation: butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bvar::MVarEntry, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>::resize(unsigned long)
Unexecuted instantiation: butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>::resize(unsigned long)
Unexecuted instantiation: butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::Server::MethodProperty, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>::resize(unsigned long)
Unexecuted instantiation: butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::Server::ServiceProperty, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>::resize(unsigned long)
Unexecuted instantiation: butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::Server::SSLContext, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>::resize(unsigned long)
Unexecuted instantiation: butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::shared_ptr<brpc::SocketSSLContext>, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false>::resize(unsigned long)
Unexecuted instantiation: butil::FlatMap<unsigned long, brpc::ConnectStatistics, butil::DefaultHasher<unsigned long>, butil::DefaultEqualTo<unsigned long>, false, butil::PtAllocator, false>::resize(unsigned long)
Unexecuted instantiation: butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::DisplayType, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false>::resize(unsigned long)
Unexecuted instantiation: butil::FlatMap<brpc::NSKey, brpc::NamingServiceThread*, brpc::NSKeyHasher, butil::DefaultEqualTo<brpc::NSKey>, false, butil::PtAllocator, false>::resize(unsigned long)
Unexecuted instantiation: butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::NamingService const*, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false>::resize(unsigned long)
Unexecuted instantiation: butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::LoadBalancer const*, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false>::resize(unsigned long)
Unexecuted instantiation: butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::ConcurrencyLimiter const*, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false>::resize(unsigned long)
Unexecuted instantiation: butil::FlatMap<unsigned long, unsigned long, butil::DefaultHasher<unsigned long>, butil::DefaultEqualTo<unsigned long>, false, butil::PtAllocator, false>::resize(unsigned long)
butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, true>::resize(unsigned long)
Line
Count
Source
751
972
bool FlatMap<_K, _T, _H, _E, _S, _A, _M>::resize(size_t nbucket) {
752
972
    optional<NewBucketsInfo> info = new_buckets_and_thumbnail(_size, nbucket);
753
972
    if (!info.has_value()) {
754
0
        return false;
755
0
    }
756
757
23.1k
    for (iterator it = begin(); it != end(); ++it) {
758
22.2k
        const key_type& key = Element::first_ref_from_value(*it);
759
22.2k
        const size_t index = flatmap_mod(_hashfn(key), info->nbucket);
760
22.2k
        Bucket& first_node = info->buckets[index];
761
22.2k
        if (!first_node.is_valid()) {
762
16.1k
            if (_S) {
763
0
                bit_array_set(info->thumbnail, index);
764
0
            }
765
16.1k
            new (&first_node) Bucket(key);
766
16.1k
            first_node.element().second_ref() =
767
16.1k
                Element::second_movable_ref_from_value(*it);
768
16.1k
        } else {
769
6.09k
            Bucket* newp = new (_pool.get()) Bucket(key);
770
6.09k
            newp->element().second_ref() =
771
6.09k
                Element::second_movable_ref_from_value(*it);
772
6.09k
            newp->next = first_node.next;
773
6.09k
            first_node.next = newp;
774
6.09k
        }
775
22.2k
    }
776
972
    size_t saved_size = _size;
777
972
    clear();
778
972
    if (!is_default_buckets()) {
779
302
        get_allocator().Free(_buckets);
780
302
        if (_S) {
781
0
            bit_array_free(_thumbnail);
782
0
        }
783
302
    }
784
972
    _nbucket = info->nbucket;
785
972
    _buckets = info->buckets;
786
972
    _thumbnail = info->thumbnail;
787
972
    _size = saved_size;
788
789
972
    return true;
790
972
}
Unexecuted instantiation: butil::FlatMap<brpc::ServerId, butil::FlatMapVoid, butil::DefaultHasher<brpc::ServerId>, butil::DefaultEqualTo<brpc::ServerId>, false, butil::PtAllocator, false>::resize(unsigned long)
Unexecuted instantiation: butil::FlatMap<int, brpc::policy::H2StreamContext*, butil::DefaultHasher<int>, butil::DefaultEqualTo<int>, false, butil::PtAllocator, false>::resize(unsigned long)
Unexecuted instantiation: butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool (brpc::policy::RtmpChunkStream::*)(brpc::policy::RtmpMessageHeader const&, brpc::AMFInputStream*, brpc::Socket*), butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>::resize(unsigned long)
Unexecuted instantiation: butil::FlatMap<unsigned int, brpc::policy::RtmpContext::MessageStreamInfo, butil::DefaultHasher<unsigned int>, butil::DefaultEqualTo<unsigned int>, false, butil::PtAllocator, false>::resize(unsigned long)
Unexecuted instantiation: butil::FlatMap<unsigned int, brpc::policy::RtmpTransactionHandler*, butil::DefaultHasher<unsigned int>, butil::DefaultEqualTo<unsigned int>, false, butil::PtAllocator, false>::resize(unsigned long)
Unexecuted instantiation: butil::FlatMap<unsigned long, int, butil::DefaultHasher<unsigned long>, butil::DefaultEqualTo<unsigned long>, false, butil::PtAllocator, false>::resize(unsigned long)
Unexecuted instantiation: butil::FlatMap<brpc::SocketMapKey, brpc::SocketMap::SingleConnection, brpc::SocketMapKeyHasher, butil::DefaultEqualTo<brpc::SocketMapKey>, false, butil::PtAllocator, false>::resize(unsigned long)
Unexecuted instantiation: butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, mcpack2pb::MessageHandler, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>::resize(unsigned long)
butil::FlatMap<brpc::HPacker::Header, unsigned long, brpc::HeaderHasher, brpc::HeaderEqualTo, false, butil::PtAllocator, false>::resize(unsigned long)
Line
Count
Source
751
686
bool FlatMap<_K, _T, _H, _E, _S, _A, _M>::resize(size_t nbucket) {
752
686
    optional<NewBucketsInfo> info = new_buckets_and_thumbnail(_size, nbucket);
753
686
    if (!info.has_value()) {
754
0
        return false;
755
0
    }
756
757
686
    for (iterator it = begin(); it != end(); ++it) {
758
0
        const key_type& key = Element::first_ref_from_value(*it);
759
0
        const size_t index = flatmap_mod(_hashfn(key), info->nbucket);
760
0
        Bucket& first_node = info->buckets[index];
761
0
        if (!first_node.is_valid()) {
762
0
            if (_S) {
763
0
                bit_array_set(info->thumbnail, index);
764
0
            }
765
0
            new (&first_node) Bucket(key);
766
0
            first_node.element().second_ref() =
767
0
                Element::second_movable_ref_from_value(*it);
768
0
        } else {
769
0
            Bucket* newp = new (_pool.get()) Bucket(key);
770
0
            newp->element().second_ref() =
771
0
                Element::second_movable_ref_from_value(*it);
772
0
            newp->next = first_node.next;
773
0
            first_node.next = newp;
774
0
        }
775
0
    }
776
686
    size_t saved_size = _size;
777
686
    clear();
778
686
    if (!is_default_buckets()) {
779
0
        get_allocator().Free(_buckets);
780
0
        if (_S) {
781
0
            bit_array_free(_thumbnail);
782
0
        }
783
0
    }
784
686
    _nbucket = info->nbucket;
785
686
    _buckets = info->buckets;
786
686
    _thumbnail = info->thumbnail;
787
686
    _size = saved_size;
788
789
686
    return true;
790
686
}
butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false>::resize(unsigned long)
Line
Count
Source
751
686
bool FlatMap<_K, _T, _H, _E, _S, _A, _M>::resize(size_t nbucket) {
752
686
    optional<NewBucketsInfo> info = new_buckets_and_thumbnail(_size, nbucket);
753
686
    if (!info.has_value()) {
754
0
        return false;
755
0
    }
756
757
686
    for (iterator it = begin(); it != end(); ++it) {
758
0
        const key_type& key = Element::first_ref_from_value(*it);
759
0
        const size_t index = flatmap_mod(_hashfn(key), info->nbucket);
760
0
        Bucket& first_node = info->buckets[index];
761
0
        if (!first_node.is_valid()) {
762
0
            if (_S) {
763
0
                bit_array_set(info->thumbnail, index);
764
0
            }
765
0
            new (&first_node) Bucket(key);
766
0
            first_node.element().second_ref() =
767
0
                Element::second_movable_ref_from_value(*it);
768
0
        } else {
769
0
            Bucket* newp = new (_pool.get()) Bucket(key);
770
0
            newp->element().second_ref() =
771
0
                Element::second_movable_ref_from_value(*it);
772
0
            newp->next = first_node.next;
773
0
            first_node.next = newp;
774
0
        }
775
0
    }
776
686
    size_t saved_size = _size;
777
686
    clear();
778
686
    if (!is_default_buckets()) {
779
0
        get_allocator().Free(_buckets);
780
0
        if (_S) {
781
0
            bit_array_free(_thumbnail);
782
0
        }
783
0
    }
784
686
    _nbucket = info->nbucket;
785
686
    _buckets = info->buckets;
786
686
    _thumbnail = info->thumbnail;
787
686
    _size = saved_size;
788
789
686
    return true;
790
686
}
791
792
template <typename _K, typename _T, typename _H, typename _E,
793
          bool _S, typename _A, bool _M>
794
BucketInfo FlatMap<_K, _T, _H, _E, _S, _A, _M>::bucket_info() const {
795
    size_t max_n = 0;
796
    size_t nentry = 0;
797
    for (size_t i = 0; i < _nbucket; ++i) {
798
        if (_buckets[i].is_valid()) {
799
            size_t n = 1;
800
            for (Bucket* p = _buckets[i].next; p; p = p->next, ++n);
801
            max_n = std::max(max_n, n);
802
            ++nentry;
803
        }
804
    }
805
    return { max_n, size() / (double)nentry };
806
}
807
808
0
inline std::ostream& operator<<(std::ostream& os, const BucketInfo& info) {
809
0
    return os << "{maxb=" << info.longest_length
810
0
              << " avgb=" << info.average_length << '}';
811
0
}
812
813
template <typename _K, typename _T, typename _H, typename _E,
814
          bool _S, typename _A, bool _M>
815
typename FlatMap<_K, _T, _H, _E, _S, _A, _M>::iterator
816
2.98k
FlatMap<_K, _T, _H, _E, _S, _A, _M>::begin() {
817
2.98k
    return iterator(this, 0);
818
2.98k
}
Unexecuted instantiation: butil::FlatMap<bthread::SampledContention*, bthread::SampledContention*, bthread::ContentionHash, bthread::ContentionEqual, false, butil::PtAllocator, false>::begin()
Unexecuted instantiation: butil::FlatMap<butil::IOBuf::Block*, butil::IOBufProfiler::BlockInfo, butil::DefaultHasher<butil::IOBuf::Block*>, butil::DefaultEqualTo<butil::IOBuf::Block*>, false, butil::PtAllocator, false>::begin()
Unexecuted instantiation: butil::FlatMap<std::shared_ptr<butil::IOBufSample>, long, butil::detail::IOBufSampleHash<std::shared_ptr<butil::IOBufSample> >, butil::detail::IOBufSampleEqual<std::shared_ptr<butil::IOBufSample> >, false, butil::PtAllocator, false>::begin()
Unexecuted instantiation: butil::FlatMap<butil::IOBufSample*, std::shared_ptr<butil::IOBufSample>, butil::detail::IOBufSampleHash<butil::IOBufSample*>, butil::detail::IOBufSampleEqual<butil::IOBufSample*>, false, butil::PtAllocator, false>::begin()
butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bvar::VarEntry, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>::begin()
Line
Count
Source
816
640
FlatMap<_K, _T, _H, _E, _S, _A, _M>::begin() {
817
640
    return iterator(this, 0);
818
640
}
Unexecuted instantiation: butil::FlatMap<int, bthread::TaskGroup*, butil::DefaultHasher<int>, butil::DefaultEqualTo<int>, false, butil::PtAllocator, false>::begin()
Unexecuted instantiation: butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bvar::MVarEntry, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>::begin()
Unexecuted instantiation: butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>::begin()
Unexecuted instantiation: butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::LoadBalancer const*, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false>::begin()
Unexecuted instantiation: butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::NamingService const*, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false>::begin()
Unexecuted instantiation: butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::Server::MethodProperty, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>::begin()
Unexecuted instantiation: butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::Server::SSLContext, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>::begin()
Unexecuted instantiation: butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::Server::ServiceProperty, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>::begin()
Unexecuted instantiation: butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::shared_ptr<brpc::SocketSSLContext>, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false>::begin()
Unexecuted instantiation: butil::FlatMap<unsigned long, brpc::ConnectStatistics, butil::DefaultHasher<unsigned long>, butil::DefaultEqualTo<unsigned long>, false, butil::PtAllocator, false>::begin()
Unexecuted instantiation: butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::DisplayType, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false>::begin()
Unexecuted instantiation: butil::FlatMap<brpc::NSKey, brpc::NamingServiceThread*, brpc::NSKeyHasher, butil::DefaultEqualTo<brpc::NSKey>, false, butil::PtAllocator, false>::begin()
Unexecuted instantiation: butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::ConcurrencyLimiter const*, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false>::begin()
Unexecuted instantiation: butil::FlatMap<unsigned long, unsigned long, butil::DefaultHasher<unsigned long>, butil::DefaultEqualTo<unsigned long>, false, butil::PtAllocator, false>::begin()
butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, true>::begin()
Line
Count
Source
816
972
FlatMap<_K, _T, _H, _E, _S, _A, _M>::begin() {
817
972
    return iterator(this, 0);
818
972
}
Unexecuted instantiation: butil::FlatMap<brpc::ServerId, butil::FlatMapVoid, butil::DefaultHasher<brpc::ServerId>, butil::DefaultEqualTo<brpc::ServerId>, false, butil::PtAllocator, false>::begin()
Unexecuted instantiation: butil::FlatMap<int, brpc::policy::H2StreamContext*, butil::DefaultHasher<int>, butil::DefaultEqualTo<int>, false, butil::PtAllocator, false>::begin()
Unexecuted instantiation: butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool (brpc::policy::RtmpChunkStream::*)(brpc::policy::RtmpMessageHeader const&, brpc::AMFInputStream*, brpc::Socket*), butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>::begin()
Unexecuted instantiation: butil::FlatMap<unsigned int, brpc::policy::RtmpContext::MessageStreamInfo, butil::DefaultHasher<unsigned int>, butil::DefaultEqualTo<unsigned int>, false, butil::PtAllocator, false>::begin()
Unexecuted instantiation: butil::FlatMap<unsigned int, brpc::policy::RtmpTransactionHandler*, butil::DefaultHasher<unsigned int>, butil::DefaultEqualTo<unsigned int>, false, butil::PtAllocator, false>::begin()
Unexecuted instantiation: butil::FlatMap<unsigned long, int, butil::DefaultHasher<unsigned long>, butil::DefaultEqualTo<unsigned long>, false, butil::PtAllocator, false>::begin()
Unexecuted instantiation: butil::FlatMap<brpc::SocketMapKey, brpc::SocketMap::SingleConnection, brpc::SocketMapKeyHasher, butil::DefaultEqualTo<brpc::SocketMapKey>, false, butil::PtAllocator, false>::begin()
Unexecuted instantiation: butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, mcpack2pb::MessageHandler, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>::begin()
butil::FlatMap<brpc::HPacker::Header, unsigned long, brpc::HeaderHasher, brpc::HeaderEqualTo, false, butil::PtAllocator, false>::begin()
Line
Count
Source
816
686
FlatMap<_K, _T, _H, _E, _S, _A, _M>::begin() {
817
686
    return iterator(this, 0);
818
686
}
butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false>::begin()
Line
Count
Source
816
686
FlatMap<_K, _T, _H, _E, _S, _A, _M>::begin() {
817
686
    return iterator(this, 0);
818
686
}
819
820
template <typename _K, typename _T, typename _H, typename _E,
821
          bool _S, typename _A, bool _M>
822
typename FlatMap<_K, _T, _H, _E, _S, _A, _M>::iterator
823
25.1k
FlatMap<_K, _T, _H, _E, _S, _A, _M>::end() {
824
25.1k
    return iterator(this, _nbucket);
825
25.1k
}
Unexecuted instantiation: butil::FlatMap<bthread::SampledContention*, bthread::SampledContention*, bthread::ContentionHash, bthread::ContentionEqual, false, butil::PtAllocator, false>::end()
Unexecuted instantiation: butil::FlatMap<butil::IOBuf::Block*, butil::IOBufProfiler::BlockInfo, butil::DefaultHasher<butil::IOBuf::Block*>, butil::DefaultEqualTo<butil::IOBuf::Block*>, false, butil::PtAllocator, false>::end()
Unexecuted instantiation: butil::FlatMap<std::shared_ptr<butil::IOBufSample>, long, butil::detail::IOBufSampleHash<std::shared_ptr<butil::IOBufSample> >, butil::detail::IOBufSampleEqual<std::shared_ptr<butil::IOBufSample> >, false, butil::PtAllocator, false>::end()
Unexecuted instantiation: butil::FlatMap<butil::IOBufSample*, std::shared_ptr<butil::IOBufSample>, butil::detail::IOBufSampleHash<butil::IOBufSample*>, butil::detail::IOBufSampleEqual<butil::IOBufSample*>, false, butil::PtAllocator, false>::end()
butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bvar::VarEntry, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>::end()
Line
Count
Source
823
640
FlatMap<_K, _T, _H, _E, _S, _A, _M>::end() {
824
640
    return iterator(this, _nbucket);
825
640
}
Unexecuted instantiation: butil::FlatMap<int, bthread::TaskGroup*, butil::DefaultHasher<int>, butil::DefaultEqualTo<int>, false, butil::PtAllocator, false>::end()
Unexecuted instantiation: butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bvar::MVarEntry, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>::end()
Unexecuted instantiation: butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>::end()
Unexecuted instantiation: butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::LoadBalancer const*, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false>::end()
Unexecuted instantiation: butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::NamingService const*, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false>::end()
Unexecuted instantiation: butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::Server::MethodProperty, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>::end()
Unexecuted instantiation: butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::Server::ServiceProperty, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>::end()
Unexecuted instantiation: butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::Server::SSLContext, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>::end()
Unexecuted instantiation: butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::shared_ptr<brpc::SocketSSLContext>, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false>::end()
Unexecuted instantiation: butil::FlatMap<unsigned long, brpc::ConnectStatistics, butil::DefaultHasher<unsigned long>, butil::DefaultEqualTo<unsigned long>, false, butil::PtAllocator, false>::end()
Unexecuted instantiation: butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::DisplayType, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false>::end()
Unexecuted instantiation: butil::FlatMap<brpc::NSKey, brpc::NamingServiceThread*, brpc::NSKeyHasher, butil::DefaultEqualTo<brpc::NSKey>, false, butil::PtAllocator, false>::end()
Unexecuted instantiation: butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::ConcurrencyLimiter const*, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false>::end()
Unexecuted instantiation: butil::FlatMap<unsigned long, unsigned long, butil::DefaultHasher<unsigned long>, butil::DefaultEqualTo<unsigned long>, false, butil::PtAllocator, false>::end()
butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, true>::end()
Line
Count
Source
823
23.1k
FlatMap<_K, _T, _H, _E, _S, _A, _M>::end() {
824
23.1k
    return iterator(this, _nbucket);
825
23.1k
}
Unexecuted instantiation: butil::FlatMap<brpc::ServerId, butil::FlatMapVoid, butil::DefaultHasher<brpc::ServerId>, butil::DefaultEqualTo<brpc::ServerId>, false, butil::PtAllocator, false>::end()
Unexecuted instantiation: butil::FlatMap<int, brpc::policy::H2StreamContext*, butil::DefaultHasher<int>, butil::DefaultEqualTo<int>, false, butil::PtAllocator, false>::end()
Unexecuted instantiation: butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool (brpc::policy::RtmpChunkStream::*)(brpc::policy::RtmpMessageHeader const&, brpc::AMFInputStream*, brpc::Socket*), butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>::end()
Unexecuted instantiation: butil::FlatMap<unsigned int, brpc::policy::RtmpContext::MessageStreamInfo, butil::DefaultHasher<unsigned int>, butil::DefaultEqualTo<unsigned int>, false, butil::PtAllocator, false>::end()
Unexecuted instantiation: butil::FlatMap<unsigned int, brpc::policy::RtmpTransactionHandler*, butil::DefaultHasher<unsigned int>, butil::DefaultEqualTo<unsigned int>, false, butil::PtAllocator, false>::end()
Unexecuted instantiation: butil::FlatMap<unsigned long, int, butil::DefaultHasher<unsigned long>, butil::DefaultEqualTo<unsigned long>, false, butil::PtAllocator, false>::end()
Unexecuted instantiation: butil::FlatMap<brpc::SocketMapKey, brpc::SocketMap::SingleConnection, brpc::SocketMapKeyHasher, butil::DefaultEqualTo<brpc::SocketMapKey>, false, butil::PtAllocator, false>::end()
Unexecuted instantiation: butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, mcpack2pb::MessageHandler, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>::end()
butil::FlatMap<brpc::HPacker::Header, unsigned long, brpc::HeaderHasher, brpc::HeaderEqualTo, false, butil::PtAllocator, false>::end()
Line
Count
Source
823
686
FlatMap<_K, _T, _H, _E, _S, _A, _M>::end() {
824
686
    return iterator(this, _nbucket);
825
686
}
butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false>::end()
Line
Count
Source
823
686
FlatMap<_K, _T, _H, _E, _S, _A, _M>::end() {
824
686
    return iterator(this, _nbucket);
825
686
}
826
827
template <typename _K, typename _T, typename _H, typename _E,
828
          bool _S, typename _A, bool _M>
829
typename FlatMap<_K, _T, _H, _E, _S, _A, _M>::const_iterator
830
0
FlatMap<_K, _T, _H, _E, _S, _A, _M>::begin() const {
831
0
    return const_iterator(this, 0);
832
0
}
Unexecuted instantiation: butil::FlatMap<std::shared_ptr<butil::IOBufSample>, long, butil::detail::IOBufSampleHash<std::shared_ptr<butil::IOBufSample> >, butil::detail::IOBufSampleEqual<std::shared_ptr<butil::IOBufSample> >, false, butil::PtAllocator, false>::begin() const
Unexecuted instantiation: butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bvar::VarEntry, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>::begin() const
Unexecuted instantiation: butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, true>::begin() const
Unexecuted instantiation: butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>::begin() const
Unexecuted instantiation: butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::Server::SSLContext, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>::begin() const
Unexecuted instantiation: butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::shared_ptr<brpc::SocketSSLContext>, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false>::begin() const
Unexecuted instantiation: butil::FlatMap<unsigned long, brpc::ConnectStatistics, butil::DefaultHasher<unsigned long>, butil::DefaultEqualTo<unsigned long>, false, butil::PtAllocator, false>::begin() const
Unexecuted instantiation: butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::Server::ServiceProperty, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>::begin() const
Unexecuted instantiation: butil::FlatMap<unsigned long, unsigned long, butil::DefaultHasher<unsigned long>, butil::DefaultEqualTo<unsigned long>, false, butil::PtAllocator, false>::begin() const
833
834
template <typename _K, typename _T, typename _H, typename _E,
835
          bool _S, typename _A, bool _M>
836
typename FlatMap<_K, _T, _H, _E, _S, _A, _M>::const_iterator
837
0
FlatMap<_K, _T, _H, _E, _S, _A, _M>::end() const {
838
0
    return const_iterator(this, _nbucket);
839
0
}
Unexecuted instantiation: butil::FlatMap<std::shared_ptr<butil::IOBufSample>, long, butil::detail::IOBufSampleHash<std::shared_ptr<butil::IOBufSample> >, butil::detail::IOBufSampleEqual<std::shared_ptr<butil::IOBufSample> >, false, butil::PtAllocator, false>::end() const
Unexecuted instantiation: butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bvar::VarEntry, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>::end() const
Unexecuted instantiation: butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, true>::end() const
Unexecuted instantiation: butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>::end() const
Unexecuted instantiation: butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::Server::SSLContext, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>::end() const
Unexecuted instantiation: butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::shared_ptr<brpc::SocketSSLContext>, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false>::end() const
Unexecuted instantiation: butil::FlatMap<unsigned long, brpc::ConnectStatistics, butil::DefaultHasher<unsigned long>, butil::DefaultEqualTo<unsigned long>, false, butil::PtAllocator, false>::end() const
Unexecuted instantiation: butil::FlatMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, brpc::Server::ServiceProperty, butil::DefaultHasher<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, butil::DefaultEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, butil::PtAllocator, false>::end() const
Unexecuted instantiation: butil::FlatMap<unsigned long, unsigned long, butil::DefaultHasher<unsigned long>, butil::DefaultEqualTo<unsigned long>, false, butil::PtAllocator, false>::end() const
840
841
}  // namespace butil
842
843
#endif  //BUTIL_FLAT_MAP_INL_H