mirror of
https://github.com/boostorg/detail.git
synced 2025-08-01 21:34:28 +02:00
rolled back changes, value_type can not be an abstract base class
[SVN r9583]
This commit is contained in:
@@ -88,24 +88,9 @@ namespace boost {
|
||||
// we use is_convertible<X, iter_traits_gen_base>.
|
||||
struct named_template_param_base { };
|
||||
|
||||
struct is_convertible_to_named_param {
|
||||
template <class X> struct bind {
|
||||
enum { value = is_convertible<X*, named_template_param_base*>::value };
|
||||
};
|
||||
};
|
||||
struct not_named_param {
|
||||
template <class X> struct bind {
|
||||
enum { value = false };
|
||||
};
|
||||
};
|
||||
|
||||
template <class X>
|
||||
struct is_named_param_list {
|
||||
// If X is a reference type, we can't form a pointer and use is_convertible<X*, ...>,
|
||||
// but we know that if it is a reference, it isn't a named parameter.
|
||||
typedef typename ct_if<is_reference<X>::value,
|
||||
not_named_param, is_convertible_to_named_param>::type IsNamedParam;
|
||||
enum { value = IsNamedParam::template bind<X>::value };
|
||||
enum { value = is_convertible<X, named_template_param_base>::value };
|
||||
};
|
||||
|
||||
struct choose_named_params {
|
||||
|
Reference in New Issue
Block a user