Clean up usage of decltype to help msvc-14.3

This commit is contained in:
Christian Mazakas
2023-04-18 12:30:34 -07:00
parent a9ad06139e
commit 68c018fda6

View File

@ -380,6 +380,9 @@ namespace {
void empty_visit(X*, G gen, test::random_generator rg) void empty_visit(X*, G gen, test::random_generator rg)
{ {
auto values = make_random_values(1024 * 16, [&] { return gen(rg); }); auto values = make_random_values(1024 * 16, [&] { return gen(rg); });
using values_type = decltype(values);
using span_value_type = typename values_type::value_type;
raii::reset_counts(); raii::reset_counts();
{ {
@ -392,20 +395,19 @@ namespace {
std::uint64_t old_move_assignment = raii::move_assignment; std::uint64_t old_move_assignment = raii::move_assignment;
{ {
thread_runner( thread_runner(values, [&x](boost::span<span_value_type> s) {
values, [&x](boost::span<typename decltype(values)::value_type> s) { std::atomic<std::uint64_t> num_visits{0};
std::atomic<std::uint64_t> num_visits{0};
x.visit_all( x.visit_all(
[&num_visits](typename X::value_type const&) { ++num_visits; });
BOOST_TEST_EQ(num_visits, 0u);
for (auto const& val : s) {
auto count = x.visit(val.first,
[&num_visits](typename X::value_type const&) { ++num_visits; }); [&num_visits](typename X::value_type const&) { ++num_visits; });
BOOST_TEST_EQ(num_visits, 0u); BOOST_TEST_EQ(count, 0u);
}
for (auto const& val : s) { });
auto count = x.visit(val.first,
[&num_visits](typename X::value_type const&) { ++num_visits; });
BOOST_TEST_EQ(count, 0u);
}
});
} }
BOOST_TEST_EQ(old_default_constructor, raii::default_constructor); BOOST_TEST_EQ(old_default_constructor, raii::default_constructor);