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 
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>
20 {
21 };
22 template <typename... Ts>
24 {
26 };
27 
28 } // namespace detail
29 
30 // from a tuple input
31 template <typename T>
34 
35 
36 } // namespace wmtk::utils::metaprogramming::tuple
37 
Definition: autodiff.h:995
typename detail::get_unique_remove_void_types_from_tuple< T >::type get_unique_remove_void_types_from_tuple_t
detail::get_unique_types_t< Ts... > get_unique_types_t
typename detail::remove_void_tuple< void, get_unique_types_t< Ts... > >::type get_unique_remove_void_types_t