forked from boostorg/function
Don't omit template parameter names (Markus Schöpflin)
[SVN r17333]
This commit is contained in:
@ -295,44 +295,33 @@ namespace boost {
|
||||
};
|
||||
|
||||
#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
|
||||
|
||||
# if BOOST_WORKAROUND(__HP_aCC, <= 33900)
|
||||
template<bool cond, typename T> struct enable_if;
|
||||
# else
|
||||
template<bool, typename> struct enable_if;
|
||||
# endif
|
||||
|
||||
template<typename T> struct enable_if<true, T> { typedef T type; };
|
||||
template<typename T> struct enable_if<false, T> {};
|
||||
#else
|
||||
|
||||
# if BOOST_WORKAROUND(__HP_aCC, <= 33900)
|
||||
template<bool x>
|
||||
# else
|
||||
template<bool>
|
||||
# endif
|
||||
struct enabled
|
||||
template<bool x>
|
||||
struct enabled
|
||||
{
|
||||
template<typename T>
|
||||
struct base
|
||||
{
|
||||
template<typename T>
|
||||
struct base
|
||||
{
|
||||
typedef T type;
|
||||
};
|
||||
typedef T type;
|
||||
};
|
||||
};
|
||||
|
||||
template<>
|
||||
struct enabled<false>
|
||||
{
|
||||
template<typename T>
|
||||
struct base
|
||||
{
|
||||
};
|
||||
};
|
||||
|
||||
template<bool Enabled, typename T>
|
||||
struct enable_if : public enabled<Enabled>::template base<T>
|
||||
template<>
|
||||
struct enabled<false>
|
||||
{
|
||||
template<typename T>
|
||||
struct base
|
||||
{
|
||||
};
|
||||
};
|
||||
|
||||
template<bool Enabled, typename T>
|
||||
struct enable_if : public enabled<Enabled>::template base<T>
|
||||
{
|
||||
};
|
||||
#endif
|
||||
|
||||
// A type that is only used for comparisons against zero
|
||||
|
Reference in New Issue
Block a user