Quickbook: Merge from trunk to quickbook-dev.

[SVN r76255]
This commit is contained in:
Daniel James
2012-01-01 13:35:27 +00:00
parent 78ca71e354
commit 9773813709
17 changed files with 72 additions and 65 deletions

View File

@@ -88,7 +88,7 @@ namespace boost { namespace fusion
template <typename Sequence> template <typename Sequence>
cons( cons(
Sequence const& seq Sequence const& seq
, typename disable_if< , typename boost::disable_if<
mpl::or_< mpl::or_<
is_convertible<Sequence, cons> // use copy ctor instead is_convertible<Sequence, cons> // use copy ctor instead
, is_convertible<Sequence, Car> // use copy to car instead , is_convertible<Sequence, Car> // use copy to car instead
@@ -119,7 +119,7 @@ namespace boost { namespace fusion
} }
template <typename Sequence> template <typename Sequence>
typename disable_if<is_convertible<Sequence, Car>, cons&>::type typename boost::disable_if<is_convertible<Sequence, Car>, cons&>::type
operator=(Sequence const& seq) operator=(Sequence const& seq)
{ {
typedef typename result_of::begin<Sequence const>::type Iterator; typedef typename result_of::begin<Sequence const>::type Iterator;

View File

@@ -61,7 +61,7 @@ namespace boost { namespace fusion
template <typename Sequence> template <typename Sequence>
vector1( vector1(
Sequence const& seq Sequence const& seq
, typename disable_if<is_convertible<Sequence, T0> >::type* = 0 , typename boost::disable_if<is_convertible<Sequence, T0> >::type* = 0
) )
: base_type(base_type::init_from_sequence(seq)) {} : base_type(base_type::init_from_sequence(seq)) {}
template <typename U0> template <typename U0>
@@ -72,7 +72,7 @@ namespace boost { namespace fusion
return *this; return *this;
} }
template <typename Sequence> template <typename Sequence>
typename disable_if<is_convertible<Sequence, T0>, this_type&>::type typename boost::disable_if<is_convertible<Sequence, T0>, this_type&>::type
operator=(Sequence const& seq) operator=(Sequence const& seq)
{ {
typedef typename result_of::begin<Sequence const>::type I0; typedef typename result_of::begin<Sequence const>::type I0;
@@ -157,7 +157,7 @@ namespace boost { namespace fusion
return *this; return *this;
} }
template <typename Sequence> template <typename Sequence>
typename disable_if<is_convertible<Sequence, T0>, this_type&>::type typename boost::disable_if<is_convertible<Sequence, T0>, this_type&>::type
operator=(Sequence const& seq) operator=(Sequence const& seq)
{ {
typedef typename result_of::begin<Sequence const>::type I0; typedef typename result_of::begin<Sequence const>::type I0;
@@ -242,7 +242,7 @@ namespace boost { namespace fusion
return *this; return *this;
} }
template <typename Sequence> template <typename Sequence>
typename disable_if<is_convertible<Sequence, T0>, this_type&>::type typename boost::disable_if<is_convertible<Sequence, T0>, this_type&>::type
operator=(Sequence const& seq) operator=(Sequence const& seq)
{ {
typedef typename result_of::begin<Sequence const>::type I0; typedef typename result_of::begin<Sequence const>::type I0;
@@ -327,7 +327,7 @@ namespace boost { namespace fusion
return *this; return *this;
} }
template <typename Sequence> template <typename Sequence>
typename disable_if<is_convertible<Sequence, T0>, this_type&>::type typename boost::disable_if<is_convertible<Sequence, T0>, this_type&>::type
operator=(Sequence const& seq) operator=(Sequence const& seq)
{ {
typedef typename result_of::begin<Sequence const>::type I0; typedef typename result_of::begin<Sequence const>::type I0;
@@ -412,7 +412,7 @@ namespace boost { namespace fusion
return *this; return *this;
} }
template <typename Sequence> template <typename Sequence>
typename disable_if<is_convertible<Sequence, T0>, this_type&>::type typename boost::disable_if<is_convertible<Sequence, T0>, this_type&>::type
operator=(Sequence const& seq) operator=(Sequence const& seq)
{ {
typedef typename result_of::begin<Sequence const>::type I0; typedef typename result_of::begin<Sequence const>::type I0;
@@ -497,7 +497,7 @@ namespace boost { namespace fusion
return *this; return *this;
} }
template <typename Sequence> template <typename Sequence>
typename disable_if<is_convertible<Sequence, T0>, this_type&>::type typename boost::disable_if<is_convertible<Sequence, T0>, this_type&>::type
operator=(Sequence const& seq) operator=(Sequence const& seq)
{ {
typedef typename result_of::begin<Sequence const>::type I0; typedef typename result_of::begin<Sequence const>::type I0;
@@ -582,7 +582,7 @@ namespace boost { namespace fusion
return *this; return *this;
} }
template <typename Sequence> template <typename Sequence>
typename disable_if<is_convertible<Sequence, T0>, this_type&>::type typename boost::disable_if<is_convertible<Sequence, T0>, this_type&>::type
operator=(Sequence const& seq) operator=(Sequence const& seq)
{ {
typedef typename result_of::begin<Sequence const>::type I0; typedef typename result_of::begin<Sequence const>::type I0;
@@ -667,7 +667,7 @@ namespace boost { namespace fusion
return *this; return *this;
} }
template <typename Sequence> template <typename Sequence>
typename disable_if<is_convertible<Sequence, T0>, this_type&>::type typename boost::disable_if<is_convertible<Sequence, T0>, this_type&>::type
operator=(Sequence const& seq) operator=(Sequence const& seq)
{ {
typedef typename result_of::begin<Sequence const>::type I0; typedef typename result_of::begin<Sequence const>::type I0;
@@ -752,7 +752,7 @@ namespace boost { namespace fusion
return *this; return *this;
} }
template <typename Sequence> template <typename Sequence>
typename disable_if<is_convertible<Sequence, T0>, this_type&>::type typename boost::disable_if<is_convertible<Sequence, T0>, this_type&>::type
operator=(Sequence const& seq) operator=(Sequence const& seq)
{ {
typedef typename result_of::begin<Sequence const>::type I0; typedef typename result_of::begin<Sequence const>::type I0;
@@ -837,7 +837,7 @@ namespace boost { namespace fusion
return *this; return *this;
} }
template <typename Sequence> template <typename Sequence>
typename disable_if<is_convertible<Sequence, T0>, this_type&>::type typename boost::disable_if<is_convertible<Sequence, T0>, this_type&>::type
operator=(Sequence const& seq) operator=(Sequence const& seq)
{ {
typedef typename result_of::begin<Sequence const>::type I0; typedef typename result_of::begin<Sequence const>::type I0;

View File

@@ -73,7 +73,7 @@ namespace boost { namespace fusion
return *this; return *this;
} }
template <typename Sequence> template <typename Sequence>
typename disable_if<is_convertible<Sequence, T0>, this_type&>::type typename boost::disable_if<is_convertible<Sequence, T0>, this_type&>::type
operator=(Sequence const& seq) operator=(Sequence const& seq)
{ {
typedef typename result_of::begin<Sequence const>::type I0; typedef typename result_of::begin<Sequence const>::type I0;
@@ -158,7 +158,7 @@ namespace boost { namespace fusion
return *this; return *this;
} }
template <typename Sequence> template <typename Sequence>
typename disable_if<is_convertible<Sequence, T0>, this_type&>::type typename boost::disable_if<is_convertible<Sequence, T0>, this_type&>::type
operator=(Sequence const& seq) operator=(Sequence const& seq)
{ {
typedef typename result_of::begin<Sequence const>::type I0; typedef typename result_of::begin<Sequence const>::type I0;
@@ -243,7 +243,7 @@ namespace boost { namespace fusion
return *this; return *this;
} }
template <typename Sequence> template <typename Sequence>
typename disable_if<is_convertible<Sequence, T0>, this_type&>::type typename boost::disable_if<is_convertible<Sequence, T0>, this_type&>::type
operator=(Sequence const& seq) operator=(Sequence const& seq)
{ {
typedef typename result_of::begin<Sequence const>::type I0; typedef typename result_of::begin<Sequence const>::type I0;
@@ -328,7 +328,7 @@ namespace boost { namespace fusion
return *this; return *this;
} }
template <typename Sequence> template <typename Sequence>
typename disable_if<is_convertible<Sequence, T0>, this_type&>::type typename boost::disable_if<is_convertible<Sequence, T0>, this_type&>::type
operator=(Sequence const& seq) operator=(Sequence const& seq)
{ {
typedef typename result_of::begin<Sequence const>::type I0; typedef typename result_of::begin<Sequence const>::type I0;
@@ -413,7 +413,7 @@ namespace boost { namespace fusion
return *this; return *this;
} }
template <typename Sequence> template <typename Sequence>
typename disable_if<is_convertible<Sequence, T0>, this_type&>::type typename boost::disable_if<is_convertible<Sequence, T0>, this_type&>::type
operator=(Sequence const& seq) operator=(Sequence const& seq)
{ {
typedef typename result_of::begin<Sequence const>::type I0; typedef typename result_of::begin<Sequence const>::type I0;
@@ -498,7 +498,7 @@ namespace boost { namespace fusion
return *this; return *this;
} }
template <typename Sequence> template <typename Sequence>
typename disable_if<is_convertible<Sequence, T0>, this_type&>::type typename boost::disable_if<is_convertible<Sequence, T0>, this_type&>::type
operator=(Sequence const& seq) operator=(Sequence const& seq)
{ {
typedef typename result_of::begin<Sequence const>::type I0; typedef typename result_of::begin<Sequence const>::type I0;
@@ -583,7 +583,7 @@ namespace boost { namespace fusion
return *this; return *this;
} }
template <typename Sequence> template <typename Sequence>
typename disable_if<is_convertible<Sequence, T0>, this_type&>::type typename boost::disable_if<is_convertible<Sequence, T0>, this_type&>::type
operator=(Sequence const& seq) operator=(Sequence const& seq)
{ {
typedef typename result_of::begin<Sequence const>::type I0; typedef typename result_of::begin<Sequence const>::type I0;
@@ -668,7 +668,7 @@ namespace boost { namespace fusion
return *this; return *this;
} }
template <typename Sequence> template <typename Sequence>
typename disable_if<is_convertible<Sequence, T0>, this_type&>::type typename boost::disable_if<is_convertible<Sequence, T0>, this_type&>::type
operator=(Sequence const& seq) operator=(Sequence const& seq)
{ {
typedef typename result_of::begin<Sequence const>::type I0; typedef typename result_of::begin<Sequence const>::type I0;
@@ -753,7 +753,7 @@ namespace boost { namespace fusion
return *this; return *this;
} }
template <typename Sequence> template <typename Sequence>
typename disable_if<is_convertible<Sequence, T0>, this_type&>::type typename boost::disable_if<is_convertible<Sequence, T0>, this_type&>::type
operator=(Sequence const& seq) operator=(Sequence const& seq)
{ {
typedef typename result_of::begin<Sequence const>::type I0; typedef typename result_of::begin<Sequence const>::type I0;
@@ -838,7 +838,7 @@ namespace boost { namespace fusion
return *this; return *this;
} }
template <typename Sequence> template <typename Sequence>
typename disable_if<is_convertible<Sequence, T0>, this_type&>::type typename boost::disable_if<is_convertible<Sequence, T0>, this_type&>::type
operator=(Sequence const& seq) operator=(Sequence const& seq)
{ {
typedef typename result_of::begin<Sequence const>::type I0; typedef typename result_of::begin<Sequence const>::type I0;

View File

@@ -73,7 +73,7 @@ namespace boost { namespace fusion
return *this; return *this;
} }
template <typename Sequence> template <typename Sequence>
typename disable_if<is_convertible<Sequence, T0>, this_type&>::type typename boost::disable_if<is_convertible<Sequence, T0>, this_type&>::type
operator=(Sequence const& seq) operator=(Sequence const& seq)
{ {
typedef typename result_of::begin<Sequence const>::type I0; typedef typename result_of::begin<Sequence const>::type I0;
@@ -158,7 +158,7 @@ namespace boost { namespace fusion
return *this; return *this;
} }
template <typename Sequence> template <typename Sequence>
typename disable_if<is_convertible<Sequence, T0>, this_type&>::type typename boost::disable_if<is_convertible<Sequence, T0>, this_type&>::type
operator=(Sequence const& seq) operator=(Sequence const& seq)
{ {
typedef typename result_of::begin<Sequence const>::type I0; typedef typename result_of::begin<Sequence const>::type I0;
@@ -243,7 +243,7 @@ namespace boost { namespace fusion
return *this; return *this;
} }
template <typename Sequence> template <typename Sequence>
typename disable_if<is_convertible<Sequence, T0>, this_type&>::type typename boost::disable_if<is_convertible<Sequence, T0>, this_type&>::type
operator=(Sequence const& seq) operator=(Sequence const& seq)
{ {
typedef typename result_of::begin<Sequence const>::type I0; typedef typename result_of::begin<Sequence const>::type I0;
@@ -328,7 +328,7 @@ namespace boost { namespace fusion
return *this; return *this;
} }
template <typename Sequence> template <typename Sequence>
typename disable_if<is_convertible<Sequence, T0>, this_type&>::type typename boost::disable_if<is_convertible<Sequence, T0>, this_type&>::type
operator=(Sequence const& seq) operator=(Sequence const& seq)
{ {
typedef typename result_of::begin<Sequence const>::type I0; typedef typename result_of::begin<Sequence const>::type I0;
@@ -413,7 +413,7 @@ namespace boost { namespace fusion
return *this; return *this;
} }
template <typename Sequence> template <typename Sequence>
typename disable_if<is_convertible<Sequence, T0>, this_type&>::type typename boost::disable_if<is_convertible<Sequence, T0>, this_type&>::type
operator=(Sequence const& seq) operator=(Sequence const& seq)
{ {
typedef typename result_of::begin<Sequence const>::type I0; typedef typename result_of::begin<Sequence const>::type I0;
@@ -498,7 +498,7 @@ namespace boost { namespace fusion
return *this; return *this;
} }
template <typename Sequence> template <typename Sequence>
typename disable_if<is_convertible<Sequence, T0>, this_type&>::type typename boost::disable_if<is_convertible<Sequence, T0>, this_type&>::type
operator=(Sequence const& seq) operator=(Sequence const& seq)
{ {
typedef typename result_of::begin<Sequence const>::type I0; typedef typename result_of::begin<Sequence const>::type I0;
@@ -583,7 +583,7 @@ namespace boost { namespace fusion
return *this; return *this;
} }
template <typename Sequence> template <typename Sequence>
typename disable_if<is_convertible<Sequence, T0>, this_type&>::type typename boost::disable_if<is_convertible<Sequence, T0>, this_type&>::type
operator=(Sequence const& seq) operator=(Sequence const& seq)
{ {
typedef typename result_of::begin<Sequence const>::type I0; typedef typename result_of::begin<Sequence const>::type I0;
@@ -668,7 +668,7 @@ namespace boost { namespace fusion
return *this; return *this;
} }
template <typename Sequence> template <typename Sequence>
typename disable_if<is_convertible<Sequence, T0>, this_type&>::type typename boost::disable_if<is_convertible<Sequence, T0>, this_type&>::type
operator=(Sequence const& seq) operator=(Sequence const& seq)
{ {
typedef typename result_of::begin<Sequence const>::type I0; typedef typename result_of::begin<Sequence const>::type I0;
@@ -753,7 +753,7 @@ namespace boost { namespace fusion
return *this; return *this;
} }
template <typename Sequence> template <typename Sequence>
typename disable_if<is_convertible<Sequence, T0>, this_type&>::type typename boost::disable_if<is_convertible<Sequence, T0>, this_type&>::type
operator=(Sequence const& seq) operator=(Sequence const& seq)
{ {
typedef typename result_of::begin<Sequence const>::type I0; typedef typename result_of::begin<Sequence const>::type I0;
@@ -838,7 +838,7 @@ namespace boost { namespace fusion
return *this; return *this;
} }
template <typename Sequence> template <typename Sequence>
typename disable_if<is_convertible<Sequence, T0>, this_type&>::type typename boost::disable_if<is_convertible<Sequence, T0>, this_type&>::type
operator=(Sequence const& seq) operator=(Sequence const& seq)
{ {
typedef typename result_of::begin<Sequence const>::type I0; typedef typename result_of::begin<Sequence const>::type I0;

View File

@@ -73,7 +73,7 @@ namespace boost { namespace fusion
return *this; return *this;
} }
template <typename Sequence> template <typename Sequence>
typename disable_if<is_convertible<Sequence, T0>, this_type&>::type typename boost::disable_if<is_convertible<Sequence, T0>, this_type&>::type
operator=(Sequence const& seq) operator=(Sequence const& seq)
{ {
typedef typename result_of::begin<Sequence const>::type I0; typedef typename result_of::begin<Sequence const>::type I0;
@@ -158,7 +158,7 @@ namespace boost { namespace fusion
return *this; return *this;
} }
template <typename Sequence> template <typename Sequence>
typename disable_if<is_convertible<Sequence, T0>, this_type&>::type typename boost::disable_if<is_convertible<Sequence, T0>, this_type&>::type
operator=(Sequence const& seq) operator=(Sequence const& seq)
{ {
typedef typename result_of::begin<Sequence const>::type I0; typedef typename result_of::begin<Sequence const>::type I0;
@@ -243,7 +243,7 @@ namespace boost { namespace fusion
return *this; return *this;
} }
template <typename Sequence> template <typename Sequence>
typename disable_if<is_convertible<Sequence, T0>, this_type&>::type typename boost::disable_if<is_convertible<Sequence, T0>, this_type&>::type
operator=(Sequence const& seq) operator=(Sequence const& seq)
{ {
typedef typename result_of::begin<Sequence const>::type I0; typedef typename result_of::begin<Sequence const>::type I0;
@@ -328,7 +328,7 @@ namespace boost { namespace fusion
return *this; return *this;
} }
template <typename Sequence> template <typename Sequence>
typename disable_if<is_convertible<Sequence, T0>, this_type&>::type typename boost::disable_if<is_convertible<Sequence, T0>, this_type&>::type
operator=(Sequence const& seq) operator=(Sequence const& seq)
{ {
typedef typename result_of::begin<Sequence const>::type I0; typedef typename result_of::begin<Sequence const>::type I0;
@@ -413,7 +413,7 @@ namespace boost { namespace fusion
return *this; return *this;
} }
template <typename Sequence> template <typename Sequence>
typename disable_if<is_convertible<Sequence, T0>, this_type&>::type typename boost::disable_if<is_convertible<Sequence, T0>, this_type&>::type
operator=(Sequence const& seq) operator=(Sequence const& seq)
{ {
typedef typename result_of::begin<Sequence const>::type I0; typedef typename result_of::begin<Sequence const>::type I0;
@@ -498,7 +498,7 @@ namespace boost { namespace fusion
return *this; return *this;
} }
template <typename Sequence> template <typename Sequence>
typename disable_if<is_convertible<Sequence, T0>, this_type&>::type typename boost::disable_if<is_convertible<Sequence, T0>, this_type&>::type
operator=(Sequence const& seq) operator=(Sequence const& seq)
{ {
typedef typename result_of::begin<Sequence const>::type I0; typedef typename result_of::begin<Sequence const>::type I0;
@@ -583,7 +583,7 @@ namespace boost { namespace fusion
return *this; return *this;
} }
template <typename Sequence> template <typename Sequence>
typename disable_if<is_convertible<Sequence, T0>, this_type&>::type typename boost::disable_if<is_convertible<Sequence, T0>, this_type&>::type
operator=(Sequence const& seq) operator=(Sequence const& seq)
{ {
typedef typename result_of::begin<Sequence const>::type I0; typedef typename result_of::begin<Sequence const>::type I0;
@@ -668,7 +668,7 @@ namespace boost { namespace fusion
return *this; return *this;
} }
template <typename Sequence> template <typename Sequence>
typename disable_if<is_convertible<Sequence, T0>, this_type&>::type typename boost::disable_if<is_convertible<Sequence, T0>, this_type&>::type
operator=(Sequence const& seq) operator=(Sequence const& seq)
{ {
typedef typename result_of::begin<Sequence const>::type I0; typedef typename result_of::begin<Sequence const>::type I0;
@@ -753,7 +753,7 @@ namespace boost { namespace fusion
return *this; return *this;
} }
template <typename Sequence> template <typename Sequence>
typename disable_if<is_convertible<Sequence, T0>, this_type&>::type typename boost::disable_if<is_convertible<Sequence, T0>, this_type&>::type
operator=(Sequence const& seq) operator=(Sequence const& seq)
{ {
typedef typename result_of::begin<Sequence const>::type I0; typedef typename result_of::begin<Sequence const>::type I0;
@@ -838,7 +838,7 @@ namespace boost { namespace fusion
return *this; return *this;
} }
template <typename Sequence> template <typename Sequence>
typename disable_if<is_convertible<Sequence, T0>, this_type&>::type typename boost::disable_if<is_convertible<Sequence, T0>, this_type&>::type
operator=(Sequence const& seq) operator=(Sequence const& seq)
{ {
typedef typename result_of::begin<Sequence const>::type I0; typedef typename result_of::begin<Sequence const>::type I0;

View File

@@ -73,7 +73,7 @@ namespace boost { namespace fusion
return *this; return *this;
} }
template <typename Sequence> template <typename Sequence>
typename disable_if<is_convertible<Sequence, T0>, this_type&>::type typename boost::disable_if<is_convertible<Sequence, T0>, this_type&>::type
operator=(Sequence const& seq) operator=(Sequence const& seq)
{ {
typedef typename result_of::begin<Sequence const>::type I0; typedef typename result_of::begin<Sequence const>::type I0;
@@ -158,7 +158,7 @@ namespace boost { namespace fusion
return *this; return *this;
} }
template <typename Sequence> template <typename Sequence>
typename disable_if<is_convertible<Sequence, T0>, this_type&>::type typename boost::disable_if<is_convertible<Sequence, T0>, this_type&>::type
operator=(Sequence const& seq) operator=(Sequence const& seq)
{ {
typedef typename result_of::begin<Sequence const>::type I0; typedef typename result_of::begin<Sequence const>::type I0;
@@ -243,7 +243,7 @@ namespace boost { namespace fusion
return *this; return *this;
} }
template <typename Sequence> template <typename Sequence>
typename disable_if<is_convertible<Sequence, T0>, this_type&>::type typename boost::disable_if<is_convertible<Sequence, T0>, this_type&>::type
operator=(Sequence const& seq) operator=(Sequence const& seq)
{ {
typedef typename result_of::begin<Sequence const>::type I0; typedef typename result_of::begin<Sequence const>::type I0;
@@ -328,7 +328,7 @@ namespace boost { namespace fusion
return *this; return *this;
} }
template <typename Sequence> template <typename Sequence>
typename disable_if<is_convertible<Sequence, T0>, this_type&>::type typename boost::disable_if<is_convertible<Sequence, T0>, this_type&>::type
operator=(Sequence const& seq) operator=(Sequence const& seq)
{ {
typedef typename result_of::begin<Sequence const>::type I0; typedef typename result_of::begin<Sequence const>::type I0;
@@ -413,7 +413,7 @@ namespace boost { namespace fusion
return *this; return *this;
} }
template <typename Sequence> template <typename Sequence>
typename disable_if<is_convertible<Sequence, T0>, this_type&>::type typename boost::disable_if<is_convertible<Sequence, T0>, this_type&>::type
operator=(Sequence const& seq) operator=(Sequence const& seq)
{ {
typedef typename result_of::begin<Sequence const>::type I0; typedef typename result_of::begin<Sequence const>::type I0;
@@ -498,7 +498,7 @@ namespace boost { namespace fusion
return *this; return *this;
} }
template <typename Sequence> template <typename Sequence>
typename disable_if<is_convertible<Sequence, T0>, this_type&>::type typename boost::disable_if<is_convertible<Sequence, T0>, this_type&>::type
operator=(Sequence const& seq) operator=(Sequence const& seq)
{ {
typedef typename result_of::begin<Sequence const>::type I0; typedef typename result_of::begin<Sequence const>::type I0;
@@ -583,7 +583,7 @@ namespace boost { namespace fusion
return *this; return *this;
} }
template <typename Sequence> template <typename Sequence>
typename disable_if<is_convertible<Sequence, T0>, this_type&>::type typename boost::disable_if<is_convertible<Sequence, T0>, this_type&>::type
operator=(Sequence const& seq) operator=(Sequence const& seq)
{ {
typedef typename result_of::begin<Sequence const>::type I0; typedef typename result_of::begin<Sequence const>::type I0;
@@ -668,7 +668,7 @@ namespace boost { namespace fusion
return *this; return *this;
} }
template <typename Sequence> template <typename Sequence>
typename disable_if<is_convertible<Sequence, T0>, this_type&>::type typename boost::disable_if<is_convertible<Sequence, T0>, this_type&>::type
operator=(Sequence const& seq) operator=(Sequence const& seq)
{ {
typedef typename result_of::begin<Sequence const>::type I0; typedef typename result_of::begin<Sequence const>::type I0;
@@ -753,7 +753,7 @@ namespace boost { namespace fusion
return *this; return *this;
} }
template <typename Sequence> template <typename Sequence>
typename disable_if<is_convertible<Sequence, T0>, this_type&>::type typename boost::disable_if<is_convertible<Sequence, T0>, this_type&>::type
operator=(Sequence const& seq) operator=(Sequence const& seq)
{ {
typedef typename result_of::begin<Sequence const>::type I0; typedef typename result_of::begin<Sequence const>::type I0;
@@ -838,7 +838,7 @@ namespace boost { namespace fusion
return *this; return *this;
} }
template <typename Sequence> template <typename Sequence>
typename disable_if<is_convertible<Sequence, T0>, this_type&>::type typename boost::disable_if<is_convertible<Sequence, T0>, this_type&>::type
operator=(Sequence const& seq) operator=(Sequence const& seq)
{ {
typedef typename result_of::begin<Sequence const>::type I0; typedef typename result_of::begin<Sequence const>::type I0;

View File

@@ -104,7 +104,7 @@
BOOST_PP_CAT(vector, N)( BOOST_PP_CAT(vector, N)(
Sequence const& seq Sequence const& seq
#if (N == 1) #if (N == 1)
, typename disable_if<is_convertible<Sequence, T0> >::type* /*dummy*/ = 0 , typename boost::disable_if<is_convertible<Sequence, T0> >::type* /*dummy*/ = 0
#endif #endif
) )
: base_type(base_type::init_from_sequence(seq)) {} : base_type(base_type::init_from_sequence(seq)) {}
@@ -118,7 +118,7 @@
} }
template <typename Sequence> template <typename Sequence>
typename disable_if<is_convertible<Sequence, T0>, this_type&>::type typename boost::disable_if<is_convertible<Sequence, T0>, this_type&>::type
operator=(Sequence const& seq) operator=(Sequence const& seq)
{ {
typedef typename result_of::begin<Sequence const>::type I0; typedef typename result_of::begin<Sequence const>::type I0;

View File

@@ -74,7 +74,7 @@ namespace boost { namespace fusion
{ {
template <typename Iter1, typename Iter2> template <typename Iter1, typename Iter2>
inline typename inline typename
enable_if< boost::enable_if<
mpl::and_<is_fusion_iterator<Iter1>, is_fusion_iterator<Iter2> > mpl::and_<is_fusion_iterator<Iter1>, is_fusion_iterator<Iter2> >
, bool , bool
>::type >::type
@@ -85,7 +85,7 @@ namespace boost { namespace fusion
template <typename Iter1, typename Iter2> template <typename Iter1, typename Iter2>
inline typename inline typename
enable_if< boost::enable_if<
mpl::and_<is_fusion_iterator<Iter1>, is_fusion_iterator<Iter2> > mpl::and_<is_fusion_iterator<Iter1>, is_fusion_iterator<Iter2> >
, bool , bool
>::type >::type

View File

@@ -37,7 +37,7 @@ namespace boost { namespace fusion
{ {
template <typename Seq1, typename Seq2> template <typename Seq1, typename Seq2>
inline typename inline typename
enable_if< boost::enable_if<
traits::enable_equality<Seq1, Seq2> traits::enable_equality<Seq1, Seq2>
, bool , bool
>::type >::type

View File

@@ -37,7 +37,7 @@ namespace boost { namespace fusion
{ {
template <typename Seq1, typename Seq2> template <typename Seq1, typename Seq2>
inline typename inline typename
enable_if< boost::enable_if<
traits::enable_comparison<Seq1, Seq2> traits::enable_comparison<Seq1, Seq2>
, bool , bool
>::type >::type

View File

@@ -37,7 +37,7 @@ namespace boost { namespace fusion
{ {
template <typename Seq1, typename Seq2> template <typename Seq1, typename Seq2>
inline typename inline typename
enable_if< boost::enable_if<
traits::enable_comparison<Seq1, Seq2> traits::enable_comparison<Seq1, Seq2>
, bool , bool
>::type >::type

View File

@@ -28,7 +28,7 @@ namespace boost { namespace fusion
{ {
template <typename Seq1, typename Seq2> template <typename Seq1, typename Seq2>
inline typename inline typename
enable_if< boost::enable_if<
traits::enable_comparison<Seq1, Seq2> traits::enable_comparison<Seq1, Seq2>
, bool , bool
>::type >::type

View File

@@ -65,7 +65,7 @@ namespace boost { namespace fusion
template <typename Seq1, typename Seq2> template <typename Seq1, typename Seq2>
inline typename inline typename
enable_if< boost::enable_if<
traits::enable_comparison<Seq1, Seq2> traits::enable_comparison<Seq1, Seq2>
, bool , bool
>::type >::type

View File

@@ -40,7 +40,7 @@ namespace boost { namespace fusion
{ {
template <typename Seq1, typename Seq2> template <typename Seq1, typename Seq2>
inline typename inline typename
enable_if< boost::enable_if<
traits::enable_equality<Seq1, Seq2> traits::enable_equality<Seq1, Seq2>
, bool , bool
>::type >::type

View File

@@ -27,7 +27,7 @@ namespace boost { namespace fusion
{ {
template <typename Sequence> template <typename Sequence>
inline typename inline typename
enable_if< boost::enable_if<
fusion::traits::is_sequence<Sequence> fusion::traits::is_sequence<Sequence>
, std::istream& , std::istream&
>::type >::type

View File

@@ -29,7 +29,7 @@ namespace boost { namespace fusion
{ {
template <typename Sequence> template <typename Sequence>
inline typename inline typename
enable_if< boost::enable_if<
fusion::traits::is_sequence<Sequence> fusion::traits::is_sequence<Sequence>
, std::ostream& , std::ostream&
>::type >::type

View File

@@ -39,11 +39,18 @@ namespace boost { namespace fusion
{ {
template <typename Sequence, typename T> template <typename Sequence, typename T>
struct push_back; struct push_back;
template <typename Sequence, typename T>
struct push_front;
} }
template <typename Sequence, typename T> template <typename Sequence, typename T>
typename result_of::push_back<Sequence const, T>::type typename result_of::push_back<Sequence const, T>::type
push_back(Sequence const& seq, T const& x); push_back(Sequence const& seq, T const& x);
template <typename Sequence, typename T>
typename result_of::push_front<Sequence const, T>::type
push_front(Sequence const& seq, T const& x);
}} }}
namespace boost { namespace fusion { namespace detail namespace boost { namespace fusion { namespace detail