Coverage Report

Created: 2025-11-24 06:13

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/immer/immer/detail/combine_standard_layout.hpp
Line
Count
Source
1
//
2
// immer: immutable data structures for C++
3
// Copyright (C) 2016, 2017, 2018 Juan Pedro Bolivar Puente
4
//
5
// This software is distributed under the Boost Software License, Version 1.0.
6
// See accompanying file LICENSE or copy at http://boost.org/LICENSE_1_0.txt
7
//
8
9
#pragma once
10
11
#include <cstddef>
12
#include <type_traits>
13
14
#if defined(__GNUC__) && __GNUC__ == 7 && __GNUC_MINOR__ == 1
15
#define IMMER_BROKEN_STANDARD_LAYOUT_DETECTION 1
16
#define immer_offsetof(st, m) ((std::size_t) & (((st*) 0)->m))
17
#else
18
#define IMMER_BROKEN_STANDARD_LAYOUT_DETECTION 0
19
125M
#define immer_offsetof offsetof
20
#endif
21
22
namespace immer {
23
namespace detail {
24
25
//
26
// Metafunction that returns a standard layout struct that combines
27
// all the standard layout types in `Ts...`, while making sure that
28
// empty base optimizations are used.
29
//
30
// To query a part of the type do `get<my_part>(x)`;
31
//
32
// This is useful when putting together a type that merges various
33
// types coming from different policies.  Some of them might be empty,
34
// so we shall enable empty base optimizations.  But if we just
35
// inherit from all of them, we would break the "standard layout"
36
// rules, preventing us from using `offseof(...)`.  So metafunction
37
// will generate the type by sometimes inheriting, sometimes adding as
38
// member.
39
//
40
// Note that the types are added to the combined type from right to
41
// left!
42
//
43
template <typename... Ts>
44
struct combine_standard_layout;
45
46
template <typename... Ts>
47
using combine_standard_layout_t = typename combine_standard_layout<Ts...>::type;
48
49
namespace csl {
50
51
template <typename T>
52
struct type_t
53
{};
54
55
template <typename U, typename T>
56
U& get(T& x);
57
58
template <typename U, typename T>
59
const U& get(const T& x);
60
61
template <typename T, typename Next = void>
62
struct inherit
63
{
64
    struct type
65
        : T
66
        , Next
67
    {
68
        using Next::get_;
69
70
        template <typename U>
71
        friend decltype(auto) get(type& x)
72
        {
73
            return x.get_(type_t<U>{});
74
        }
75
        template <typename U>
76
        friend decltype(auto) get(const type& x)
77
        {
78
            return x.get_(type_t<U>{});
79
        }
80
81
        T& get_(type_t<T>) { return *this; }
82
62.5M
        const T& get_(type_t<T>) const { return *this; }
83
    };
84
};
85
86
template <typename T>
87
struct inherit<T, void>
88
{
89
    struct type : T
90
    {
91
        template <typename U>
92
        friend decltype(auto) get(type& x)
93
        {
94
            return x.get_(type_t<U>{});
95
        }
96
        template <typename U>
97
        friend decltype(auto) get(const type& x)
98
        {
99
            return x.get_(type_t<U>{});
100
        }
101
102
191M
        T& get_(type_t<T>) { return *this; }
immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee, void>::type::get_(immer::detail::csl::type_t<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee>)
Line
Count
Source
102
160M
        T& get_(type_t<T>) { return *this; }
immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::free_list_heap_policy<immer::cpp_heap, 1024ul> >::type::ownee, void>::type::get_(immer::detail::csl::type_t<immer::no_transience_policy::apply<immer::free_list_heap_policy<immer::cpp_heap, 1024ul> >::type::ownee>)
Line
Count
Source
102
31.1M
        T& get_(type_t<T>) { return *this; }
103
760k
        const T& get_(type_t<T>) const { return *this; }
immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee, void>::type::get_(immer::detail::csl::type_t<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee>) const
Line
Count
Source
103
603k
        const T& get_(type_t<T>) const { return *this; }
immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::free_list_heap_policy<immer::cpp_heap, 1024ul> >::type::ownee, void>::type::get_(immer::detail::csl::type_t<immer::no_transience_policy::apply<immer::free_list_heap_policy<immer::cpp_heap, 1024ul> >::type::ownee>) const
Line
Count
Source
103
157k
        const T& get_(type_t<T>) const { return *this; }
104
    };
105
};
106
107
template <typename T, typename Next = void>
108
struct member
109
{
110
    struct type : Next
111
    {
112
        T d;
113
114
        using Next::get_;
115
116
        template <typename U>
117
        friend decltype(auto) get(type& x)
118
        {
119
            return x.get_(type_t<U>{});
120
        }
121
        template <typename U>
122
        friend decltype(auto) get(const type& x)
123
        {
124
            return x.get_(type_t<U>{});
125
        }
126
127
        T& get_(type_t<T>) { return d; }
128
1.60G
        const T& get_(type_t<T>) const { return d; }
immer::detail::csl::member<immer::unsafe_refcount_policy, immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee, void>::type>::type::get_(immer::detail::csl::type_t<immer::unsafe_refcount_policy>) const
Line
Count
Source
128
1.45G
        const T& get_(type_t<T>) const { return d; }
immer::detail::csl::member<immer::refcount_policy, immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::free_list_heap_policy<immer::cpp_heap, 1024ul> >::type::ownee, void>::type>::type::get_(immer::detail::csl::type_t<immer::refcount_policy>) const
Line
Count
Source
128
154M
        const T& get_(type_t<T>) const { return d; }
129
    };
130
};
131
132
template <typename T>
133
struct member<T, void>
134
{
135
    struct type
136
    {
137
        T d;
138
139
        template <typename U>
140
        friend decltype(auto) get(type& x)
141
        {
142
            return x.get_(type_t<U>{});
143
        }
144
        template <typename U>
145
        friend decltype(auto) get(const type& x)
146
        {
147
            return x.get_(type_t<U>{});
148
        }
149
150
6.15M
        T& get_(type_t<T>) { return d; }
151
19.4M
        const T& get_(type_t<T>) const { return d; }
152
    };
153
};
154
155
template <typename T, typename Next>
156
struct member_two
157
{
158
    struct type
159
    {
160
        Next n;
161
        T d;
162
163
        template <typename U>
164
        friend decltype(auto) get(type& x)
165
198M
        {
166
198M
            return x.get_(type_t<U>{});
167
198M
        }
decltype(auto) immer::detail::csl::get<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee>(immer::detail::csl::member_two<immer::detail::rbts::node<int, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 3u, 3u>::relaxed_data_t, immer::detail::csl::member<immer::unsafe_refcount_policy, immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee, void>::type>::type>::type&)
Line
Count
Source
165
54.0M
        {
166
54.0M
            return x.get_(type_t<U>{});
167
54.0M
        }
decltype(auto) immer::detail::csl::get<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee>(immer::detail::csl::member_two<immer::detail::rbts::node<int, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 3u, 3u>::impl_data_t, immer::detail::csl::member<immer::unsafe_refcount_policy, immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee, void>::type>::type>::type&)
Line
Count
Source
165
62.7M
        {
166
62.7M
            return x.get_(type_t<U>{});
167
62.7M
        }
decltype(auto) immer::detail::csl::get<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee>(immer::detail::csl::member_two<immer::detail::hamts::node<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, colliding_hash_t, std::__1::equal_to<void>, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 5u>::impl_data_t, immer::detail::csl::member<immer::unsafe_refcount_policy, immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee, void>::type>::type>::type&)
Line
Count
Source
165
48.9k
        {
166
48.9k
            return x.get_(type_t<U>{});
167
48.9k
        }
decltype(auto) immer::detail::csl::get<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee>(immer::detail::csl::member_two<immer::detail::hamts::node<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, colliding_hash_t, std::__1::equal_to<void>, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 5u>::values_data_t, immer::detail::csl::member<immer::unsafe_refcount_policy, immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee, void>::type>::type>::type&)
Line
Count
Source
165
46.4k
        {
166
46.4k
            return x.get_(type_t<U>{});
167
46.4k
        }
decltype(auto) immer::detail::csl::get<immer::no_transience_policy::apply<immer::free_list_heap_policy<immer::cpp_heap, 1024ul> >::type::ownee>(immer::detail::csl::member_two<immer::detail::hamts::node<std::__1::pair<unsigned long, int>, immer::map<unsigned long, int, colliding_hash_t, std::__1::equal_to<unsigned long>, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024ul>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true>, 5u>::hash_key, immer::map<unsigned long, int, colliding_hash_t, std::__1::equal_to<unsigned long>, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024ul>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true>, 5u>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024ul>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true>, 5u>::impl_data_t, immer::detail::csl::member<immer::refcount_policy, immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::free_list_heap_policy<immer::cpp_heap, 1024ul> >::type::ownee, void>::type>::type>::type&)
Line
Count
Source
165
49.8k
        {
166
49.8k
            return x.get_(type_t<U>{});
167
49.8k
        }
decltype(auto) immer::detail::csl::get<immer::no_transience_policy::apply<immer::free_list_heap_policy<immer::cpp_heap, 1024ul> >::type::ownee>(immer::detail::csl::member_two<immer::detail::hamts::node<std::__1::pair<unsigned long, int>, immer::map<unsigned long, int, colliding_hash_t, std::__1::equal_to<unsigned long>, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024ul>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true>, 5u>::hash_key, immer::map<unsigned long, int, colliding_hash_t, std::__1::equal_to<unsigned long>, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024ul>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true>, 5u>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024ul>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true>, 5u>::values_data_t, immer::detail::csl::member<immer::refcount_policy, immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::free_list_heap_policy<immer::cpp_heap, 1024ul> >::type::ownee, void>::type>::type>::type&)
Line
Count
Source
165
27.5k
        {
166
27.5k
            return x.get_(type_t<U>{});
167
27.5k
        }
decltype(auto) immer::detail::csl::get<immer::gc_transience_policy::apply<immer::heap_policy<immer::gc_heap> >::type::ownee>(immer::detail::csl::member_two<immer::detail::arrays::node<int, immer::memory_policy<immer::heap_policy<immer::gc_heap>, immer::no_refcount_policy, immer::spinlock_policy, immer::gc_transience_policy, false, false> >::data_t, immer::detail::csl::inherit<immer::no_refcount_policy, immer::detail::csl::member<immer::gc_transience_policy::apply<immer::heap_policy<immer::gc_heap> >::type::ownee, void>::type>::type>::type&)
Line
Count
Source
165
12.7k
        {
166
12.7k
            return x.get_(type_t<U>{});
167
12.7k
        }
decltype(auto) immer::detail::csl::get<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee>(immer::detail::csl::member_two<immer::detail::hamts::node<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, colliding_hash_t, std::__1::equal_to<void>, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 3u>::impl_data_t, immer::detail::csl::member<immer::unsafe_refcount_policy, immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee, void>::type>::type>::type&)
Line
Count
Source
165
53.5k
        {
166
53.5k
            return x.get_(type_t<U>{});
167
53.5k
        }
decltype(auto) immer::detail::csl::get<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee>(immer::detail::csl::member_two<immer::detail::hamts::node<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, colliding_hash_t, std::__1::equal_to<void>, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 3u>::values_data_t, immer::detail::csl::member<immer::unsafe_refcount_policy, immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee, void>::type>::type>::type&)
Line
Count
Source
165
31.8k
        {
166
31.8k
            return x.get_(type_t<U>{});
167
31.8k
        }
decltype(auto) immer::detail::csl::get<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee>(immer::detail::csl::member_two<immer::detail::hamts::node<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, immer::box<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024ul>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true> > >, immer::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, immer::box<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024ul>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true> >, colliding_hash_t, std::__1::equal_to<void>, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 5u>::hash_key, immer::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, immer::box<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024ul>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true> >, colliding_hash_t, std::__1::equal_to<void>, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 5u>::equal_key, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 5u>::impl_data_t, immer::detail::csl::member<immer::unsafe_refcount_policy, immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee, void>::type>::type>::type&)
Line
Count
Source
165
41.9k
        {
166
41.9k
            return x.get_(type_t<U>{});
167
41.9k
        }
decltype(auto) immer::detail::csl::get<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee>(immer::detail::csl::member_two<immer::detail::hamts::node<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, immer::box<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024ul>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true> > >, immer::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, immer::box<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024ul>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true> >, colliding_hash_t, std::__1::equal_to<void>, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 5u>::hash_key, immer::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, immer::box<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024ul>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true> >, colliding_hash_t, std::__1::equal_to<void>, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 5u>::equal_key, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 5u>::values_data_t, immer::detail::csl::member<immer::unsafe_refcount_policy, immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee, void>::type>::type>::type&)
Line
Count
Source
165
36.1k
        {
166
36.1k
            return x.get_(type_t<U>{});
167
36.1k
        }
decltype(auto) immer::detail::csl::get<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee>(immer::detail::csl::member_two<immer::detail::rbts::node<int, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 2u, 2u>::impl_data_t, immer::detail::csl::member<immer::unsafe_refcount_policy, immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee, void>::type>::type>::type&)
Line
Count
Source
165
2.80M
        {
166
2.80M
            return x.get_(type_t<U>{});
167
2.80M
        }
decltype(auto) immer::detail::csl::get<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee>(immer::detail::csl::member_two<immer::detail::hamts::node<unsigned long, colliding_hash_t, std::__1::equal_to<void>, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 5u>::impl_data_t, immer::detail::csl::member<immer::unsafe_refcount_policy, immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee, void>::type>::type>::type&)
Line
Count
Source
165
41.9k
        {
166
41.9k
            return x.get_(type_t<U>{});
167
41.9k
        }
decltype(auto) immer::detail::csl::get<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee>(immer::detail::csl::member_two<immer::detail::hamts::node<unsigned long, colliding_hash_t, std::__1::equal_to<void>, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 5u>::values_data_t, immer::detail::csl::member<immer::unsafe_refcount_policy, immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee, void>::type>::type>::type&)
Line
Count
Source
165
27.3k
        {
166
27.3k
            return x.get_(type_t<U>{});
167
27.3k
        }
decltype(auto) immer::detail::csl::get<immer::no_transience_policy::apply<immer::free_list_heap_policy<immer::cpp_heap, 1024ul> >::type::ownee>(immer::detail::csl::member_two<immer::detail::hamts::node<unsigned long, colliding_hash_t, std::__1::equal_to<unsigned long>, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024ul>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true>, 5u>::impl_data_t, immer::detail::csl::member<immer::refcount_policy, immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::free_list_heap_policy<immer::cpp_heap, 1024ul> >::type::ownee, void>::type>::type>::type&)
Line
Count
Source
165
38.6k
        {
166
38.6k
            return x.get_(type_t<U>{});
167
38.6k
        }
decltype(auto) immer::detail::csl::get<immer::no_transience_policy::apply<immer::free_list_heap_policy<immer::cpp_heap, 1024ul> >::type::ownee>(immer::detail::csl::member_two<immer::detail::hamts::node<unsigned long, colliding_hash_t, std::__1::equal_to<unsigned long>, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024ul>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true>, 5u>::values_data_t, immer::detail::csl::member<immer::refcount_policy, immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::free_list_heap_policy<immer::cpp_heap, 1024ul> >::type::ownee, void>::type>::type>::type&)
Line
Count
Source
165
23.8k
        {
166
23.8k
            return x.get_(type_t<U>{});
167
23.8k
        }
decltype(auto) immer::detail::csl::get<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee>(immer::detail::csl::member_two<immer::detail::hamts::node<std::__1::pair<unsigned long, int>, immer::map<unsigned long, int, colliding_hash_t, std::__1::equal_to<void>, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 5u>::hash_key, immer::map<unsigned long, int, colliding_hash_t, std::__1::equal_to<void>, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 5u>::equal_key, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 5u>::impl_data_t, immer::detail::csl::member<immer::unsafe_refcount_policy, immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee, void>::type>::type>::type&)
Line
Count
Source
165
58.7k
        {
166
58.7k
            return x.get_(type_t<U>{});
167
58.7k
        }
decltype(auto) immer::detail::csl::get<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee>(immer::detail::csl::member_two<immer::detail::hamts::node<std::__1::pair<unsigned long, int>, immer::map<unsigned long, int, colliding_hash_t, std::__1::equal_to<void>, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 5u>::hash_key, immer::map<unsigned long, int, colliding_hash_t, std::__1::equal_to<void>, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 5u>::equal_key, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 5u>::values_data_t, immer::detail::csl::member<immer::unsafe_refcount_policy, immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee, void>::type>::type>::type&)
Line
Count
Source
165
34.2k
        {
166
34.2k
            return x.get_(type_t<U>{});
167
34.2k
        }
decltype(auto) immer::detail::csl::get<immer::no_transience_policy::apply<immer::free_list_heap_policy<immer::cpp_heap, 1024ul> >::type::ownee>(immer::detail::csl::member_two<immer::detail::rbts::node<int, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024ul>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true>, 2u, 2u>::relaxed_data_t, immer::detail::csl::member<immer::refcount_policy, immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::free_list_heap_policy<immer::cpp_heap, 1024ul> >::type::ownee, void>::type>::type>::type&)
Line
Count
Source
165
11.5M
        {
166
11.5M
            return x.get_(type_t<U>{});
167
11.5M
        }
decltype(auto) immer::detail::csl::get<immer::no_transience_policy::apply<immer::free_list_heap_policy<immer::cpp_heap, 1024ul> >::type::ownee>(immer::detail::csl::member_two<immer::detail::rbts::node<int, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024ul>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true>, 2u, 2u>::impl_data_t, immer::detail::csl::member<immer::refcount_policy, immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::free_list_heap_policy<immer::cpp_heap, 1024ul> >::type::ownee, void>::type>::type>::type&)
Line
Count
Source
165
19.4M
        {
166
19.4M
            return x.get_(type_t<U>{});
167
19.4M
        }
decltype(auto) immer::detail::csl::get<immer::no_transience_policy::apply<immer::free_list_heap_policy<immer::cpp_heap, 1024ul> >::type::ownee>(immer::detail::csl::member_two<immer::detail::arrays::node<int, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024ul>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true> >::data_t, immer::detail::csl::member<immer::refcount_policy, immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::free_list_heap_policy<immer::cpp_heap, 1024ul> >::type::ownee, void>::type>::type>::type&)
Line
Count
Source
165
3.85k
        {
166
3.85k
            return x.get_(type_t<U>{});
167
3.85k
        }
decltype(auto) immer::detail::csl::get<immer::gc_transience_policy::apply<immer::heap_policy<immer::gc_heap> >::type::ownee>(immer::detail::csl::member_two<immer::detail::rbts::node<int, immer::memory_policy<immer::heap_policy<immer::gc_heap>, immer::no_refcount_policy, immer::spinlock_policy, immer::gc_transience_policy, false, false>, 2u, 2u>::relaxed_data_t, immer::detail::csl::inherit<immer::no_refcount_policy, immer::detail::csl::member<immer::gc_transience_policy::apply<immer::heap_policy<immer::gc_heap> >::type::ownee, void>::type>::type>::type&)
Line
Count
Source
165
2.48M
        {
166
2.48M
            return x.get_(type_t<U>{});
167
2.48M
        }
decltype(auto) immer::detail::csl::get<immer::gc_transience_policy::apply<immer::heap_policy<immer::gc_heap> >::type::ownee>(immer::detail::csl::member_two<immer::detail::rbts::node<int, immer::memory_policy<immer::heap_policy<immer::gc_heap>, immer::no_refcount_policy, immer::spinlock_policy, immer::gc_transience_policy, false, false>, 2u, 2u>::impl_data_t, immer::detail::csl::inherit<immer::no_refcount_policy, immer::detail::csl::member<immer::gc_transience_policy::apply<immer::heap_policy<immer::gc_heap> >::type::ownee, void>::type>::type>::type&)
Line
Count
Source
165
3.65M
        {
166
3.65M
            return x.get_(type_t<U>{});
167
3.65M
        }
decltype(auto) immer::detail::csl::get<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee>(immer::detail::csl::member_two<immer::detail::rbts::node<int, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, true, true>, 3u, 3u>::impl_data_t, immer::detail::csl::member<immer::unsafe_refcount_policy, immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee, void>::type>::type>::type&)
Line
Count
Source
165
40.6M
        {
166
40.6M
            return x.get_(type_t<U>{});
167
40.6M
        }
decltype(auto) immer::detail::csl::get<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee>(immer::detail::csl::member_two<immer::detail::hamts::node<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, immer::box<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024ul>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true> > >, immer::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, immer::box<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024ul>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true> >, colliding_hash_t, std::__1::equal_to<void>, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 3u>::hash_key, immer::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, immer::box<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024ul>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true> >, colliding_hash_t, std::__1::equal_to<void>, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 3u>::equal_key, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 3u>::impl_data_t, immer::detail::csl::member<immer::unsafe_refcount_policy, immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee, void>::type>::type>::type&)
Line
Count
Source
165
82.9k
        {
166
82.9k
            return x.get_(type_t<U>{});
167
82.9k
        }
decltype(auto) immer::detail::csl::get<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee>(immer::detail::csl::member_two<immer::detail::hamts::node<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, immer::box<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024ul>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true> > >, immer::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, immer::box<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024ul>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true> >, colliding_hash_t, std::__1::equal_to<void>, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 3u>::hash_key, immer::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, immer::box<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024ul>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true> >, colliding_hash_t, std::__1::equal_to<void>, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 3u>::equal_key, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 3u>::values_data_t, immer::detail::csl::member<immer::unsafe_refcount_policy, immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee, void>::type>::type>::type&)
Line
Count
Source
165
28.2k
        {
166
28.2k
            return x.get_(type_t<U>{});
167
28.2k
        }
168
        template <typename U>
169
        friend decltype(auto) get(const type& x)
170
1.69G
        {
171
1.69G
            return x.get_(type_t<U>{});
172
1.69G
        }
decltype(auto) immer::detail::csl::get<immer::unsafe_refcount_policy>(immer::detail::csl::member_two<immer::detail::rbts::node<int, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 3u, 3u>::impl_data_t, immer::detail::csl::member<immer::unsafe_refcount_policy, immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee, void>::type>::type>::type const&)
Line
Count
Source
170
774M
        {
171
774M
            return x.get_(type_t<U>{});
172
774M
        }
decltype(auto) immer::detail::csl::get<immer::unsafe_refcount_policy>(immer::detail::csl::member_two<immer::detail::rbts::node<int, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 3u, 3u>::relaxed_data_t, immer::detail::csl::member<immer::unsafe_refcount_policy, immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee, void>::type>::type>::type const&)
Line
Count
Source
170
54.8M
        {
171
54.8M
            return x.get_(type_t<U>{});
172
54.8M
        }
decltype(auto) immer::detail::csl::get<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee>(immer::detail::csl::member_two<immer::detail::rbts::node<int, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 3u, 3u>::impl_data_t, immer::detail::csl::member<immer::unsafe_refcount_policy, immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee, void>::type>::type>::type const&)
Line
Count
Source
170
164k
        {
171
164k
            return x.get_(type_t<U>{});
172
164k
        }
decltype(auto) immer::detail::csl::get<immer::unsafe_refcount_policy>(immer::detail::csl::member_two<immer::detail::hamts::node<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, colliding_hash_t, std::__1::equal_to<void>, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 5u>::impl_data_t, immer::detail::csl::member<immer::unsafe_refcount_policy, immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee, void>::type>::type>::type const&)
Line
Count
Source
170
29.1M
        {
171
29.1M
            return x.get_(type_t<U>{});
172
29.1M
        }
decltype(auto) immer::detail::csl::get<immer::unsafe_refcount_policy>(immer::detail::csl::member_two<immer::detail::hamts::node<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, colliding_hash_t, std::__1::equal_to<void>, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 5u>::values_data_t, immer::detail::csl::member<immer::unsafe_refcount_policy, immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee, void>::type>::type>::type const&)
Line
Count
Source
170
1.21M
        {
171
1.21M
            return x.get_(type_t<U>{});
172
1.21M
        }
decltype(auto) immer::detail::csl::get<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee>(immer::detail::csl::member_two<immer::detail::hamts::node<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, colliding_hash_t, std::__1::equal_to<void>, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 5u>::impl_data_t, immer::detail::csl::member<immer::unsafe_refcount_policy, immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee, void>::type>::type>::type const&)
Line
Count
Source
170
20.7k
        {
171
20.7k
            return x.get_(type_t<U>{});
172
20.7k
        }
decltype(auto) immer::detail::csl::get<immer::refcount_policy>(immer::detail::csl::member_two<immer::detail::hamts::node<std::__1::pair<unsigned long, int>, immer::map<unsigned long, int, colliding_hash_t, std::__1::equal_to<unsigned long>, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024ul>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true>, 5u>::hash_key, immer::map<unsigned long, int, colliding_hash_t, std::__1::equal_to<unsigned long>, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024ul>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true>, 5u>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024ul>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true>, 5u>::impl_data_t, immer::detail::csl::member<immer::refcount_policy, immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::free_list_heap_policy<immer::cpp_heap, 1024ul> >::type::ownee, void>::type>::type>::type const&)
Line
Count
Source
170
13.0M
        {
171
13.0M
            return x.get_(type_t<U>{});
172
13.0M
        }
decltype(auto) immer::detail::csl::get<immer::refcount_policy>(immer::detail::csl::member_two<immer::detail::hamts::node<std::__1::pair<unsigned long, int>, immer::map<unsigned long, int, colliding_hash_t, std::__1::equal_to<unsigned long>, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024ul>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true>, 5u>::hash_key, immer::map<unsigned long, int, colliding_hash_t, std::__1::equal_to<unsigned long>, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024ul>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true>, 5u>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024ul>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true>, 5u>::values_data_t, immer::detail::csl::member<immer::refcount_policy, immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::free_list_heap_policy<immer::cpp_heap, 1024ul> >::type::ownee, void>::type>::type>::type const&)
Line
Count
Source
170
2.10M
        {
171
2.10M
            return x.get_(type_t<U>{});
172
2.10M
        }
decltype(auto) immer::detail::csl::get<immer::no_transience_policy::apply<immer::free_list_heap_policy<immer::cpp_heap, 1024ul> >::type::ownee>(immer::detail::csl::member_two<immer::detail::hamts::node<std::__1::pair<unsigned long, int>, immer::map<unsigned long, int, colliding_hash_t, std::__1::equal_to<unsigned long>, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024ul>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true>, 5u>::hash_key, immer::map<unsigned long, int, colliding_hash_t, std::__1::equal_to<unsigned long>, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024ul>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true>, 5u>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024ul>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true>, 5u>::impl_data_t, immer::detail::csl::member<immer::refcount_policy, immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::free_list_heap_policy<immer::cpp_heap, 1024ul> >::type::ownee, void>::type>::type>::type const&)
Line
Count
Source
170
20.5k
        {
171
20.5k
            return x.get_(type_t<U>{});
172
20.5k
        }
decltype(auto) immer::detail::csl::get<immer::no_refcount_policy>(immer::detail::csl::member_two<immer::detail::arrays::node<int, immer::memory_policy<immer::heap_policy<immer::gc_heap>, immer::no_refcount_policy, immer::spinlock_policy, immer::gc_transience_policy, false, false> >::data_t, immer::detail::csl::inherit<immer::no_refcount_policy, immer::detail::csl::member<immer::gc_transience_policy::apply<immer::heap_policy<immer::gc_heap> >::type::ownee, void>::type>::type>::type const&)
Line
Count
Source
170
1.56M
        {
171
1.56M
            return x.get_(type_t<U>{});
172
1.56M
        }
decltype(auto) immer::detail::csl::get<immer::gc_transience_policy::apply<immer::heap_policy<immer::gc_heap> >::type::ownee>(immer::detail::csl::member_two<immer::detail::arrays::node<int, immer::memory_policy<immer::heap_policy<immer::gc_heap>, immer::no_refcount_policy, immer::spinlock_policy, immer::gc_transience_policy, false, false> >::data_t, immer::detail::csl::inherit<immer::no_refcount_policy, immer::detail::csl::member<immer::gc_transience_policy::apply<immer::heap_policy<immer::gc_heap> >::type::ownee, void>::type>::type>::type const&)
Line
Count
Source
170
1.43M
        {
171
1.43M
            return x.get_(type_t<U>{});
172
1.43M
        }
decltype(auto) immer::detail::csl::get<immer::unsafe_refcount_policy>(immer::detail::csl::member_two<immer::detail::hamts::node<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, colliding_hash_t, std::__1::equal_to<void>, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 3u>::impl_data_t, immer::detail::csl::member<immer::unsafe_refcount_policy, immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee, void>::type>::type>::type const&)
Line
Count
Source
170
16.5M
        {
171
16.5M
            return x.get_(type_t<U>{});
172
16.5M
        }
decltype(auto) immer::detail::csl::get<immer::unsafe_refcount_policy>(immer::detail::csl::member_two<immer::detail::hamts::node<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, colliding_hash_t, std::__1::equal_to<void>, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 3u>::values_data_t, immer::detail::csl::member<immer::unsafe_refcount_policy, immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee, void>::type>::type>::type const&)
Line
Count
Source
170
986k
        {
171
986k
            return x.get_(type_t<U>{});
172
986k
        }
decltype(auto) immer::detail::csl::get<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee>(immer::detail::csl::member_two<immer::detail::hamts::node<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, colliding_hash_t, std::__1::equal_to<void>, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 3u>::impl_data_t, immer::detail::csl::member<immer::unsafe_refcount_policy, immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee, void>::type>::type>::type const&)
Line
Count
Source
170
20.8k
        {
171
20.8k
            return x.get_(type_t<U>{});
172
20.8k
        }
decltype(auto) immer::detail::csl::get<immer::unsafe_refcount_policy>(immer::detail::csl::member_two<immer::detail::hamts::node<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, immer::box<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024ul>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true> > >, immer::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, immer::box<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024ul>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true> >, colliding_hash_t, std::__1::equal_to<void>, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 5u>::hash_key, immer::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, immer::box<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024ul>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true> >, colliding_hash_t, std::__1::equal_to<void>, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 5u>::equal_key, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 5u>::impl_data_t, immer::detail::csl::member<immer::unsafe_refcount_policy, immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee, void>::type>::type>::type const&)
Line
Count
Source
170
9.08M
        {
171
9.08M
            return x.get_(type_t<U>{});
172
9.08M
        }
decltype(auto) immer::detail::csl::get<immer::unsafe_refcount_policy>(immer::detail::csl::member_two<immer::detail::hamts::node<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, immer::box<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024ul>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true> > >, immer::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, immer::box<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024ul>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true> >, colliding_hash_t, std::__1::equal_to<void>, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 5u>::hash_key, immer::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, immer::box<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024ul>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true> >, colliding_hash_t, std::__1::equal_to<void>, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 5u>::equal_key, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 5u>::values_data_t, immer::detail::csl::member<immer::unsafe_refcount_policy, immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee, void>::type>::type>::type const&)
Line
Count
Source
170
761k
        {
171
761k
            return x.get_(type_t<U>{});
172
761k
        }
decltype(auto) immer::detail::csl::get<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee>(immer::detail::csl::member_two<immer::detail::hamts::node<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, immer::box<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024ul>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true> > >, immer::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, immer::box<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024ul>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true> >, colliding_hash_t, std::__1::equal_to<void>, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 5u>::hash_key, immer::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, immer::box<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024ul>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true> >, colliding_hash_t, std::__1::equal_to<void>, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 5u>::equal_key, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 5u>::impl_data_t, immer::detail::csl::member<immer::unsafe_refcount_policy, immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee, void>::type>::type>::type const&)
Line
Count
Source
170
20.1k
        {
171
20.1k
            return x.get_(type_t<U>{});
172
20.1k
        }
decltype(auto) immer::detail::csl::get<immer::unsafe_refcount_policy>(immer::detail::csl::member_two<immer::detail::rbts::node<int, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 2u, 2u>::impl_data_t, immer::detail::csl::member<immer::unsafe_refcount_policy, immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee, void>::type>::type>::type const&)
Line
Count
Source
170
14.6M
        {
171
14.6M
            return x.get_(type_t<U>{});
172
14.6M
        }
decltype(auto) immer::detail::csl::get<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee>(immer::detail::csl::member_two<immer::detail::rbts::node<int, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 2u, 2u>::impl_data_t, immer::detail::csl::member<immer::unsafe_refcount_policy, immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee, void>::type>::type>::type const&)
Line
Count
Source
170
41.4k
        {
171
41.4k
            return x.get_(type_t<U>{});
172
41.4k
        }
decltype(auto) immer::detail::csl::get<immer::unsafe_refcount_policy>(immer::detail::csl::member_two<immer::detail::hamts::node<unsigned long, colliding_hash_t, std::__1::equal_to<void>, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 5u>::impl_data_t, immer::detail::csl::member<immer::unsafe_refcount_policy, immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee, void>::type>::type>::type const&)
Line
Count
Source
170
14.2M
        {
171
14.2M
            return x.get_(type_t<U>{});
172
14.2M
        }
decltype(auto) immer::detail::csl::get<immer::unsafe_refcount_policy>(immer::detail::csl::member_two<immer::detail::hamts::node<unsigned long, colliding_hash_t, std::__1::equal_to<void>, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 5u>::values_data_t, immer::detail::csl::member<immer::unsafe_refcount_policy, immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee, void>::type>::type>::type const&)
Line
Count
Source
170
2.14M
        {
171
2.14M
            return x.get_(type_t<U>{});
172
2.14M
        }
decltype(auto) immer::detail::csl::get<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee>(immer::detail::csl::member_two<immer::detail::hamts::node<unsigned long, colliding_hash_t, std::__1::equal_to<void>, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 5u>::impl_data_t, immer::detail::csl::member<immer::unsafe_refcount_policy, immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee, void>::type>::type>::type const&)
Line
Count
Source
170
14.4k
        {
171
14.4k
            return x.get_(type_t<U>{});
172
14.4k
        }
decltype(auto) immer::detail::csl::get<immer::refcount_policy>(immer::detail::csl::member_two<immer::detail::hamts::node<unsigned long, colliding_hash_t, std::__1::equal_to<unsigned long>, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024ul>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true>, 5u>::impl_data_t, immer::detail::csl::member<immer::refcount_policy, immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::free_list_heap_policy<immer::cpp_heap, 1024ul> >::type::ownee, void>::type>::type>::type const&)
Line
Count
Source
170
5.93M
        {
171
5.93M
            return x.get_(type_t<U>{});
172
5.93M
        }
decltype(auto) immer::detail::csl::get<immer::refcount_policy>(immer::detail::csl::member_two<immer::detail::hamts::node<unsigned long, colliding_hash_t, std::__1::equal_to<unsigned long>, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024ul>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true>, 5u>::values_data_t, immer::detail::csl::member<immer::refcount_policy, immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::free_list_heap_policy<immer::cpp_heap, 1024ul> >::type::ownee, void>::type>::type>::type const&)
Line
Count
Source
170
1.08M
        {
171
1.08M
            return x.get_(type_t<U>{});
172
1.08M
        }
decltype(auto) immer::detail::csl::get<immer::no_transience_policy::apply<immer::free_list_heap_policy<immer::cpp_heap, 1024ul> >::type::ownee>(immer::detail::csl::member_two<immer::detail::hamts::node<unsigned long, colliding_hash_t, std::__1::equal_to<unsigned long>, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024ul>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true>, 5u>::impl_data_t, immer::detail::csl::member<immer::refcount_policy, immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::free_list_heap_policy<immer::cpp_heap, 1024ul> >::type::ownee, void>::type>::type>::type const&)
Line
Count
Source
170
8.80k
        {
171
8.80k
            return x.get_(type_t<U>{});
172
8.80k
        }
decltype(auto) immer::detail::csl::get<immer::unsafe_refcount_policy>(immer::detail::csl::member_two<immer::detail::hamts::node<std::__1::pair<unsigned long, int>, immer::map<unsigned long, int, colliding_hash_t, std::__1::equal_to<void>, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 5u>::hash_key, immer::map<unsigned long, int, colliding_hash_t, std::__1::equal_to<void>, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 5u>::equal_key, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 5u>::impl_data_t, immer::detail::csl::member<immer::unsafe_refcount_policy, immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee, void>::type>::type>::type const&)
Line
Count
Source
170
13.2M
        {
171
13.2M
            return x.get_(type_t<U>{});
172
13.2M
        }
decltype(auto) immer::detail::csl::get<immer::unsafe_refcount_policy>(immer::detail::csl::member_two<immer::detail::hamts::node<std::__1::pair<unsigned long, int>, immer::map<unsigned long, int, colliding_hash_t, std::__1::equal_to<void>, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 5u>::hash_key, immer::map<unsigned long, int, colliding_hash_t, std::__1::equal_to<void>, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 5u>::equal_key, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 5u>::values_data_t, immer::detail::csl::member<immer::unsafe_refcount_policy, immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee, void>::type>::type>::type const&)
Line
Count
Source
170
2.20M
        {
171
2.20M
            return x.get_(type_t<U>{});
172
2.20M
        }
decltype(auto) immer::detail::csl::get<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee>(immer::detail::csl::member_two<immer::detail::hamts::node<std::__1::pair<unsigned long, int>, immer::map<unsigned long, int, colliding_hash_t, std::__1::equal_to<void>, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 5u>::hash_key, immer::map<unsigned long, int, colliding_hash_t, std::__1::equal_to<void>, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 5u>::equal_key, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 5u>::impl_data_t, immer::detail::csl::member<immer::unsafe_refcount_policy, immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee, void>::type>::type>::type const&)
Line
Count
Source
170
15.0k
        {
171
15.0k
            return x.get_(type_t<U>{});
172
15.0k
        }
decltype(auto) immer::detail::csl::get<immer::no_refcount_policy>(immer::detail::csl::member_two<immer::detail::hamts::node<unsigned long, colliding_hash_t, std::__1::equal_to<void>, immer::memory_policy<immer::heap_policy<immer::gc_heap>, immer::no_refcount_policy, immer::spinlock_policy, immer::gc_transience_policy, false, false>, 5u>::impl_data_t, immer::detail::csl::inherit<immer::no_refcount_policy, immer::detail::csl::member<immer::gc_transience_policy::apply<immer::heap_policy<immer::gc_heap> >::type::ownee, void>::type>::type>::type const&)
Line
Count
Source
170
10.5M
        {
171
10.5M
            return x.get_(type_t<U>{});
172
10.5M
        }
decltype(auto) immer::detail::csl::get<immer::no_refcount_policy>(immer::detail::csl::member_two<immer::detail::hamts::node<unsigned long, colliding_hash_t, std::__1::equal_to<void>, immer::memory_policy<immer::heap_policy<immer::gc_heap>, immer::no_refcount_policy, immer::spinlock_policy, immer::gc_transience_policy, false, false>, 5u>::values_data_t, immer::detail::csl::inherit<immer::no_refcount_policy, immer::detail::csl::member<immer::gc_transience_policy::apply<immer::heap_policy<immer::gc_heap> >::type::ownee, void>::type>::type>::type const&)
Line
Count
Source
170
1.11M
        {
171
1.11M
            return x.get_(type_t<U>{});
172
1.11M
        }
decltype(auto) immer::detail::csl::get<immer::refcount_policy>(immer::detail::csl::member_two<immer::detail::rbts::node<int, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024ul>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true>, 2u, 2u>::impl_data_t, immer::detail::csl::member<immer::refcount_policy, immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::free_list_heap_policy<immer::cpp_heap, 1024ul> >::type::ownee, void>::type>::type>::type const&)
Line
Count
Source
170
119M
        {
171
119M
            return x.get_(type_t<U>{});
172
119M
        }
decltype(auto) immer::detail::csl::get<immer::refcount_policy>(immer::detail::csl::member_two<immer::detail::rbts::node<int, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024ul>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true>, 2u, 2u>::relaxed_data_t, immer::detail::csl::member<immer::refcount_policy, immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::free_list_heap_policy<immer::cpp_heap, 1024ul> >::type::ownee, void>::type>::type>::type const&)
Line
Count
Source
170
12.3M
        {
171
12.3M
            return x.get_(type_t<U>{});
172
12.3M
        }
decltype(auto) immer::detail::csl::get<immer::no_transience_policy::apply<immer::free_list_heap_policy<immer::cpp_heap, 1024ul> >::type::ownee>(immer::detail::csl::member_two<immer::detail::rbts::node<int, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024ul>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true>, 2u, 2u>::impl_data_t, immer::detail::csl::member<immer::refcount_policy, immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::free_list_heap_policy<immer::cpp_heap, 1024ul> >::type::ownee, void>::type>::type>::type const&)
Line
Count
Source
170
127k
        {
171
127k
            return x.get_(type_t<U>{});
172
127k
        }
decltype(auto) immer::detail::csl::get<immer::no_refcount_policy>(immer::detail::csl::member_two<immer::detail::hamts::node<std::__1::pair<unsigned long, int>, immer::map<unsigned long, int, colliding_hash_t, std::__1::equal_to<void>, immer::memory_policy<immer::heap_policy<immer::gc_heap>, immer::no_refcount_policy, immer::spinlock_policy, immer::gc_transience_policy, false, false>, 5u>::hash_key, immer::map<unsigned long, int, colliding_hash_t, std::__1::equal_to<void>, immer::memory_policy<immer::heap_policy<immer::gc_heap>, immer::no_refcount_policy, immer::spinlock_policy, immer::gc_transience_policy, false, false>, 5u>::equal_key, immer::memory_policy<immer::heap_policy<immer::gc_heap>, immer::no_refcount_policy, immer::spinlock_policy, immer::gc_transience_policy, false, false>, 5u>::impl_data_t, immer::detail::csl::inherit<immer::no_refcount_policy, immer::detail::csl::member<immer::gc_transience_policy::apply<immer::heap_policy<immer::gc_heap> >::type::ownee, void>::type>::type>::type const&)
Line
Count
Source
170
20.7M
        {
171
20.7M
            return x.get_(type_t<U>{});
172
20.7M
        }
decltype(auto) immer::detail::csl::get<immer::no_refcount_policy>(immer::detail::csl::member_two<immer::detail::hamts::node<std::__1::pair<unsigned long, int>, immer::map<unsigned long, int, colliding_hash_t, std::__1::equal_to<void>, immer::memory_policy<immer::heap_policy<immer::gc_heap>, immer::no_refcount_policy, immer::spinlock_policy, immer::gc_transience_policy, false, false>, 5u>::hash_key, immer::map<unsigned long, int, colliding_hash_t, std::__1::equal_to<void>, immer::memory_policy<immer::heap_policy<immer::gc_heap>, immer::no_refcount_policy, immer::spinlock_policy, immer::gc_transience_policy, false, false>, 5u>::equal_key, immer::memory_policy<immer::heap_policy<immer::gc_heap>, immer::no_refcount_policy, immer::spinlock_policy, immer::gc_transience_policy, false, false>, 5u>::values_data_t, immer::detail::csl::inherit<immer::no_refcount_policy, immer::detail::csl::member<immer::gc_transience_policy::apply<immer::heap_policy<immer::gc_heap> >::type::ownee, void>::type>::type>::type const&)
Line
Count
Source
170
1.83M
        {
171
1.83M
            return x.get_(type_t<U>{});
172
1.83M
        }
decltype(auto) immer::detail::csl::get<immer::refcount_policy>(immer::detail::csl::member_two<immer::detail::arrays::node<int, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024ul>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true> >::data_t, immer::detail::csl::member<immer::refcount_policy, immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::free_list_heap_policy<immer::cpp_heap, 1024ul> >::type::ownee, void>::type>::type>::type const&)
Line
Count
Source
170
707k
        {
171
707k
            return x.get_(type_t<U>{});
172
707k
        }
decltype(auto) immer::detail::csl::get<immer::no_transience_policy::apply<immer::free_list_heap_policy<immer::cpp_heap, 1024ul> >::type::ownee>(immer::detail::csl::member_two<immer::detail::arrays::node<int, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024ul>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true> >::data_t, immer::detail::csl::member<immer::refcount_policy, immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::free_list_heap_policy<immer::cpp_heap, 1024ul> >::type::ownee, void>::type>::type>::type const&)
Line
Count
Source
170
251
        {
171
251
            return x.get_(type_t<U>{});
172
251
        }
decltype(auto) immer::detail::csl::get<immer::no_refcount_policy>(immer::detail::csl::member_two<immer::detail::rbts::node<int, immer::memory_policy<immer::heap_policy<immer::gc_heap>, immer::no_refcount_policy, immer::spinlock_policy, immer::gc_transience_policy, false, false>, 2u, 2u>::impl_data_t, immer::detail::csl::inherit<immer::no_refcount_policy, immer::detail::csl::member<immer::gc_transience_policy::apply<immer::heap_policy<immer::gc_heap> >::type::ownee, void>::type>::type>::type const&)
Line
Count
Source
170
25.4M
        {
171
25.4M
            return x.get_(type_t<U>{});
172
25.4M
        }
decltype(auto) immer::detail::csl::get<immer::no_refcount_policy>(immer::detail::csl::member_two<immer::detail::rbts::node<int, immer::memory_policy<immer::heap_policy<immer::gc_heap>, immer::no_refcount_policy, immer::spinlock_policy, immer::gc_transience_policy, false, false>, 2u, 2u>::relaxed_data_t, immer::detail::csl::inherit<immer::no_refcount_policy, immer::detail::csl::member<immer::gc_transience_policy::apply<immer::heap_policy<immer::gc_heap> >::type::ownee, void>::type>::type>::type const&)
Line
Count
Source
170
1.29M
        {
171
1.29M
            return x.get_(type_t<U>{});
172
1.29M
        }
decltype(auto) immer::detail::csl::get<immer::gc_transience_policy::apply<immer::heap_policy<immer::gc_heap> >::type::ownee>(immer::detail::csl::member_two<immer::detail::rbts::node<int, immer::memory_policy<immer::heap_policy<immer::gc_heap>, immer::no_refcount_policy, immer::spinlock_policy, immer::gc_transience_policy, false, false>, 2u, 2u>::impl_data_t, immer::detail::csl::inherit<immer::no_refcount_policy, immer::detail::csl::member<immer::gc_transience_policy::apply<immer::heap_policy<immer::gc_heap> >::type::ownee, void>::type>::type>::type const&)
Line
Count
Source
170
18.0M
        {
171
18.0M
            return x.get_(type_t<U>{});
172
18.0M
        }
decltype(auto) immer::detail::csl::get<immer::unsafe_refcount_policy>(immer::detail::csl::member_two<immer::detail::rbts::node<int, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, true, true>, 3u, 3u>::impl_data_t, immer::detail::csl::member<immer::unsafe_refcount_policy, immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee, void>::type>::type>::type const&)
Line
Count
Source
170
507M
        {
171
507M
            return x.get_(type_t<U>{});
172
507M
        }
decltype(auto) immer::detail::csl::get<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee>(immer::detail::csl::member_two<immer::detail::rbts::node<int, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, true, true>, 3u, 3u>::impl_data_t, immer::detail::csl::member<immer::unsafe_refcount_policy, immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee, void>::type>::type>::type const&)
Line
Count
Source
170
290k
        {
171
290k
            return x.get_(type_t<U>{});
172
290k
        }
decltype(auto) immer::detail::csl::get<immer::unsafe_refcount_policy>(immer::detail::csl::member_two<immer::detail::hamts::node<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, immer::box<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024ul>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true> > >, immer::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, immer::box<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024ul>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true> >, colliding_hash_t, std::__1::equal_to<void>, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 3u>::hash_key, immer::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, immer::box<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024ul>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true> >, colliding_hash_t, std::__1::equal_to<void>, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 3u>::equal_key, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 3u>::impl_data_t, immer::detail::csl::member<immer::unsafe_refcount_policy, immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee, void>::type>::type>::type const&)
Line
Count
Source
170
13.5M
        {
171
13.5M
            return x.get_(type_t<U>{});
172
13.5M
        }
decltype(auto) immer::detail::csl::get<immer::unsafe_refcount_policy>(immer::detail::csl::member_two<immer::detail::hamts::node<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, immer::box<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024ul>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true> > >, immer::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, immer::box<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024ul>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true> >, colliding_hash_t, std::__1::equal_to<void>, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 3u>::hash_key, immer::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, immer::box<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024ul>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true> >, colliding_hash_t, std::__1::equal_to<void>, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 3u>::equal_key, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 3u>::values_data_t, immer::detail::csl::member<immer::unsafe_refcount_policy, immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee, void>::type>::type>::type const&)
Line
Count
Source
170
925k
        {
171
925k
            return x.get_(type_t<U>{});
172
925k
        }
decltype(auto) immer::detail::csl::get<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee>(immer::detail::csl::member_two<immer::detail::hamts::node<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, immer::box<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024ul>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true> > >, immer::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, immer::box<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024ul>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true> >, colliding_hash_t, std::__1::equal_to<void>, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 3u>::hash_key, immer::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, immer::box<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024ul>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true> >, colliding_hash_t, std::__1::equal_to<void>, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 3u>::equal_key, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 3u>::impl_data_t, immer::detail::csl::member<immer::unsafe_refcount_policy, immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee, void>::type>::type>::type const&)
Line
Count
Source
170
16.2k
        {
171
16.2k
            return x.get_(type_t<U>{});
172
16.2k
        }
173
174
        T& get_(type_t<T>) { return d; }
175
        const T& get_(type_t<T>) const { return d; }
176
177
        template <typename U>
178
        auto get_(type_t<U> t) -> decltype(auto)
179
198M
        {
180
198M
            return n.get_(t);
181
198M
        }
decltype(auto) immer::detail::csl::member_two<immer::detail::rbts::node<int, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 3u, 3u>::relaxed_data_t, immer::detail::csl::member<immer::unsafe_refcount_policy, immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee, void>::type>::type>::type::get_<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee>(immer::detail::csl::type_t<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee>)
Line
Count
Source
179
54.0M
        {
180
54.0M
            return n.get_(t);
181
54.0M
        }
decltype(auto) immer::detail::csl::member_two<immer::detail::rbts::node<int, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 3u, 3u>::impl_data_t, immer::detail::csl::member<immer::unsafe_refcount_policy, immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee, void>::type>::type>::type::get_<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee>(immer::detail::csl::type_t<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee>)
Line
Count
Source
179
62.7M
        {
180
62.7M
            return n.get_(t);
181
62.7M
        }
decltype(auto) immer::detail::csl::member_two<immer::detail::hamts::node<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, colliding_hash_t, std::__1::equal_to<void>, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 5u>::impl_data_t, immer::detail::csl::member<immer::unsafe_refcount_policy, immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee, void>::type>::type>::type::get_<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee>(immer::detail::csl::type_t<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee>)
Line
Count
Source
179
48.9k
        {
180
48.9k
            return n.get_(t);
181
48.9k
        }
decltype(auto) immer::detail::csl::member_two<immer::detail::hamts::node<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, colliding_hash_t, std::__1::equal_to<void>, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 5u>::values_data_t, immer::detail::csl::member<immer::unsafe_refcount_policy, immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee, void>::type>::type>::type::get_<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee>(immer::detail::csl::type_t<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee>)
Line
Count
Source
179
46.4k
        {
180
46.4k
            return n.get_(t);
181
46.4k
        }
decltype(auto) immer::detail::csl::member_two<immer::detail::hamts::node<std::__1::pair<unsigned long, int>, immer::map<unsigned long, int, colliding_hash_t, std::__1::equal_to<unsigned long>, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024ul>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true>, 5u>::hash_key, immer::map<unsigned long, int, colliding_hash_t, std::__1::equal_to<unsigned long>, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024ul>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true>, 5u>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024ul>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true>, 5u>::impl_data_t, immer::detail::csl::member<immer::refcount_policy, immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::free_list_heap_policy<immer::cpp_heap, 1024ul> >::type::ownee, void>::type>::type>::type::get_<immer::no_transience_policy::apply<immer::free_list_heap_policy<immer::cpp_heap, 1024ul> >::type::ownee>(immer::detail::csl::type_t<immer::no_transience_policy::apply<immer::free_list_heap_policy<immer::cpp_heap, 1024ul> >::type::ownee>)
Line
Count
Source
179
49.8k
        {
180
49.8k
            return n.get_(t);
181
49.8k
        }
decltype(auto) immer::detail::csl::member_two<immer::detail::hamts::node<std::__1::pair<unsigned long, int>, immer::map<unsigned long, int, colliding_hash_t, std::__1::equal_to<unsigned long>, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024ul>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true>, 5u>::hash_key, immer::map<unsigned long, int, colliding_hash_t, std::__1::equal_to<unsigned long>, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024ul>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true>, 5u>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024ul>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true>, 5u>::values_data_t, immer::detail::csl::member<immer::refcount_policy, immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::free_list_heap_policy<immer::cpp_heap, 1024ul> >::type::ownee, void>::type>::type>::type::get_<immer::no_transience_policy::apply<immer::free_list_heap_policy<immer::cpp_heap, 1024ul> >::type::ownee>(immer::detail::csl::type_t<immer::no_transience_policy::apply<immer::free_list_heap_policy<immer::cpp_heap, 1024ul> >::type::ownee>)
Line
Count
Source
179
27.5k
        {
180
27.5k
            return n.get_(t);
181
27.5k
        }
decltype(auto) immer::detail::csl::member_two<immer::detail::arrays::node<int, immer::memory_policy<immer::heap_policy<immer::gc_heap>, immer::no_refcount_policy, immer::spinlock_policy, immer::gc_transience_policy, false, false> >::data_t, immer::detail::csl::inherit<immer::no_refcount_policy, immer::detail::csl::member<immer::gc_transience_policy::apply<immer::heap_policy<immer::gc_heap> >::type::ownee, void>::type>::type>::type::get_<immer::gc_transience_policy::apply<immer::heap_policy<immer::gc_heap> >::type::ownee>(immer::detail::csl::type_t<immer::gc_transience_policy::apply<immer::heap_policy<immer::gc_heap> >::type::ownee>)
Line
Count
Source
179
12.7k
        {
180
12.7k
            return n.get_(t);
181
12.7k
        }
decltype(auto) immer::detail::csl::member_two<immer::detail::hamts::node<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, colliding_hash_t, std::__1::equal_to<void>, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 3u>::impl_data_t, immer::detail::csl::member<immer::unsafe_refcount_policy, immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee, void>::type>::type>::type::get_<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee>(immer::detail::csl::type_t<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee>)
Line
Count
Source
179
53.5k
        {
180
53.5k
            return n.get_(t);
181
53.5k
        }
decltype(auto) immer::detail::csl::member_two<immer::detail::hamts::node<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, colliding_hash_t, std::__1::equal_to<void>, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 3u>::values_data_t, immer::detail::csl::member<immer::unsafe_refcount_policy, immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee, void>::type>::type>::type::get_<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee>(immer::detail::csl::type_t<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee>)
Line
Count
Source
179
31.8k
        {
180
31.8k
            return n.get_(t);
181
31.8k
        }
decltype(auto) immer::detail::csl::member_two<immer::detail::hamts::node<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, immer::box<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024ul>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true> > >, immer::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, immer::box<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024ul>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true> >, colliding_hash_t, std::__1::equal_to<void>, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 5u>::hash_key, immer::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, immer::box<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024ul>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true> >, colliding_hash_t, std::__1::equal_to<void>, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 5u>::equal_key, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 5u>::impl_data_t, immer::detail::csl::member<immer::unsafe_refcount_policy, immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee, void>::type>::type>::type::get_<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee>(immer::detail::csl::type_t<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee>)
Line
Count
Source
179
41.9k
        {
180
41.9k
            return n.get_(t);
181
41.9k
        }
decltype(auto) immer::detail::csl::member_two<immer::detail::hamts::node<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, immer::box<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024ul>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true> > >, immer::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, immer::box<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024ul>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true> >, colliding_hash_t, std::__1::equal_to<void>, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 5u>::hash_key, immer::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, immer::box<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024ul>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true> >, colliding_hash_t, std::__1::equal_to<void>, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 5u>::equal_key, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 5u>::values_data_t, immer::detail::csl::member<immer::unsafe_refcount_policy, immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee, void>::type>::type>::type::get_<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee>(immer::detail::csl::type_t<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee>)
Line
Count
Source
179
36.1k
        {
180
36.1k
            return n.get_(t);
181
36.1k
        }
decltype(auto) immer::detail::csl::member_two<immer::detail::rbts::node<int, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 2u, 2u>::impl_data_t, immer::detail::csl::member<immer::unsafe_refcount_policy, immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee, void>::type>::type>::type::get_<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee>(immer::detail::csl::type_t<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee>)
Line
Count
Source
179
2.80M
        {
180
2.80M
            return n.get_(t);
181
2.80M
        }
decltype(auto) immer::detail::csl::member_two<immer::detail::hamts::node<unsigned long, colliding_hash_t, std::__1::equal_to<void>, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 5u>::impl_data_t, immer::detail::csl::member<immer::unsafe_refcount_policy, immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee, void>::type>::type>::type::get_<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee>(immer::detail::csl::type_t<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee>)
Line
Count
Source
179
41.9k
        {
180
41.9k
            return n.get_(t);
181
41.9k
        }
decltype(auto) immer::detail::csl::member_two<immer::detail::hamts::node<unsigned long, colliding_hash_t, std::__1::equal_to<void>, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 5u>::values_data_t, immer::detail::csl::member<immer::unsafe_refcount_policy, immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee, void>::type>::type>::type::get_<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee>(immer::detail::csl::type_t<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee>)
Line
Count
Source
179
27.3k
        {
180
27.3k
            return n.get_(t);
181
27.3k
        }
decltype(auto) immer::detail::csl::member_two<immer::detail::hamts::node<unsigned long, colliding_hash_t, std::__1::equal_to<unsigned long>, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024ul>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true>, 5u>::impl_data_t, immer::detail::csl::member<immer::refcount_policy, immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::free_list_heap_policy<immer::cpp_heap, 1024ul> >::type::ownee, void>::type>::type>::type::get_<immer::no_transience_policy::apply<immer::free_list_heap_policy<immer::cpp_heap, 1024ul> >::type::ownee>(immer::detail::csl::type_t<immer::no_transience_policy::apply<immer::free_list_heap_policy<immer::cpp_heap, 1024ul> >::type::ownee>)
Line
Count
Source
179
38.6k
        {
180
38.6k
            return n.get_(t);
181
38.6k
        }
decltype(auto) immer::detail::csl::member_two<immer::detail::hamts::node<unsigned long, colliding_hash_t, std::__1::equal_to<unsigned long>, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024ul>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true>, 5u>::values_data_t, immer::detail::csl::member<immer::refcount_policy, immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::free_list_heap_policy<immer::cpp_heap, 1024ul> >::type::ownee, void>::type>::type>::type::get_<immer::no_transience_policy::apply<immer::free_list_heap_policy<immer::cpp_heap, 1024ul> >::type::ownee>(immer::detail::csl::type_t<immer::no_transience_policy::apply<immer::free_list_heap_policy<immer::cpp_heap, 1024ul> >::type::ownee>)
Line
Count
Source
179
23.8k
        {
180
23.8k
            return n.get_(t);
181
23.8k
        }
decltype(auto) immer::detail::csl::member_two<immer::detail::hamts::node<std::__1::pair<unsigned long, int>, immer::map<unsigned long, int, colliding_hash_t, std::__1::equal_to<void>, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 5u>::hash_key, immer::map<unsigned long, int, colliding_hash_t, std::__1::equal_to<void>, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 5u>::equal_key, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 5u>::impl_data_t, immer::detail::csl::member<immer::unsafe_refcount_policy, immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee, void>::type>::type>::type::get_<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee>(immer::detail::csl::type_t<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee>)
Line
Count
Source
179
58.7k
        {
180
58.7k
            return n.get_(t);
181
58.7k
        }
decltype(auto) immer::detail::csl::member_two<immer::detail::hamts::node<std::__1::pair<unsigned long, int>, immer::map<unsigned long, int, colliding_hash_t, std::__1::equal_to<void>, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 5u>::hash_key, immer::map<unsigned long, int, colliding_hash_t, std::__1::equal_to<void>, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 5u>::equal_key, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 5u>::values_data_t, immer::detail::csl::member<immer::unsafe_refcount_policy, immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee, void>::type>::type>::type::get_<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee>(immer::detail::csl::type_t<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee>)
Line
Count
Source
179
34.2k
        {
180
34.2k
            return n.get_(t);
181
34.2k
        }
decltype(auto) immer::detail::csl::member_two<immer::detail::rbts::node<int, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024ul>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true>, 2u, 2u>::relaxed_data_t, immer::detail::csl::member<immer::refcount_policy, immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::free_list_heap_policy<immer::cpp_heap, 1024ul> >::type::ownee, void>::type>::type>::type::get_<immer::no_transience_policy::apply<immer::free_list_heap_policy<immer::cpp_heap, 1024ul> >::type::ownee>(immer::detail::csl::type_t<immer::no_transience_policy::apply<immer::free_list_heap_policy<immer::cpp_heap, 1024ul> >::type::ownee>)
Line
Count
Source
179
11.5M
        {
180
11.5M
            return n.get_(t);
181
11.5M
        }
decltype(auto) immer::detail::csl::member_two<immer::detail::rbts::node<int, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024ul>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true>, 2u, 2u>::impl_data_t, immer::detail::csl::member<immer::refcount_policy, immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::free_list_heap_policy<immer::cpp_heap, 1024ul> >::type::ownee, void>::type>::type>::type::get_<immer::no_transience_policy::apply<immer::free_list_heap_policy<immer::cpp_heap, 1024ul> >::type::ownee>(immer::detail::csl::type_t<immer::no_transience_policy::apply<immer::free_list_heap_policy<immer::cpp_heap, 1024ul> >::type::ownee>)
Line
Count
Source
179
19.4M
        {
180
19.4M
            return n.get_(t);
181
19.4M
        }
decltype(auto) immer::detail::csl::member_two<immer::detail::arrays::node<int, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024ul>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true> >::data_t, immer::detail::csl::member<immer::refcount_policy, immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::free_list_heap_policy<immer::cpp_heap, 1024ul> >::type::ownee, void>::type>::type>::type::get_<immer::no_transience_policy::apply<immer::free_list_heap_policy<immer::cpp_heap, 1024ul> >::type::ownee>(immer::detail::csl::type_t<immer::no_transience_policy::apply<immer::free_list_heap_policy<immer::cpp_heap, 1024ul> >::type::ownee>)
Line
Count
Source
179
3.85k
        {
180
3.85k
            return n.get_(t);
181
3.85k
        }
decltype(auto) immer::detail::csl::member_two<immer::detail::rbts::node<int, immer::memory_policy<immer::heap_policy<immer::gc_heap>, immer::no_refcount_policy, immer::spinlock_policy, immer::gc_transience_policy, false, false>, 2u, 2u>::relaxed_data_t, immer::detail::csl::inherit<immer::no_refcount_policy, immer::detail::csl::member<immer::gc_transience_policy::apply<immer::heap_policy<immer::gc_heap> >::type::ownee, void>::type>::type>::type::get_<immer::gc_transience_policy::apply<immer::heap_policy<immer::gc_heap> >::type::ownee>(immer::detail::csl::type_t<immer::gc_transience_policy::apply<immer::heap_policy<immer::gc_heap> >::type::ownee>)
Line
Count
Source
179
2.48M
        {
180
2.48M
            return n.get_(t);
181
2.48M
        }
decltype(auto) immer::detail::csl::member_two<immer::detail::rbts::node<int, immer::memory_policy<immer::heap_policy<immer::gc_heap>, immer::no_refcount_policy, immer::spinlock_policy, immer::gc_transience_policy, false, false>, 2u, 2u>::impl_data_t, immer::detail::csl::inherit<immer::no_refcount_policy, immer::detail::csl::member<immer::gc_transience_policy::apply<immer::heap_policy<immer::gc_heap> >::type::ownee, void>::type>::type>::type::get_<immer::gc_transience_policy::apply<immer::heap_policy<immer::gc_heap> >::type::ownee>(immer::detail::csl::type_t<immer::gc_transience_policy::apply<immer::heap_policy<immer::gc_heap> >::type::ownee>)
Line
Count
Source
179
3.65M
        {
180
3.65M
            return n.get_(t);
181
3.65M
        }
decltype(auto) immer::detail::csl::member_two<immer::detail::rbts::node<int, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, true, true>, 3u, 3u>::impl_data_t, immer::detail::csl::member<immer::unsafe_refcount_policy, immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee, void>::type>::type>::type::get_<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee>(immer::detail::csl::type_t<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee>)
Line
Count
Source
179
40.6M
        {
180
40.6M
            return n.get_(t);
181
40.6M
        }
decltype(auto) immer::detail::csl::member_two<immer::detail::hamts::node<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, immer::box<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024ul>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true> > >, immer::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, immer::box<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024ul>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true> >, colliding_hash_t, std::__1::equal_to<void>, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 3u>::hash_key, immer::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, immer::box<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024ul>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true> >, colliding_hash_t, std::__1::equal_to<void>, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 3u>::equal_key, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 3u>::impl_data_t, immer::detail::csl::member<immer::unsafe_refcount_policy, immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee, void>::type>::type>::type::get_<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee>(immer::detail::csl::type_t<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee>)
Line
Count
Source
179
82.9k
        {
180
82.9k
            return n.get_(t);
181
82.9k
        }
decltype(auto) immer::detail::csl::member_two<immer::detail::hamts::node<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, immer::box<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024ul>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true> > >, immer::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, immer::box<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024ul>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true> >, colliding_hash_t, std::__1::equal_to<void>, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 3u>::hash_key, immer::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, immer::box<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024ul>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true> >, colliding_hash_t, std::__1::equal_to<void>, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 3u>::equal_key, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 3u>::values_data_t, immer::detail::csl::member<immer::unsafe_refcount_policy, immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee, void>::type>::type>::type::get_<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee>(immer::detail::csl::type_t<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee>)
Line
Count
Source
179
28.2k
        {
180
28.2k
            return n.get_(t);
181
28.2k
        }
182
        template <typename U>
183
        auto get_(type_t<U> t) const -> decltype(auto)
184
1.69G
        {
185
1.69G
            return n.get_(t);
186
1.69G
        }
decltype(auto) immer::detail::csl::member_two<immer::detail::rbts::node<int, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 3u, 3u>::impl_data_t, immer::detail::csl::member<immer::unsafe_refcount_policy, immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee, void>::type>::type>::type::get_<immer::unsafe_refcount_policy>(immer::detail::csl::type_t<immer::unsafe_refcount_policy>) const
Line
Count
Source
184
774M
        {
185
774M
            return n.get_(t);
186
774M
        }
decltype(auto) immer::detail::csl::member_two<immer::detail::rbts::node<int, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 3u, 3u>::relaxed_data_t, immer::detail::csl::member<immer::unsafe_refcount_policy, immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee, void>::type>::type>::type::get_<immer::unsafe_refcount_policy>(immer::detail::csl::type_t<immer::unsafe_refcount_policy>) const
Line
Count
Source
184
54.8M
        {
185
54.8M
            return n.get_(t);
186
54.8M
        }
decltype(auto) immer::detail::csl::member_two<immer::detail::rbts::node<int, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 3u, 3u>::impl_data_t, immer::detail::csl::member<immer::unsafe_refcount_policy, immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee, void>::type>::type>::type::get_<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee>(immer::detail::csl::type_t<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee>) const
Line
Count
Source
184
164k
        {
185
164k
            return n.get_(t);
186
164k
        }
decltype(auto) immer::detail::csl::member_two<immer::detail::hamts::node<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, colliding_hash_t, std::__1::equal_to<void>, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 5u>::impl_data_t, immer::detail::csl::member<immer::unsafe_refcount_policy, immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee, void>::type>::type>::type::get_<immer::unsafe_refcount_policy>(immer::detail::csl::type_t<immer::unsafe_refcount_policy>) const
Line
Count
Source
184
29.1M
        {
185
29.1M
            return n.get_(t);
186
29.1M
        }
decltype(auto) immer::detail::csl::member_two<immer::detail::hamts::node<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, colliding_hash_t, std::__1::equal_to<void>, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 5u>::values_data_t, immer::detail::csl::member<immer::unsafe_refcount_policy, immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee, void>::type>::type>::type::get_<immer::unsafe_refcount_policy>(immer::detail::csl::type_t<immer::unsafe_refcount_policy>) const
Line
Count
Source
184
1.21M
        {
185
1.21M
            return n.get_(t);
186
1.21M
        }
decltype(auto) immer::detail::csl::member_two<immer::detail::hamts::node<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, colliding_hash_t, std::__1::equal_to<void>, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 5u>::impl_data_t, immer::detail::csl::member<immer::unsafe_refcount_policy, immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee, void>::type>::type>::type::get_<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee>(immer::detail::csl::type_t<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee>) const
Line
Count
Source
184
20.7k
        {
185
20.7k
            return n.get_(t);
186
20.7k
        }
decltype(auto) immer::detail::csl::member_two<immer::detail::hamts::node<std::__1::pair<unsigned long, int>, immer::map<unsigned long, int, colliding_hash_t, std::__1::equal_to<unsigned long>, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024ul>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true>, 5u>::hash_key, immer::map<unsigned long, int, colliding_hash_t, std::__1::equal_to<unsigned long>, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024ul>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true>, 5u>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024ul>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true>, 5u>::impl_data_t, immer::detail::csl::member<immer::refcount_policy, immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::free_list_heap_policy<immer::cpp_heap, 1024ul> >::type::ownee, void>::type>::type>::type::get_<immer::refcount_policy>(immer::detail::csl::type_t<immer::refcount_policy>) const
Line
Count
Source
184
13.0M
        {
185
13.0M
            return n.get_(t);
186
13.0M
        }
decltype(auto) immer::detail::csl::member_two<immer::detail::hamts::node<std::__1::pair<unsigned long, int>, immer::map<unsigned long, int, colliding_hash_t, std::__1::equal_to<unsigned long>, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024ul>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true>, 5u>::hash_key, immer::map<unsigned long, int, colliding_hash_t, std::__1::equal_to<unsigned long>, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024ul>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true>, 5u>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024ul>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true>, 5u>::values_data_t, immer::detail::csl::member<immer::refcount_policy, immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::free_list_heap_policy<immer::cpp_heap, 1024ul> >::type::ownee, void>::type>::type>::type::get_<immer::refcount_policy>(immer::detail::csl::type_t<immer::refcount_policy>) const
Line
Count
Source
184
2.10M
        {
185
2.10M
            return n.get_(t);
186
2.10M
        }
decltype(auto) immer::detail::csl::member_two<immer::detail::hamts::node<std::__1::pair<unsigned long, int>, immer::map<unsigned long, int, colliding_hash_t, std::__1::equal_to<unsigned long>, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024ul>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true>, 5u>::hash_key, immer::map<unsigned long, int, colliding_hash_t, std::__1::equal_to<unsigned long>, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024ul>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true>, 5u>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024ul>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true>, 5u>::impl_data_t, immer::detail::csl::member<immer::refcount_policy, immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::free_list_heap_policy<immer::cpp_heap, 1024ul> >::type::ownee, void>::type>::type>::type::get_<immer::no_transience_policy::apply<immer::free_list_heap_policy<immer::cpp_heap, 1024ul> >::type::ownee>(immer::detail::csl::type_t<immer::no_transience_policy::apply<immer::free_list_heap_policy<immer::cpp_heap, 1024ul> >::type::ownee>) const
Line
Count
Source
184
20.5k
        {
185
20.5k
            return n.get_(t);
186
20.5k
        }
decltype(auto) immer::detail::csl::member_two<immer::detail::arrays::node<int, immer::memory_policy<immer::heap_policy<immer::gc_heap>, immer::no_refcount_policy, immer::spinlock_policy, immer::gc_transience_policy, false, false> >::data_t, immer::detail::csl::inherit<immer::no_refcount_policy, immer::detail::csl::member<immer::gc_transience_policy::apply<immer::heap_policy<immer::gc_heap> >::type::ownee, void>::type>::type>::type::get_<immer::no_refcount_policy>(immer::detail::csl::type_t<immer::no_refcount_policy>) const
Line
Count
Source
184
1.56M
        {
185
1.56M
            return n.get_(t);
186
1.56M
        }
decltype(auto) immer::detail::csl::member_two<immer::detail::arrays::node<int, immer::memory_policy<immer::heap_policy<immer::gc_heap>, immer::no_refcount_policy, immer::spinlock_policy, immer::gc_transience_policy, false, false> >::data_t, immer::detail::csl::inherit<immer::no_refcount_policy, immer::detail::csl::member<immer::gc_transience_policy::apply<immer::heap_policy<immer::gc_heap> >::type::ownee, void>::type>::type>::type::get_<immer::gc_transience_policy::apply<immer::heap_policy<immer::gc_heap> >::type::ownee>(immer::detail::csl::type_t<immer::gc_transience_policy::apply<immer::heap_policy<immer::gc_heap> >::type::ownee>) const
Line
Count
Source
184
1.43M
        {
185
1.43M
            return n.get_(t);
186
1.43M
        }
decltype(auto) immer::detail::csl::member_two<immer::detail::hamts::node<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, colliding_hash_t, std::__1::equal_to<void>, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 3u>::impl_data_t, immer::detail::csl::member<immer::unsafe_refcount_policy, immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee, void>::type>::type>::type::get_<immer::unsafe_refcount_policy>(immer::detail::csl::type_t<immer::unsafe_refcount_policy>) const
Line
Count
Source
184
16.5M
        {
185
16.5M
            return n.get_(t);
186
16.5M
        }
decltype(auto) immer::detail::csl::member_two<immer::detail::hamts::node<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, colliding_hash_t, std::__1::equal_to<void>, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 3u>::values_data_t, immer::detail::csl::member<immer::unsafe_refcount_policy, immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee, void>::type>::type>::type::get_<immer::unsafe_refcount_policy>(immer::detail::csl::type_t<immer::unsafe_refcount_policy>) const
Line
Count
Source
184
986k
        {
185
986k
            return n.get_(t);
186
986k
        }
decltype(auto) immer::detail::csl::member_two<immer::detail::hamts::node<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, colliding_hash_t, std::__1::equal_to<void>, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 3u>::impl_data_t, immer::detail::csl::member<immer::unsafe_refcount_policy, immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee, void>::type>::type>::type::get_<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee>(immer::detail::csl::type_t<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee>) const
Line
Count
Source
184
20.8k
        {
185
20.8k
            return n.get_(t);
186
20.8k
        }
decltype(auto) immer::detail::csl::member_two<immer::detail::hamts::node<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, immer::box<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024ul>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true> > >, immer::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, immer::box<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024ul>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true> >, colliding_hash_t, std::__1::equal_to<void>, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 5u>::hash_key, immer::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, immer::box<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024ul>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true> >, colliding_hash_t, std::__1::equal_to<void>, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 5u>::equal_key, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 5u>::impl_data_t, immer::detail::csl::member<immer::unsafe_refcount_policy, immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee, void>::type>::type>::type::get_<immer::unsafe_refcount_policy>(immer::detail::csl::type_t<immer::unsafe_refcount_policy>) const
Line
Count
Source
184
9.08M
        {
185
9.08M
            return n.get_(t);
186
9.08M
        }
decltype(auto) immer::detail::csl::member_two<immer::detail::hamts::node<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, immer::box<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024ul>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true> > >, immer::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, immer::box<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024ul>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true> >, colliding_hash_t, std::__1::equal_to<void>, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 5u>::hash_key, immer::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, immer::box<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024ul>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true> >, colliding_hash_t, std::__1::equal_to<void>, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 5u>::equal_key, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 5u>::values_data_t, immer::detail::csl::member<immer::unsafe_refcount_policy, immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee, void>::type>::type>::type::get_<immer::unsafe_refcount_policy>(immer::detail::csl::type_t<immer::unsafe_refcount_policy>) const
Line
Count
Source
184
761k
        {
185
761k
            return n.get_(t);
186
761k
        }
decltype(auto) immer::detail::csl::member_two<immer::detail::hamts::node<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, immer::box<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024ul>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true> > >, immer::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, immer::box<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024ul>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true> >, colliding_hash_t, std::__1::equal_to<void>, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 5u>::hash_key, immer::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, immer::box<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024ul>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true> >, colliding_hash_t, std::__1::equal_to<void>, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 5u>::equal_key, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 5u>::impl_data_t, immer::detail::csl::member<immer::unsafe_refcount_policy, immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee, void>::type>::type>::type::get_<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee>(immer::detail::csl::type_t<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee>) const
Line
Count
Source
184
20.1k
        {
185
20.1k
            return n.get_(t);
186
20.1k
        }
decltype(auto) immer::detail::csl::member_two<immer::detail::rbts::node<int, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 2u, 2u>::impl_data_t, immer::detail::csl::member<immer::unsafe_refcount_policy, immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee, void>::type>::type>::type::get_<immer::unsafe_refcount_policy>(immer::detail::csl::type_t<immer::unsafe_refcount_policy>) const
Line
Count
Source
184
14.6M
        {
185
14.6M
            return n.get_(t);
186
14.6M
        }
decltype(auto) immer::detail::csl::member_two<immer::detail::rbts::node<int, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 2u, 2u>::impl_data_t, immer::detail::csl::member<immer::unsafe_refcount_policy, immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee, void>::type>::type>::type::get_<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee>(immer::detail::csl::type_t<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee>) const
Line
Count
Source
184
41.4k
        {
185
41.4k
            return n.get_(t);
186
41.4k
        }
decltype(auto) immer::detail::csl::member_two<immer::detail::hamts::node<unsigned long, colliding_hash_t, std::__1::equal_to<void>, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 5u>::impl_data_t, immer::detail::csl::member<immer::unsafe_refcount_policy, immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee, void>::type>::type>::type::get_<immer::unsafe_refcount_policy>(immer::detail::csl::type_t<immer::unsafe_refcount_policy>) const
Line
Count
Source
184
14.2M
        {
185
14.2M
            return n.get_(t);
186
14.2M
        }
decltype(auto) immer::detail::csl::member_two<immer::detail::hamts::node<unsigned long, colliding_hash_t, std::__1::equal_to<void>, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 5u>::values_data_t, immer::detail::csl::member<immer::unsafe_refcount_policy, immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee, void>::type>::type>::type::get_<immer::unsafe_refcount_policy>(immer::detail::csl::type_t<immer::unsafe_refcount_policy>) const
Line
Count
Source
184
2.14M
        {
185
2.14M
            return n.get_(t);
186
2.14M
        }
decltype(auto) immer::detail::csl::member_two<immer::detail::hamts::node<unsigned long, colliding_hash_t, std::__1::equal_to<void>, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 5u>::impl_data_t, immer::detail::csl::member<immer::unsafe_refcount_policy, immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee, void>::type>::type>::type::get_<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee>(immer::detail::csl::type_t<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee>) const
Line
Count
Source
184
14.4k
        {
185
14.4k
            return n.get_(t);
186
14.4k
        }
decltype(auto) immer::detail::csl::member_two<immer::detail::hamts::node<unsigned long, colliding_hash_t, std::__1::equal_to<unsigned long>, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024ul>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true>, 5u>::impl_data_t, immer::detail::csl::member<immer::refcount_policy, immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::free_list_heap_policy<immer::cpp_heap, 1024ul> >::type::ownee, void>::type>::type>::type::get_<immer::refcount_policy>(immer::detail::csl::type_t<immer::refcount_policy>) const
Line
Count
Source
184
5.93M
        {
185
5.93M
            return n.get_(t);
186
5.93M
        }
decltype(auto) immer::detail::csl::member_two<immer::detail::hamts::node<unsigned long, colliding_hash_t, std::__1::equal_to<unsigned long>, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024ul>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true>, 5u>::values_data_t, immer::detail::csl::member<immer::refcount_policy, immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::free_list_heap_policy<immer::cpp_heap, 1024ul> >::type::ownee, void>::type>::type>::type::get_<immer::refcount_policy>(immer::detail::csl::type_t<immer::refcount_policy>) const
Line
Count
Source
184
1.08M
        {
185
1.08M
            return n.get_(t);
186
1.08M
        }
decltype(auto) immer::detail::csl::member_two<immer::detail::hamts::node<unsigned long, colliding_hash_t, std::__1::equal_to<unsigned long>, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024ul>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true>, 5u>::impl_data_t, immer::detail::csl::member<immer::refcount_policy, immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::free_list_heap_policy<immer::cpp_heap, 1024ul> >::type::ownee, void>::type>::type>::type::get_<immer::no_transience_policy::apply<immer::free_list_heap_policy<immer::cpp_heap, 1024ul> >::type::ownee>(immer::detail::csl::type_t<immer::no_transience_policy::apply<immer::free_list_heap_policy<immer::cpp_heap, 1024ul> >::type::ownee>) const
Line
Count
Source
184
8.80k
        {
185
8.80k
            return n.get_(t);
186
8.80k
        }
decltype(auto) immer::detail::csl::member_two<immer::detail::hamts::node<std::__1::pair<unsigned long, int>, immer::map<unsigned long, int, colliding_hash_t, std::__1::equal_to<void>, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 5u>::hash_key, immer::map<unsigned long, int, colliding_hash_t, std::__1::equal_to<void>, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 5u>::equal_key, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 5u>::impl_data_t, immer::detail::csl::member<immer::unsafe_refcount_policy, immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee, void>::type>::type>::type::get_<immer::unsafe_refcount_policy>(immer::detail::csl::type_t<immer::unsafe_refcount_policy>) const
Line
Count
Source
184
13.2M
        {
185
13.2M
            return n.get_(t);
186
13.2M
        }
decltype(auto) immer::detail::csl::member_two<immer::detail::hamts::node<std::__1::pair<unsigned long, int>, immer::map<unsigned long, int, colliding_hash_t, std::__1::equal_to<void>, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 5u>::hash_key, immer::map<unsigned long, int, colliding_hash_t, std::__1::equal_to<void>, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 5u>::equal_key, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 5u>::values_data_t, immer::detail::csl::member<immer::unsafe_refcount_policy, immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee, void>::type>::type>::type::get_<immer::unsafe_refcount_policy>(immer::detail::csl::type_t<immer::unsafe_refcount_policy>) const
Line
Count
Source
184
2.20M
        {
185
2.20M
            return n.get_(t);
186
2.20M
        }
decltype(auto) immer::detail::csl::member_two<immer::detail::hamts::node<std::__1::pair<unsigned long, int>, immer::map<unsigned long, int, colliding_hash_t, std::__1::equal_to<void>, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 5u>::hash_key, immer::map<unsigned long, int, colliding_hash_t, std::__1::equal_to<void>, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 5u>::equal_key, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 5u>::impl_data_t, immer::detail::csl::member<immer::unsafe_refcount_policy, immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee, void>::type>::type>::type::get_<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee>(immer::detail::csl::type_t<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee>) const
Line
Count
Source
184
15.0k
        {
185
15.0k
            return n.get_(t);
186
15.0k
        }
decltype(auto) immer::detail::csl::member_two<immer::detail::hamts::node<unsigned long, colliding_hash_t, std::__1::equal_to<void>, immer::memory_policy<immer::heap_policy<immer::gc_heap>, immer::no_refcount_policy, immer::spinlock_policy, immer::gc_transience_policy, false, false>, 5u>::impl_data_t, immer::detail::csl::inherit<immer::no_refcount_policy, immer::detail::csl::member<immer::gc_transience_policy::apply<immer::heap_policy<immer::gc_heap> >::type::ownee, void>::type>::type>::type::get_<immer::no_refcount_policy>(immer::detail::csl::type_t<immer::no_refcount_policy>) const
Line
Count
Source
184
10.5M
        {
185
10.5M
            return n.get_(t);
186
10.5M
        }
decltype(auto) immer::detail::csl::member_two<immer::detail::hamts::node<unsigned long, colliding_hash_t, std::__1::equal_to<void>, immer::memory_policy<immer::heap_policy<immer::gc_heap>, immer::no_refcount_policy, immer::spinlock_policy, immer::gc_transience_policy, false, false>, 5u>::values_data_t, immer::detail::csl::inherit<immer::no_refcount_policy, immer::detail::csl::member<immer::gc_transience_policy::apply<immer::heap_policy<immer::gc_heap> >::type::ownee, void>::type>::type>::type::get_<immer::no_refcount_policy>(immer::detail::csl::type_t<immer::no_refcount_policy>) const
Line
Count
Source
184
1.11M
        {
185
1.11M
            return n.get_(t);
186
1.11M
        }
decltype(auto) immer::detail::csl::member_two<immer::detail::rbts::node<int, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024ul>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true>, 2u, 2u>::impl_data_t, immer::detail::csl::member<immer::refcount_policy, immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::free_list_heap_policy<immer::cpp_heap, 1024ul> >::type::ownee, void>::type>::type>::type::get_<immer::refcount_policy>(immer::detail::csl::type_t<immer::refcount_policy>) const
Line
Count
Source
184
119M
        {
185
119M
            return n.get_(t);
186
119M
        }
decltype(auto) immer::detail::csl::member_two<immer::detail::rbts::node<int, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024ul>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true>, 2u, 2u>::relaxed_data_t, immer::detail::csl::member<immer::refcount_policy, immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::free_list_heap_policy<immer::cpp_heap, 1024ul> >::type::ownee, void>::type>::type>::type::get_<immer::refcount_policy>(immer::detail::csl::type_t<immer::refcount_policy>) const
Line
Count
Source
184
12.3M
        {
185
12.3M
            return n.get_(t);
186
12.3M
        }
decltype(auto) immer::detail::csl::member_two<immer::detail::rbts::node<int, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024ul>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true>, 2u, 2u>::impl_data_t, immer::detail::csl::member<immer::refcount_policy, immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::free_list_heap_policy<immer::cpp_heap, 1024ul> >::type::ownee, void>::type>::type>::type::get_<immer::no_transience_policy::apply<immer::free_list_heap_policy<immer::cpp_heap, 1024ul> >::type::ownee>(immer::detail::csl::type_t<immer::no_transience_policy::apply<immer::free_list_heap_policy<immer::cpp_heap, 1024ul> >::type::ownee>) const
Line
Count
Source
184
127k
        {
185
127k
            return n.get_(t);
186
127k
        }
decltype(auto) immer::detail::csl::member_two<immer::detail::hamts::node<std::__1::pair<unsigned long, int>, immer::map<unsigned long, int, colliding_hash_t, std::__1::equal_to<void>, immer::memory_policy<immer::heap_policy<immer::gc_heap>, immer::no_refcount_policy, immer::spinlock_policy, immer::gc_transience_policy, false, false>, 5u>::hash_key, immer::map<unsigned long, int, colliding_hash_t, std::__1::equal_to<void>, immer::memory_policy<immer::heap_policy<immer::gc_heap>, immer::no_refcount_policy, immer::spinlock_policy, immer::gc_transience_policy, false, false>, 5u>::equal_key, immer::memory_policy<immer::heap_policy<immer::gc_heap>, immer::no_refcount_policy, immer::spinlock_policy, immer::gc_transience_policy, false, false>, 5u>::impl_data_t, immer::detail::csl::inherit<immer::no_refcount_policy, immer::detail::csl::member<immer::gc_transience_policy::apply<immer::heap_policy<immer::gc_heap> >::type::ownee, void>::type>::type>::type::get_<immer::no_refcount_policy>(immer::detail::csl::type_t<immer::no_refcount_policy>) const
Line
Count
Source
184
20.7M
        {
185
20.7M
            return n.get_(t);
186
20.7M
        }
decltype(auto) immer::detail::csl::member_two<immer::detail::hamts::node<std::__1::pair<unsigned long, int>, immer::map<unsigned long, int, colliding_hash_t, std::__1::equal_to<void>, immer::memory_policy<immer::heap_policy<immer::gc_heap>, immer::no_refcount_policy, immer::spinlock_policy, immer::gc_transience_policy, false, false>, 5u>::hash_key, immer::map<unsigned long, int, colliding_hash_t, std::__1::equal_to<void>, immer::memory_policy<immer::heap_policy<immer::gc_heap>, immer::no_refcount_policy, immer::spinlock_policy, immer::gc_transience_policy, false, false>, 5u>::equal_key, immer::memory_policy<immer::heap_policy<immer::gc_heap>, immer::no_refcount_policy, immer::spinlock_policy, immer::gc_transience_policy, false, false>, 5u>::values_data_t, immer::detail::csl::inherit<immer::no_refcount_policy, immer::detail::csl::member<immer::gc_transience_policy::apply<immer::heap_policy<immer::gc_heap> >::type::ownee, void>::type>::type>::type::get_<immer::no_refcount_policy>(immer::detail::csl::type_t<immer::no_refcount_policy>) const
Line
Count
Source
184
1.83M
        {
185
1.83M
            return n.get_(t);
186
1.83M
        }
decltype(auto) immer::detail::csl::member_two<immer::detail::arrays::node<int, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024ul>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true> >::data_t, immer::detail::csl::member<immer::refcount_policy, immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::free_list_heap_policy<immer::cpp_heap, 1024ul> >::type::ownee, void>::type>::type>::type::get_<immer::refcount_policy>(immer::detail::csl::type_t<immer::refcount_policy>) const
Line
Count
Source
184
707k
        {
185
707k
            return n.get_(t);
186
707k
        }
decltype(auto) immer::detail::csl::member_two<immer::detail::arrays::node<int, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024ul>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true> >::data_t, immer::detail::csl::member<immer::refcount_policy, immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::free_list_heap_policy<immer::cpp_heap, 1024ul> >::type::ownee, void>::type>::type>::type::get_<immer::no_transience_policy::apply<immer::free_list_heap_policy<immer::cpp_heap, 1024ul> >::type::ownee>(immer::detail::csl::type_t<immer::no_transience_policy::apply<immer::free_list_heap_policy<immer::cpp_heap, 1024ul> >::type::ownee>) const
Line
Count
Source
184
251
        {
185
251
            return n.get_(t);
186
251
        }
decltype(auto) immer::detail::csl::member_two<immer::detail::rbts::node<int, immer::memory_policy<immer::heap_policy<immer::gc_heap>, immer::no_refcount_policy, immer::spinlock_policy, immer::gc_transience_policy, false, false>, 2u, 2u>::impl_data_t, immer::detail::csl::inherit<immer::no_refcount_policy, immer::detail::csl::member<immer::gc_transience_policy::apply<immer::heap_policy<immer::gc_heap> >::type::ownee, void>::type>::type>::type::get_<immer::no_refcount_policy>(immer::detail::csl::type_t<immer::no_refcount_policy>) const
Line
Count
Source
184
25.4M
        {
185
25.4M
            return n.get_(t);
186
25.4M
        }
decltype(auto) immer::detail::csl::member_two<immer::detail::rbts::node<int, immer::memory_policy<immer::heap_policy<immer::gc_heap>, immer::no_refcount_policy, immer::spinlock_policy, immer::gc_transience_policy, false, false>, 2u, 2u>::relaxed_data_t, immer::detail::csl::inherit<immer::no_refcount_policy, immer::detail::csl::member<immer::gc_transience_policy::apply<immer::heap_policy<immer::gc_heap> >::type::ownee, void>::type>::type>::type::get_<immer::no_refcount_policy>(immer::detail::csl::type_t<immer::no_refcount_policy>) const
Line
Count
Source
184
1.29M
        {
185
1.29M
            return n.get_(t);
186
1.29M
        }
decltype(auto) immer::detail::csl::member_two<immer::detail::rbts::node<int, immer::memory_policy<immer::heap_policy<immer::gc_heap>, immer::no_refcount_policy, immer::spinlock_policy, immer::gc_transience_policy, false, false>, 2u, 2u>::impl_data_t, immer::detail::csl::inherit<immer::no_refcount_policy, immer::detail::csl::member<immer::gc_transience_policy::apply<immer::heap_policy<immer::gc_heap> >::type::ownee, void>::type>::type>::type::get_<immer::gc_transience_policy::apply<immer::heap_policy<immer::gc_heap> >::type::ownee>(immer::detail::csl::type_t<immer::gc_transience_policy::apply<immer::heap_policy<immer::gc_heap> >::type::ownee>) const
Line
Count
Source
184
18.0M
        {
185
18.0M
            return n.get_(t);
186
18.0M
        }
decltype(auto) immer::detail::csl::member_two<immer::detail::rbts::node<int, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, true, true>, 3u, 3u>::impl_data_t, immer::detail::csl::member<immer::unsafe_refcount_policy, immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee, void>::type>::type>::type::get_<immer::unsafe_refcount_policy>(immer::detail::csl::type_t<immer::unsafe_refcount_policy>) const
Line
Count
Source
184
507M
        {
185
507M
            return n.get_(t);
186
507M
        }
decltype(auto) immer::detail::csl::member_two<immer::detail::rbts::node<int, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, true, true>, 3u, 3u>::impl_data_t, immer::detail::csl::member<immer::unsafe_refcount_policy, immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee, void>::type>::type>::type::get_<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee>(immer::detail::csl::type_t<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee>) const
Line
Count
Source
184
290k
        {
185
290k
            return n.get_(t);
186
290k
        }
decltype(auto) immer::detail::csl::member_two<immer::detail::hamts::node<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, immer::box<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024ul>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true> > >, immer::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, immer::box<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024ul>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true> >, colliding_hash_t, std::__1::equal_to<void>, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 3u>::hash_key, immer::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, immer::box<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024ul>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true> >, colliding_hash_t, std::__1::equal_to<void>, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 3u>::equal_key, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 3u>::impl_data_t, immer::detail::csl::member<immer::unsafe_refcount_policy, immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee, void>::type>::type>::type::get_<immer::unsafe_refcount_policy>(immer::detail::csl::type_t<immer::unsafe_refcount_policy>) const
Line
Count
Source
184
13.5M
        {
185
13.5M
            return n.get_(t);
186
13.5M
        }
decltype(auto) immer::detail::csl::member_two<immer::detail::hamts::node<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, immer::box<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024ul>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true> > >, immer::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, immer::box<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024ul>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true> >, colliding_hash_t, std::__1::equal_to<void>, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 3u>::hash_key, immer::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, immer::box<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024ul>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true> >, colliding_hash_t, std::__1::equal_to<void>, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 3u>::equal_key, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 3u>::values_data_t, immer::detail::csl::member<immer::unsafe_refcount_policy, immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee, void>::type>::type>::type::get_<immer::unsafe_refcount_policy>(immer::detail::csl::type_t<immer::unsafe_refcount_policy>) const
Line
Count
Source
184
925k
        {
185
925k
            return n.get_(t);
186
925k
        }
decltype(auto) immer::detail::csl::member_two<immer::detail::hamts::node<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, immer::box<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024ul>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true> > >, immer::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, immer::box<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024ul>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true> >, colliding_hash_t, std::__1::equal_to<void>, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 3u>::hash_key, immer::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, immer::box<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024ul>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true> >, colliding_hash_t, std::__1::equal_to<void>, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 3u>::equal_key, immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy, immer::no_lock_policy, immer::no_transience_policy, false, true>, 3u>::impl_data_t, immer::detail::csl::member<immer::unsafe_refcount_policy, immer::detail::csl::inherit<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee, void>::type>::type>::type::get_<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee>(immer::detail::csl::type_t<immer::no_transience_policy::apply<immer::heap_policy<immer::cpp_heap> >::type::ownee>) const
Line
Count
Source
184
16.2k
        {
185
16.2k
            return n.get_(t);
186
16.2k
        }
187
    };
188
};
189
190
template <typename... Ts>
191
struct combine_standard_layout_aux;
192
193
template <typename T>
194
struct combine_standard_layout_aux<T>
195
{
196
    static_assert(std::is_standard_layout<T>::value, "");
197
198
    using type = typename std::conditional_t<std::is_empty<T>::value,
199
                                             csl::inherit<T>,
200
                                             csl::member<T>>::type;
201
};
202
203
template <typename T, typename... Ts>
204
struct combine_standard_layout_aux<T, Ts...>
205
{
206
    static_assert(std::is_standard_layout<T>::value, "");
207
208
    using this_t = T;
209
    using next_t = typename combine_standard_layout_aux<Ts...>::type;
210
211
    static constexpr auto empty_this = std::is_empty<this_t>::value;
212
    static constexpr auto empty_next = std::is_empty<next_t>::value;
213
214
    using type = typename std::conditional_t<
215
        empty_this,
216
        inherit<this_t, next_t>,
217
        std::conditional_t<empty_next,
218
                           member<this_t, next_t>,
219
                           member_two<this_t, next_t>>>::type;
220
};
221
222
} // namespace csl
223
224
using csl::get;
225
226
template <typename... Ts>
227
struct combine_standard_layout
228
{
229
    using type = typename csl::combine_standard_layout_aux<Ts...>::type;
230
#if !IMMER_BROKEN_STANDARD_LAYOUT_DETECTION
231
    static_assert(std::is_standard_layout<type>::value, "");
232
#endif
233
};
234
235
} // namespace detail
236
} // namespace immer