33#ifndef DART_COMMON_DETAIL_METAPROGRAMMING_HPP_
34#define DART_COMMON_DETAIL_METAPROGRAMMING_HPP_
45template <
typename... Args>
53template <
typename A,
typename =
void>
64template <
typename T, T>
69template <
typename Alias,
typename AmbiguitySeed>
73 static char (&
f(
decltype(&C::value)))[1];
76 static char (&
f(...))[2];
80 (
sizeof(f<AmbiguitySeed>(0)) == 1),
81 "Member name specified in AmbiguitySeed is different from member name "
82 "specified in Alias, or wrong Alias/AmbiguitySeed has been specified.");
84 static bool const value =
sizeof(f<Alias>(0)) == 2;
Definition AspectWithVersion.hpp:42
Definition Metaprogramming-impl.hpp:47
A type
Definition Metaprogramming-impl.hpp:61
Definition Metaprogramming-impl.hpp:55
Definition Metaprogramming-impl.hpp:71
static bool const value
Definition Metaprogramming-impl.hpp:84
static char(& f(decltype(&C::value)))[1]
Definition Metaprogramming-impl.hpp:66