24 #if defined(_WIN32) && defined(HR_ENGINE_SHARED) 26 # define MR_DllDeclare __declspec( dllexport ) 28 # define MR_DllDeclare __declspec( dllimport ) 31 # define MR_DllDeclare 45 static auto check(T*) ->
46 decltype(std::declval<T>().
SetSize(std::declval<Vec2>()),
50 static std::false_type
check(...);
52 using type = decltype(check<C>(
nullptr));
55 static const bool value = type::value;
59 typename std::enable_if<MPL::HasSetSize<T>::value,
void>
::type 60 inline SetSize(T &widget,
double w,
double h)
62 widget.SetSize(
Vec2(w, h));
66 typename std::enable_if<MPL::HasSetSize<T>::value,
void>
::type 69 widget.SetSize(std::forward<Vec2>(vec));
73 typename std::enable_if<!MPL::HasSetSize<T>::value,
void>
::type 80 typename std::enable_if<!MPL::HasSetSize<T>::value,
void>
::type std::enable_if< MPL::HasSetSize< T >::value, void >::type SetSize(T &widget, double w, double h)
Definition: MPL.h:60
decltype(check< C >(nullptr)) type
Definition: MPL.h:52
static const bool value
Definition: MPL.h:55
static auto check(T *) -> decltype(std::declval< T >().SetSize(std::declval< Vec2 >()), std::true_type())
Definition: Announcement.h:24
Determine if a class as a SetSize(Vec2).
Definition: MPL.h:41