forked from boostorg/fusion
fixed "explicit" problem
[SVN r35732]
This commit is contained in:
@ -85,7 +85,7 @@ namespace boost { namespace fusion
|
||||
: car(rhs.car), cdr(rhs.cdr) {}
|
||||
|
||||
template <typename Sequence>
|
||||
explicit cons(
|
||||
cons(
|
||||
Sequence const& seq
|
||||
, typename disable_if<
|
||||
mpl::or_<
|
||||
|
@ -35,8 +35,8 @@ namespace boost { namespace fusion
|
||||
list(list<BOOST_PP_ENUM_PARAMS(FUSION_MAX_LIST_SIZE, U)> const& rhs)
|
||||
: inherited_type(rhs) {}
|
||||
|
||||
template <typename T>
|
||||
explicit list(T const& rhs)
|
||||
template <typename Sequence>
|
||||
list(Sequence const& rhs)
|
||||
: inherited_type(rhs) {}
|
||||
|
||||
// Expand a couple of forwarding constructors for arguments
|
||||
|
@ -45,8 +45,8 @@ namespace boost { namespace fusion
|
||||
map()
|
||||
: data() {}
|
||||
|
||||
template <typename T>
|
||||
explicit map(T const& rhs)
|
||||
template <typename Sequence>
|
||||
map(Sequence const& rhs)
|
||||
: data(rhs) {}
|
||||
|
||||
#include <boost/fusion/sequence/container/map/detail/map_forward_ctor.hpp>
|
||||
|
@ -45,8 +45,8 @@ namespace boost { namespace fusion
|
||||
set()
|
||||
: data() {}
|
||||
|
||||
template <typename T>
|
||||
explicit set(T const& rhs)
|
||||
template <typename Sequence>
|
||||
set(Sequence const& rhs)
|
||||
: data(rhs) {}
|
||||
|
||||
#include <boost/fusion/sequence/container/set/detail/set_forward_ctor.hpp>
|
||||
|
@ -89,6 +89,9 @@
|
||||
|
||||
BOOST_PP_CAT(vector, N)() {}
|
||||
|
||||
#if (N == 1)
|
||||
explicit
|
||||
#endif
|
||||
BOOST_PP_CAT(vector, N)(
|
||||
BOOST_PP_ENUM_BINARY_PARAMS(
|
||||
N, typename detail::call_param<T, >::type _))
|
||||
@ -100,7 +103,7 @@
|
||||
: base_type(BOOST_PP_ENUM_PARAMS(N, vec.m)) {}
|
||||
|
||||
template <typename Sequence>
|
||||
explicit BOOST_PP_CAT(vector, N)(
|
||||
BOOST_PP_CAT(vector, N)(
|
||||
Sequence const& seq
|
||||
, typename disable_if<is_convertible<Sequence, T0> >::type* dummy = 0)
|
||||
: base_type(base_type::init_from_sequence(seq)) {}
|
||||
|
@ -56,10 +56,10 @@ namespace boost { namespace fusion
|
||||
vector(vector const& rhs)
|
||||
: vec(rhs.vec) {}
|
||||
|
||||
template <typename T>
|
||||
explicit vector(T const& rhs)
|
||||
template <typename Sequence>
|
||||
vector(Sequence const& rhs)
|
||||
#if BOOST_WORKAROUND(BOOST_MSVC, <= 1400)
|
||||
: vec(ctor_helper(rhs, is_base_of<vector, T>())) {}
|
||||
: vec(ctor_helper(rhs, is_base_of<vector, Sequence>())) {}
|
||||
#else
|
||||
: vec(rhs) {}
|
||||
#endif
|
||||
|
@ -30,8 +30,8 @@ namespace boost { namespace fusion
|
||||
tuple()
|
||||
: base_type() {}
|
||||
|
||||
template <typename T>
|
||||
explicit tuple(T const& rhs)
|
||||
template <typename Sequence>
|
||||
tuple(Sequence const& rhs)
|
||||
: base_type(rhs) {}
|
||||
|
||||
#include <boost/fusion/tuple/detail/tuple_forward_ctor.hpp>
|
||||
|
Reference in New Issue
Block a user