Wildmeshing Toolkit
ReferenceWrapperVariant.hpp
Go to the documentation of this file.
1
#pragma once
2
#include <functional>
3
#include <type_traits>
4
#include <utility>
5
#include <variant>
6
7
namespace
wmtk::utils::metaprogramming
{
8
9
// My target application's "Input" class is quite heavy and the Input objects
10
// persist for int64_t periods of time relative to what this is being used for, so
11
// I want to use a variant of references rather than values
12
//
13
// Here's a helper definition for making variants of references
14
template
<
typename
... T>
15
using
ReferenceWrapperVariant
= std::variant<std::reference_wrapper<T>...>;
16
17
18
}
// namespace wmtk::utils::metaprogramming
wmtk::utils::metaprogramming
Definition:
as_mesh_variant.cpp:9
wmtk::utils::metaprogramming::ReferenceWrapperVariant
std::variant< std::reference_wrapper< T >... > ReferenceWrapperVariant
Definition:
ReferenceWrapperVariant.hpp:15
src
wmtk
utils
metaprogramming
ReferenceWrapperVariant.hpp
Generated by
1.9.1