mirror of
https://github.com/boostorg/fusion.git
synced 2025-07-29 12:07:36 +02:00
fixed for msvc + gcc (all regresions ok)
[SVN r35271]
This commit is contained in:
@ -37,8 +37,7 @@ namespace boost { namespace fusion
|
||||
deref(Iterator const& i)
|
||||
{
|
||||
typedef result_of::deref<Iterator> deref_meta;
|
||||
typename deref_meta::type result(deref_meta::call(i));
|
||||
return result;
|
||||
return deref_meta::call(i);
|
||||
}
|
||||
|
||||
template <typename Iterator>
|
||||
|
@ -56,8 +56,7 @@ namespace boost { namespace fusion { namespace distance_detail
|
||||
static type
|
||||
call(First const&, Last const&)
|
||||
{
|
||||
static type result;
|
||||
return result;
|
||||
return type();
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -87,7 +87,7 @@ namespace boost { namespace fusion
|
||||
template <typename Sequence>
|
||||
explicit cons(
|
||||
Sequence const& seq
|
||||
#if defined(BOOST_MSVC)
|
||||
//~ #if defined(BOOST_MSVC)
|
||||
// VC++ gets confused when RHS is a derived type. It fails to call
|
||||
// the copy ctor and attempts to call this templated constructor instead.
|
||||
, typename disable_if<
|
||||
@ -96,7 +96,7 @@ namespace boost { namespace fusion
|
||||
, is_convertible<Sequence, Car> // use copy to car instead
|
||||
>
|
||||
>::type* dummy = 0
|
||||
#endif
|
||||
//~ #endif
|
||||
)
|
||||
: car(*fusion::begin(seq))
|
||||
, cdr(fusion::next(fusion::begin(seq)), mpl::true_()) {}
|
||||
|
Reference in New Issue
Block a user