Merge pull request #29 from glenfe/develop

Add multiple type support to pre-C++11 void_t alias
This commit is contained in:
jzmaddock
2017-02-08 18:19:32 +00:00
committed by GitHub

View File

@ -25,16 +25,24 @@ template<class... Ts>
using void_t = typename make_void<Ts...>::type;
#endif
#else // BOOST_NO_CXX11_VARIADIC_TEMPLATES
#else /* BOOST_NO_CXX11_VARIADIC_TEMPLATES */
template<class T = void, class U = void, class V = void, class X = void, class Y = void>
template<class = void,
class = void,
class = void,
class = void,
class = void>
struct make_void {
typedef void type;
};
#if !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES)
template<class T>
using void_t = typename make_void<T>::type;
template<class A = void,
class B = void,
class C = void,
class D = void,
class E = void>
using void_t = typename make_void<A, B, C, D, E>::type;
#endif
#endif