Merge pull request #324 from vpetrigo/has_mapped_improve
make has_mapped_type struct friendly
This commit is contained in:
commit
bb9d87ad55
2 changed files with 12 additions and 6 deletions
|
@ -113,10 +113,13 @@ template<typename T>
|
|||
struct has_mapped_type
|
||||
{
|
||||
private:
|
||||
template<typename C> static char test(typename C::mapped_type*);
|
||||
template<typename C> static char (&test(...))[2];
|
||||
template <typename U, typename = typename U::mapped_type>
|
||||
static int detect(U&&);
|
||||
|
||||
static void detect(...);
|
||||
public:
|
||||
static constexpr bool value = sizeof(test<T>(0)) == 1;
|
||||
static constexpr bool value =
|
||||
std::is_integral<decltype(detect(std::declval<T>()))>::value;
|
||||
};
|
||||
|
||||
/*!
|
||||
|
|
|
@ -113,10 +113,13 @@ template<typename T>
|
|||
struct has_mapped_type
|
||||
{
|
||||
private:
|
||||
template<typename C> static char test(typename C::mapped_type*);
|
||||
template<typename C> static char (&test(...))[2];
|
||||
template <typename U, typename = typename U::mapped_type>
|
||||
static int detect(U&&);
|
||||
|
||||
static void detect(...);
|
||||
public:
|
||||
static constexpr bool value = sizeof(test<T>(0)) == 1;
|
||||
static constexpr bool value =
|
||||
std::is_integral<decltype(detect(std::declval<T>()))>::value;
|
||||
};
|
||||
|
||||
/*!
|
||||
|
|
Loading…
Reference in a new issue