#include <Workspace/Application/LanguageUtils/classconstraints.h>
|
template<typename C > |
static auto | testBegin (...) -> std::false_type |
|
template<typename C , typename Func = typename C::const_iterator (C::*)() const> |
static auto | testBegin (C *) -> typename std::enable_if_t< std::is_same< decltype(static_cast< Func >(&C::begin)), Func >::value, std::true_type > |
|
template<typename C > |
static auto | testEnd (...) -> std::false_type |
|
template<typename C , typename Func = typename C::const_iterator (C::*)() const> |
static auto | testEnd (C *) -> typename std::enable_if_t< std::is_same< decltype(static_cast< Func >(&C::end)), Func >::value, std::true_type > |
|
|
static constexpr auto | value = std::is_same<std::true_type, decltype(testBegin<T>(nullptr))>::value && std::is_same<std::true_type, decltype(testEnd<T>(nullptr))>::value |
|
◆ testBegin() [1/2]
static auto testBegin |
( |
|
... | ) |
-> std::false_type |
|
static |
◆ testBegin() [2/2]
static auto testBegin |
( |
C * |
| ) |
-> typename std::enable_if_t< std::is_same< decltype(static_cast< Func >(&C::begin)), Func >::value, std::true_type > |
|
static |
◆ testEnd() [1/2]
static auto testEnd |
( |
|
... | ) |
-> std::false_type |
|
static |
◆ testEnd() [2/2]
static auto testEnd |
( |
C * |
| ) |
-> typename std::enable_if_t< std::is_same< decltype(static_cast< Func >(&C::end)), Func >::value, std::true_type > |
|
static |
◆ value
constexpr auto value = std::is_same<std::true_type, decltype(testBegin<T>(nullptr))>::value && std::is_same<std::true_type, decltype(testEnd<T>(nullptr))>::value |
|
staticconstexpr |