Wildmeshing Toolkit
get_unique_remove_void_types.hpp
Go to the documentation of this file.
1
#pragma once
2
#include <tuple>
3
#include <type_traits>
4
#include "
get_unique_types.hpp
"
5
#include "
remove_void_types.hpp
"
6
7
8
namespace
wmtk::utils::metaprogramming::tuple
{
9
10
11
// given a set of types, a tuple without the voids and makes unique types
12
template
<
typename
... Ts>
13
using
get_unique_remove_void_types_t
=
// get_unique_t<Ts...>;
14
typename
detail::remove_void_tuple
<void,
get_unique_types_t
<Ts...>>::type;
15
16
17
namespace
detail {
18
template
<
typename
T>
19
struct
get_unique_remove_void_types_from_tuple
20
{
21
};
22
template
<
typename
... Ts>
23
struct
get_unique_remove_void_types_from_tuple
<
std
::tuple<Ts...>>
24
{
25
using
type
=
get_unique_remove_void_types_t
<Ts...>;
26
};
27
28
}
// namespace detail
29
30
// from a tuple input
31
template
<
typename
T>
32
using
get_unique_remove_void_types_from_tuple_t
=
33
typename
detail::get_unique_remove_void_types_from_tuple<T>::type
;
34
35
36
}
// namespace wmtk::utils::metaprogramming::tuple
37
get_unique_types.hpp
std
Definition:
autodiff.h:995
wmtk::utils::metaprogramming::tuple
Definition:
as_variant_type.hpp:6
wmtk::utils::metaprogramming::tuple::get_unique_remove_void_types_from_tuple_t
typename detail::get_unique_remove_void_types_from_tuple< T >::type get_unique_remove_void_types_from_tuple_t
Definition:
get_unique_remove_void_types.hpp:33
wmtk::utils::metaprogramming::tuple::get_unique_types_t
detail::get_unique_types_t< Ts... > get_unique_types_t
Definition:
get_unique_types.hpp:72
wmtk::utils::metaprogramming::tuple::get_unique_remove_void_types_t
typename detail::remove_void_tuple< void, get_unique_types_t< Ts... > >::type get_unique_remove_void_types_t
Definition:
get_unique_remove_void_types.hpp:14
remove_void_types.hpp
wmtk::utils::metaprogramming::tuple::detail::get_unique_remove_void_types_from_tuple< std::tuple< Ts... > >::type
get_unique_remove_void_types_t< Ts... > type
Definition:
get_unique_remove_void_types.hpp:25
wmtk::utils::metaprogramming::tuple::detail::get_unique_remove_void_types_from_tuple
Definition:
get_unique_remove_void_types.hpp:20
wmtk::utils::metaprogramming::tuple::detail::remove_void_tuple
Definition:
remove_void_types.hpp:29
src
wmtk
utils
metaprogramming
tuple
get_unique_remove_void_types.hpp
Generated by
1.9.1