46 static_assert(std::is_same<
void,
void_t<>>::
value,
"void_t broken");
48 static_assert(std::is_same<
void,
void_t<decltype(1)>>::
value,
"void_t broken");
58 static_assert(
HasAtMethod<std::vector<int>,
int>::
value,
"HasAtMethod broken");
59 static_assert(
HasAtMethod<std::vector<int>, std::size_t>::
value,
"HasAtMethod broken");
60 static_assert(
HasAtMethod<std::map<std::string, int>, std::string>::
value,
"HasAtMethod broken");
92 static void foo(
void) {}
96 static void foo(
char) {}
116 static_assert(hasFoo_v<nvv>,
"ERROR ARMARX_META_MAKE_HAS_MEMBER_FNC_CHECK");
117 static_assert(!hasFoo_v<nvc>,
"ERROR ARMARX_META_MAKE_HAS_MEMBER_FNC_CHECK");
118 static_assert(!hasFoo_v<ncv>,
"ERROR ARMARX_META_MAKE_HAS_MEMBER_FNC_CHECK");
119 static_assert(!hasFoo_v<ncc>,
"ERROR ARMARX_META_MAKE_HAS_MEMBER_FNC_CHECK");
120 static_assert(!hasFoo_v<svv>,
"ERROR ARMARX_META_MAKE_HAS_MEMBER_FNC_CHECK");
121 static_assert(!hasFoo_v<svc>,
"ERROR ARMARX_META_MAKE_HAS_MEMBER_FNC_CHECK");
122 static_assert(!hasFoo_v<scv>,
"ERROR ARMARX_META_MAKE_HAS_MEMBER_FNC_CHECK");
123 static_assert(!hasFoo_v<scc>,
"ERROR ARMARX_META_MAKE_HAS_MEMBER_FNC_CHECK");
125 static_assert(!hasStaticFoo_v<nvv>,
"ERROR ARMARX_META_MAKE_HAS_MEMBER_FNC_CHECK");
126 static_assert(!hasStaticFoo_v<nvc>,
"ERROR ARMARX_META_MAKE_HAS_MEMBER_FNC_CHECK");
127 static_assert(!hasStaticFoo_v<ncv>,
"ERROR ARMARX_META_MAKE_HAS_MEMBER_FNC_CHECK");
128 static_assert(!hasStaticFoo_v<ncc>,
"ERROR ARMARX_META_MAKE_HAS_MEMBER_FNC_CHECK");
129 static_assert(hasStaticFoo_v<svv>,
"ERROR ARMARX_META_MAKE_HAS_MEMBER_FNC_CHECK");
130 static_assert(!hasStaticFoo_v<svc>,
"ERROR ARMARX_META_MAKE_HAS_MEMBER_FNC_CHECK");
131 static_assert(!hasStaticFoo_v<scv>,
"ERROR ARMARX_META_MAKE_HAS_MEMBER_FNC_CHECK");
132 static_assert(!hasStaticFoo_v<scc>,
"ERROR ARMARX_META_MAKE_HAS_MEMBER_FNC_CHECK");
144 >::
value,
"TypeTemplateTraits::DisassembleTemplate::ReplaceTemplate");
151 >::
value,
"TypeTemplateTraits::DisassembleTemplate::ReplaceParameters");
158 template <
class T,
class U =
int>
178 static_assert(
DecayAllTest<std::add_lvalue_reference<
int[2]>::type>::
value,
"ERROR DecayAll");
179 static_assert(
DecayAllTest<std::add_rvalue_reference<
int[2]>::type>::
value,
"ERROR DecayAll");
182 static_assert(
DecayAllTest<
const std::add_lvalue_reference<
int[2]>::type>::
value,
"ERROR DecayAll");
183 static_assert(
DecayAllTest<
const std::add_rvalue_reference<
int[2]>::type>::
value,
"ERROR DecayAll");