[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[creduce-bugs] pass_clang::template-non-type-arg-to-int has encountered a bug
creduce 2.5.0
18e04be
Linux
cookie
4.13.0-37-generic
#42~16.04.1-Ubuntu SMP Wed Mar 7 16:03:28 UTC 2018
x86_64
***************************************************
pass_clang::template-non-type-arg-to-int has encountered a bug:
pass failed to modify the variant
Please consider tarring up /home/ian/projects/debian/a-boost1.58/boost1.58-1.58.0+dfsg/creduce_bug_001
and mailing it to creduce-bugs@flux.utah.edu and we will try to fix
the bug.
This bug is not fatal, C-Reduce will continue to execute.
***************************************************
struct iterator_traits
;
template<typename _Iterator, typename _Container>
class __normal_iterator
{
};
;
extern "C++"
class exception
{
};
template<typename _Tp>
class new_allocator
{
public:
typedef int* pointer;
};
template<typename _Tp>
class allocator: public new_allocator<int>
{
public:
template<typename _Tp1>
struct rebind
{ typedef allocator other; };
};
template<typename _Arg1, typename _Arg2, typename _Result>
struct binary_function
;
;
template<typename _Alloc>
struct __alloc_traits
{
typedef int pointer;
template<typename _Tp>
struct rebind
{ typedef int other; };
};
template<typename _CharT, typename _Traits, typename _Alloc>
class Trans_NS___cxx11_basic_string
;
;
__extension__
namespace mpl_ { }
namespace mpl { using namespace mpl_;
}
namespace mpl_ {
}
namespace mpl {
}
class locale
{
class facet;
};
class locale::facet
{
};
template<typename _CharT>
class Trans_NS___cxx11_numpunct : public locale::facet
{
};
struct nil_t ;
namespace mpl_ {
template< bool C_ > struct bool_;
template< bool C_ > struct bool_
;
template< typename T, T N >
struct integral_c
{
};
}
template <class T, int val>
struct integral_constant : public mpl::integral_c<int, val>
{
};
template< typename T >
struct is_arithmetic_impl
;
template< typename T > struct is_arithmetic : public ::integral_constant<bool,::is_arithmetic_impl<T>::value> { public: };
template< typename T, typename U > struct is_same : public ::integral_constant<bool,false> { public: };
template <class T>
struct rvalue_ref_filter_rem_cv
;
template< typename T > struct remove_cv ;
struct is_pointer_impl
;
struct
error_info_injector:
public exception
{
};
template <typename T> struct alignment_of;
template <typename T>
struct alignment_of
;
template< typename T > struct is_void : public ::integral_constant<bool,false> { public: };
struct void_;
struct na
;
namespace mpl {
template<
typename T = na
, typename Tag = void_
>
struct lambda;
template<
bool C
, typename T1
, typename T2
>
struct if_c
;
template<
typename T1 = na
, typename T2 = na
, typename T3 = na
>
struct if_
;
}
namespace mpl {
template<
typename C = na
, typename F1 = na
>
struct eval_if
;
}
template <typename B, typename D>
struct is_base_and_derived_impl
;
template< typename Base, typename Derived > struct is_base_and_derived : public ::integral_constant<bool,::is_base_and_derived_impl<int,Derived>::value> { public: };
namespace mpl {
}
template<class OptionalPointee>
struct less_pointees_t : binary_function<OptionalPointee,OptionalPointee,bool>
{
};
class aligned_storage
;
template <typename T>
struct no_base ;
template <typename DerivedT, typename BaseT = no_base<DerivedT> >
struct safe_bool : BaseT
{
};
struct or_impl
;
template<
typename T1 = na
>
struct or_
;
template <class T>
struct is_abstract_imp
;
template< typename T > struct is_abstract : public ::integral_constant<bool,::is_abstract_imp<T>::value> { public: };
struct is_convertible_impl
;
template <bool trivial1, bool trivial2, bool abstract_target>
struct is_convertible_impl_select
;
template <typename From, typename To>
struct is_convertible_impl_dispatch_base
;
template <typename From, typename To>
struct is_convertible_impl_dispatch
;
template< typename From, typename To > struct is_convertible : public ::integral_constant<bool,::is_convertible_impl_dispatch<int,To>::value> { public: };
template <typename T = nil_t>
class match : public safe_bool<match<T> >
{
};
struct action_policy;
template <
typename ActionPolicyT = action_policy>
class scanner;
template <typename MatchPolicyT, typename T>
struct match_result
;
template <typename DerivedT>
struct parser
{
};
struct get_param
;
template <
typename DerivedT
, typename EmbedT
, typename T0 = nil_t
, typename T1 = nil_t
>
class rule_base;
template <
typename T0 = nil_t
, typename T1 = nil_t
, typename T2 = nil_t
>
class rule
{
typedef rule self_t;
typedef int base_t;
};
template <typename CharT>
class basic_chset;
template< class T > struct sp_member_access
{
typedef basic_chset<wchar_t> * type;
};
template<class T> class shared_ptr
{
public:
template<class Y>
explicit shared_ptr( Y * p )
;
typename sp_member_access< int >::type operator-> () const
;
};
template <typename DerivedT>
struct char_parser : public parser<int>
{
template <typename ScannerT>
struct result
;
};
template<typename _Tp, typename _Alloc>
struct _Vector_base
{
typedef int pointer;
};
template<typename _Tp, typename _Alloc = allocator<_Tp> >
class vector : protected _Vector_base<_Tp, int>
{
typedef _Vector_base<_Tp, int> _Base;
public:
typedef _Tp value_type;
typedef __normal_iterator<_Tp, int> iterator;
iterator
insert(iterator __position, const value_type& __x);
void
_M_insert_aux( const value_type& __x);
};
template<typename _Tp, typename _Alloc>
typename vector<_Tp, _Alloc>::iterator
vector<_Tp, _Alloc>::
insert(iterator __position, const value_type& __x)
{
_M_insert_aux( __x);
}
template<typename _Tp, typename _Alloc>
void
vector<_Tp, _Alloc>::
_M_insert_aux( const _Tp& __x)
{
}
template <typename CharT>
struct range {
range(int first, int last);
};
template <typename CharT>
class range_run {
public:
typedef range<CharT> range_t;
typedef vector<range_t> run_t;
void set(range_t const& r);
run_t run;
};
enum float_round_style
{
};
struct __numeric_limits_base
{
static const int digits = 0;
};
template<typename _Tp>
struct numeric_limits : public __numeric_limits_base
{
};
template <typename CharT>
void
range_run<CharT>::set(range<CharT> const& r)
{
typename run_t::iterator iter =
run.insert(iter, r);
}
template <typename CharT>
class basic_chset
{
public:
void set(CharT c);
private: range_run<CharT> rr;
};
template <typename CharT>
inline void
basic_chset<CharT>::set(CharT c)
{ rr.set(range<CharT>(c, c)); }
template <typename CharT = char>
class chset: public char_parser<int > {
public:
explicit chset(CharT arg_);
shared_ptr<basic_chset<CharT> > ptr;
};
wchar_t chset_p_ch;
inline chset<wchar_t>
chset_p(void)
{ return chset<wchar_t>(chset_p_ch); }
template <typename CharT>
inline chset<CharT>::chset(CharT arg_)
: ptr(new basic_chset<CharT>)
{ ptr->set(arg_); }
template<class T>
class integer_traits : public numeric_limits<int>
{
};
template<class T, int min_val, int max_val>
class integer_traits_base
{
static const int const_max = max_val;
};
template<>
class integer_traits<unsigned char>
: public numeric_limits<unsigned char>,
public integer_traits_base<unsigned char, 0, 0x7f * 2 + 1>
{ };
struct basic_traits;
template<class T>
struct implementation_level_impl ;
template<class T>
struct implementation_level :
public implementation_level_impl<const T>
{
};
namespace mpl {
template< typename SourceTag, typename TargetTag > struct numeric_cast
;
}
namespace mpl {
template< typename T > struct type_wrapper
;
typedef char (&yes_tag)[2];
;
template<
typename F, typename T1
>
struct apply_wrap1
;
template<
typename F, typename T1, typename T2
>
struct apply_wrap2
;
template<
typename F, typename T1, typename T2, typename T3, typename T4
>
struct apply_wrap5
;
}
namespace mpl {
template<
typename F
, typename Tag1
, typename Tag2
>
struct cast1st_impl
;
template<
typename F
, typename Tag1
, typename Tag2
>
struct cast2nd_impl
;
}
namespace mpl {
template<
typename Tag1
, typename Tag2
>
struct equal_to_impl
: if_c<
Tag1::value
, cast2nd_impl< equal_to_impl< Tag1,Tag1 >,Tag1, int >
, cast1st_impl< equal_to_impl< int,int >,Tag1, int >
>::type
{
typedef
scanner<
> scanner_t;
};
}
template <typename T>
struct is_empty_impl
;
template< typename T > struct is_empty : public ::integral_constant<bool,::is_empty_impl<T>::value> { public: };
template <class T1, class T2, bool IsSame, bool FirstEmpty, bool SecondEmpty>
struct compressed_pair_switch;
template <class T1, class T2, int Version> class compressed_pair_imp;
template <class T1, class T2>
class compressed_pair_imp<T1, T2, 0>
;
template <class T1, class T2>
class compressed_pair
: private ::compressed_pair_imp<T1, T2,
::compressed_pair_switch<
T1,
T2,
::is_same<typename remove_cv<T1>::type, typename remove_cv<T2>::type>::value,
::is_empty<T1>::value,
::is_empty<T2>::value>::value>
{
typedef T1 base;
};
template <class T>
class compressed_pair<T, T>
: private compressed_pair_imp<T, T,
::compressed_pair_switch<
T,
T,
::is_same<typename remove_cv<T>::type, typename remove_cv<T>::type>::value,
::is_empty<T>::value,
::is_empty<T>::value>::value>
{
typedef compressed_pair_imp<T, T,
::compressed_pair_switch<
T,
T,
::is_same<typename remove_cv<T>::type, typename remove_cv<T>::type>::value,
::is_empty<T>::value,
::is_empty<T>::value>::value> base;
};
template <typename S, typename BaseT>
class unary : public BaseT
{
};
template <typename T>
struct ureal_parser_policies;
template <typename T>
struct real_parser_policies : public ureal_parser_policies<T>
{
};
;
template< int Category > struct int_least_helper ;
template <int Bits>
struct exact_signed_base_helper;
template< int Bits >
struct int_t : public exact_signed_base_helper<Bits>
{
typedef typename int_least_helper
<
Bits <= 0
>::least least;
};
template< long long MaxValue >
struct int_max_value_t
;
template<typename Signature> class function;
struct function_buffer
;
struct function_ptr_tag ;
struct function_obj_tag ;
struct function_obj_ref_tag ;
struct function_allows_small_object_optimization
;
template<
typename FunctionPtr,
typename R
>
struct function_invoker0
;
template<
typename FunctionPtr,
typename R
>
struct void_function_invoker0
;
template<
typename FunctionObj,
typename R
>
struct function_obj_invoker0
;
template<
typename FunctionObj,
typename R
>
struct void_function_obj_invoker0
;
template<
typename FunctionObj,
typename R
>
struct function_ref_invoker0
;
template<
typename FunctionObj,
typename R
>
struct void_function_ref_invoker0
;
template<
typename FunctionPtr,
typename R
>
struct get_function_invoker0
;
template<
typename FunctionObj,
typename R
>
struct get_function_obj_invoker0
;
template<
typename FunctionObj,
typename R
>
struct get_function_ref_invoker0
;
template<typename Tag>
struct get_invoker0 ;
template<>
struct get_invoker0<function_ptr_tag>
;
template<>
struct get_invoker0<function_obj_tag>
;
template<>
struct get_invoker0<function_obj_ref_tag>
;
template<
typename T0
>
struct function_invoker1
;
template<
typename T0
>
struct void_function_invoker1
;
template<
typename T0
>
struct function_obj_invoker1
;
template<
typename T0
>
struct void_function_obj_invoker1
;
template<
typename FunctionPtr,
typename R ,
typename T0 , typename T1
>
struct function_invoker2
;
template<
typename FunctionPtr,
typename R ,
typename T0 , typename T1
>
struct void_function_invoker2
;
template<
typename FunctionObj,
typename R ,
typename T0 , typename T1
>
struct function_ref_invoker2
;
template<
typename FunctionObj,
typename R ,
typename T0 , typename T1
>
struct void_function_ref_invoker2
;
template<
typename MemberPtr,
typename R ,
typename T0 , typename T1
>
struct function_mem_invoker2
;
template<
typename MemberPtr,
typename R ,
typename T0 , typename T1
>
struct function_void_mem_invoker2
;
template<
typename FunctionPtr,
typename R ,
typename T0 , typename T1
>
struct get_function_invoker2
;
template<
typename FunctionObj,
typename R ,
typename T0 , typename T1
>
struct get_function_ref_invoker2
;
template<
typename MemberPtr,
typename R ,
typename T0 , typename T1
>
struct get_member_invoker2
;
template<typename Tag>
struct get_invoker2 ;
template<>
struct get_invoker2<function_ptr_tag>
;
template<
typename FunctionPtr,
typename R ,
typename T0 , typename T1 , typename T2
>
struct function_invoker3
;
template<
typename FunctionPtr,
typename R ,
typename T0 , typename T1 , typename T2
>
struct void_function_invoker3
;
template<
typename FunctionObj,
typename R ,
typename T0 , typename T1 , typename T2
>
struct function_obj_invoker3
;
template<
typename FunctionObj,
typename R ,
typename T0 , typename T1 , typename T2
>
struct void_function_obj_invoker3
;
template<
typename FunctionObj,
typename R ,
typename T0 , typename T1 , typename T2
>
struct function_ref_invoker3
;
template<
typename FunctionObj,
typename R ,
typename T0 , typename T1 , typename T2
>
struct void_function_ref_invoker3
;
template<
typename MemberPtr,
typename R ,
typename T0 , typename T1 , typename T2
>
struct function_mem_invoker3
;
template<
typename MemberPtr,
typename R ,
typename T0 , typename T1 , typename T2
>
struct function_void_mem_invoker3
;
template<
typename FunctionPtr,
typename R ,
typename T0 , typename T1 , typename T2
>
struct get_function_invoker3
;
template<
typename FunctionObj,
typename R ,
typename T0 , typename T1 , typename T2
>
struct get_function_obj_invoker3
;
template<
typename FunctionObj,
typename R ,
typename T0 , typename T1 , typename T2
>
struct get_function_ref_invoker3
;
template<
typename MemberPtr,
typename R ,
typename T0 , typename T1 , typename T2
>
struct get_member_invoker3
;
template<typename Tag>
struct get_invoker3 ;
template<>
struct get_invoker3<function_ptr_tag>
;
template<
typename R ,
typename T0 , typename T1 , typename T2>
class function<R ( T0 , T1 , T2)>
;
template<
typename FunctionPtr,
typename R ,
typename T0 , typename T1 , typename T2 , typename T3
>
struct function_invoker4
;
template<
typename FunctionPtr,
typename R ,
typename T0 , typename T1 , typename T2 , typename T3
>
struct void_function_invoker4
;
template<
typename FunctionObj,
typename R ,
typename T0 , typename T1 , typename T2 , typename T3
>
struct function_obj_invoker4
;
template<
typename FunctionObj,
typename R ,
typename T0 , typename T1 , typename T2 , typename T3
>
struct void_function_obj_invoker4
;
template<
typename FunctionObj,
typename R ,
typename T0 , typename T1 , typename T2 , typename T3
>
struct function_ref_invoker4
;
template<
typename FunctionObj,
typename R ,
typename T0 , typename T1 , typename T2 , typename T3
>
struct void_function_ref_invoker4
;
template<
typename MemberPtr,
typename R ,
typename T0 , typename T1 , typename T2 , typename T3
>
struct function_mem_invoker4
;
template<
typename MemberPtr,
typename R ,
typename T0 , typename T1 , typename T2 , typename T3
>
struct function_void_mem_invoker4
;
template<
typename FunctionPtr,
typename R ,
typename T0 , typename T1 , typename T2 , typename T3
>
struct get_function_invoker4
;
template<
typename FunctionObj,
typename R ,
typename T0 , typename T1 , typename T2 , typename T3
>
struct get_function_obj_invoker4
;
template<
typename FunctionObj,
typename R ,
typename T0 , typename T1 , typename T2 , typename T3
>
struct get_function_ref_invoker4
;
template<
typename MemberPtr,
typename R ,
typename T0 , typename T1 , typename T2 , typename T3
>
struct get_member_invoker4
;
template<typename Tag>
struct get_invoker4 ;
template<>
struct get_invoker4<function_ptr_tag>
;
template<
typename FunctionPtr,
typename R ,
typename T0 , typename T1 , typename T2 , typename T3 , typename T4
>
struct function_invoker5
;
template<
typename FunctionPtr,
typename R ,
typename T0 , typename T1 , typename T2 , typename T3 , typename T4
>
struct void_function_invoker5
;
template<
typename FunctionObj,
typename R ,
typename T0 , typename T1 , typename T2 , typename T3 , typename T4
>
struct function_obj_invoker5
;
template<
typename FunctionObj,
typename R ,
typename T0 , typename T1 , typename T2 , typename T3 , typename T4
>
struct void_function_obj_invoker5
;
template<
typename FunctionObj,
typename R ,
typename T0 , typename T1 , typename T2 , typename T3 , typename T4
>
struct function_ref_invoker5
;
template<
typename FunctionObj,
typename R ,
typename T0 , typename T1 , typename T2 , typename T3 , typename T4
>
struct void_function_ref_invoker5
;
template<
typename MemberPtr,
typename R ,
typename T0 , typename T1 , typename T2 , typename T3 , typename T4
>
struct function_mem_invoker5
;
template<
typename MemberPtr,
typename R ,
typename T0 , typename T1 , typename T2 , typename T3 , typename T4
>
struct function_void_mem_invoker5
;
template<
typename FunctionPtr,
typename R ,
typename T0 , typename T1 , typename T2 , typename T3 , typename T4
>
struct get_function_invoker5
;
template<
typename FunctionObj,
typename R ,
typename T0 , typename T1 , typename T2 , typename T3 , typename T4
>
struct get_function_obj_invoker5
;
template<
typename FunctionObj,
typename R ,
typename T0 , typename T1 , typename T2 , typename T3 , typename T4
>
struct get_function_ref_invoker5
;
template<
typename MemberPtr,
typename R ,
typename T0 , typename T1 , typename T2 , typename T3 , typename T4
>
struct get_member_invoker5
;
template<
typename FunctionObj,
typename R ,
typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5
>
struct function_obj_invoker6
;
template<
typename FunctionObj,
typename R ,
typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5
>
struct void_function_obj_invoker6
;
template<
typename FunctionObj,
typename R ,
typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5
>
struct function_ref_invoker6
;
template<
typename FunctionObj,
typename R ,
typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5
>
struct void_function_ref_invoker6
;
template<
typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5
>
struct function_mem_invoker6
;
template<
typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5
>
struct function_void_mem_invoker6
;
template<
typename FunctionPtr,
typename R ,
typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5
>
struct get_function_invoker6
;
template<
typename FunctionObj,
typename R ,
typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5
>
struct get_function_obj_invoker6
;
template<
typename FunctionObj,
typename R ,
typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5
>
struct get_function_ref_invoker6
;
template<
typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5
>
struct get_member_invoker6
;
template<typename Tag>
struct get_invoker6 ;
template<>
struct get_invoker6<function_ptr_tag>
;
template<>
struct get_invoker6<function_obj_tag>
;
template<
typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7
>
struct void_function_obj_invoker8
;
template<
typename FunctionPtr,
typename R ,
typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8
>
struct function_invoker9
;
template<
typename FunctionPtr,
typename R ,
typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8
>
struct void_function_invoker9
;
template<
typename FunctionObj,
typename R ,
typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8
>
struct function_obj_invoker9
;
template<
typename FunctionObj,
typename R ,
typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8
>
struct void_function_obj_invoker9
;
template<
typename FunctionObj,
typename R ,
typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8
>
struct function_ref_invoker9
;
template<
typename FunctionObj,
typename R ,
typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8
>
struct void_function_ref_invoker9
;
template<
typename MemberPtr,
typename R ,
typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8
>
struct function_mem_invoker9
;
template<
typename MemberPtr,
typename R ,
typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8
>
struct function_void_mem_invoker9
;
template<
typename FunctionPtr,
typename R ,
typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8
>
struct get_function_invoker9
;
template<
typename FunctionObj,
typename R ,
typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8
>
struct get_function_obj_invoker9
;
template<
typename FunctionObj,
typename R ,
typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8
>
struct get_function_ref_invoker9
;
template<
typename MemberPtr,
typename R ,
typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8
>
struct get_member_invoker9
;
template<typename Tag>
struct get_invoker9 ;
template<>
struct get_invoker9<function_obj_ref_tag>
;
template<typename R ,
typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8>
class function<R ( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8)>
;
template<
typename FunctionPtr,
typename R ,
typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9
>
struct function_invoker10
;
template<
typename FunctionPtr,
typename R ,
typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9
>
struct void_function_invoker10
;
template<
typename FunctionPtr,
typename R ,
typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9
>
struct get_function_invoker10
;
class time_base
{
};
template<typename _CharT, typename _InIter>
class Trans_NS___cxx11_time_get : public locale::facet, public time_base
{
};
struct bidirectional_traversal_tag
;
struct random_access_traversal_tag
;
struct old_category_to_traversal
;
template <class Cat>
struct iterator_category_to_traversal
;
template <typename A, typename B>
struct is_interoperable
;
namespace mpl {
template<
typename T1 = na
>
struct and_
;
}
template <class Cond,
class Return>
struct enable_if
;
namespace mpl {
template<
typename F, typename T1 = na, typename T2 = na, typename T3 = na
, typename T4 = na, typename T5 = na
>
struct bind;
template<
typename T = na
>
struct protect : T
{
};
template<
typename T, typename U1, typename U2, typename U3, typename U4
, typename U5
>
struct resolve_bind_arg
;
template<
typename F
>
struct bind0
;
template<
typename F, typename U1, typename U2, typename U3, typename U4
, typename U5
>
struct resolve_bind_arg
;
template<
typename F
>
struct bind< F,na,na,na,na,na >
;
template<
typename F, typename T1
>
struct bind1
;
template<
typename F, typename T1, typename U1, typename U2, typename U3
, typename U4, typename U5
>
struct resolve_bind_arg<
bind1< F,T1 >, U1, U2, U3, U4, U5
>
;
;
template<
typename F, typename T1, typename T2, typename T3
>
struct bind3
;
template<
typename F, typename T1, typename T2, typename T3, typename T4
>
struct bind4
;
template<
typename F, typename T1, typename T2, typename T3, typename T4
, typename U1, typename U2, typename U3, typename U4, typename U5
>
struct resolve_bind_arg<
bind4< F,T1,T2,T3,T4 >, U1, U2, U3, U4, U5
>
;
;
template<
typename F, typename T1, typename T2, typename T3, typename T4
>
struct bind5
;
}
namespace mpl {
template< typename T, typename fallback_ = mpl::bool_<true> > struct has_type ;
}
namespace mpl {
template< typename T, bool has_type_ >
struct quote_impl
;
template<
template< typename P1 > class F
, typename Tag = void_
>
struct quote1
;
template<
typename F
, typename Tag
>
struct lambda
;
template<
typename IsLE, typename Tag
, template< typename P1 > class F
, typename L1
>
struct le_result1
;
template<
typename Tag
, template< typename P1 > class F
, typename L1
>
struct le_result1< bool_<true>,Tag,F,L1 >
;
template<
template< typename P1, typename P2, typename P3 > class F
, typename T1, typename T2, typename T3
, typename Tag
>
struct lambda<
F< T1,T2,T3 >
, Tag
>
;
template<
typename F, typename T1, typename T2, typename T3
, typename Tag
>
struct lambda<
bind3< F,T1,T2,T3 >
, Tag
>
;
template<
typename F, typename T1, typename T2, typename T3, typename T4
, typename T5
, typename Tag
>
struct lambda<
bind< F,T1,T2,T3,T4,T5 >
, Tag
>
;
}
template< typename CategoryOrTraversal, typename Required >
struct is_traversal_at_least :
public is_convertible< typename iterator_category_to_traversal< CategoryOrTraversal >::type, int >
{};
template <
class Facade1
, class Facade2
, class Return
>
struct enable_if_interoperable :
public enable_if<
is_interoperable< int, int >
, Return
>
{};
template <
class Facade1
, class Return
, class CategoryOrTraversal
, class Reference
, class Difference
, bool IsBidirectionalTraversal
, bool IsRandomAccessTraversal
>
class iterator_facade_base;
template <
class Derived
, class Value
, class CategoryOrTraversal
, class Reference
, class Difference
>
class iterator_facade_base< Derived, Value, CategoryOrTraversal, Reference, Difference, false, false >
;
template <
class Derived
, class Value
, class CategoryOrTraversal
, class Reference
, class Difference
>
class iterator_facade_base< Derived, Value, CategoryOrTraversal, Reference, Difference, true, true > :
public iterator_facade_base< Derived, Value, CategoryOrTraversal, Reference, Difference, true, false >
{
};
template <
class Derived
, class Value
, class CategoryOrTraversal
, class Reference = int&
, class Difference = long
>
class iterator_facade :
public iterator_facade_base<
int,
int,
CategoryOrTraversal,
int,
int,
is_traversal_at_least< CategoryOrTraversal, int >::value,
is_traversal_at_least< CategoryOrTraversal, int >::value
>
{
};
template <class T, class DefaultNullaryFn>
struct ia_dflt_help
;
template <
class Derived
, class Value
, class Reference
>
struct iterator_adaptor_base
;
struct iterator_pointee
;