forked from boostorg/fusion
Workaround for ObjC (mis)use of nil (from Mathias Gaunard)
[SVN r81628]
This commit is contained in:
@@ -13,7 +13,7 @@
|
||||
|
||||
namespace boost { namespace fusion
|
||||
{
|
||||
struct nil;
|
||||
struct nil_;
|
||||
|
||||
struct cons_tag;
|
||||
|
||||
|
@@ -24,12 +24,12 @@ namespace boost { namespace fusion { namespace detail
|
||||
template <typename First, typename Last>
|
||||
struct build_cons<First, Last, true>
|
||||
{
|
||||
typedef nil type;
|
||||
typedef nil_ type;
|
||||
|
||||
static nil
|
||||
static nil_
|
||||
call(First const&, Last const&)
|
||||
{
|
||||
return nil();
|
||||
return nil_();
|
||||
}
|
||||
};
|
||||
|
||||
|
@@ -13,7 +13,7 @@ namespace boost { namespace fusion
|
||||
{
|
||||
struct cons_tag;
|
||||
|
||||
struct nil;
|
||||
struct nil_;
|
||||
|
||||
template <typename Car, typename Cdr>
|
||||
struct cons;
|
||||
@@ -28,7 +28,7 @@ namespace boost { namespace fusion
|
||||
{
|
||||
template <typename Sequence>
|
||||
struct apply
|
||||
: boost::is_convertible<Sequence, nil>
|
||||
: boost::is_convertible<Sequence, nil_>
|
||||
{};
|
||||
};
|
||||
}
|
||||
|
@@ -13,7 +13,7 @@
|
||||
|
||||
namespace boost { namespace fusion
|
||||
{
|
||||
struct nil;
|
||||
struct nil_;
|
||||
|
||||
struct cons_tag;
|
||||
|
||||
@@ -35,7 +35,7 @@ namespace boost { namespace fusion
|
||||
struct apply
|
||||
{
|
||||
typedef cons_iterator<
|
||||
typename mpl::if_<is_const<Sequence>, nil const, nil>::type>
|
||||
typename mpl::if_<is_const<Sequence>, nil_ const, nil_>::type>
|
||||
type;
|
||||
|
||||
static type
|
||||
|
@@ -18,7 +18,7 @@
|
||||
|
||||
namespace boost { namespace fusion
|
||||
{
|
||||
struct nil;
|
||||
struct nil_;
|
||||
struct void_;
|
||||
}}
|
||||
|
||||
@@ -61,7 +61,7 @@ namespace boost { namespace fusion { namespace detail
|
||||
template <>
|
||||
struct list_to_cons<BOOST_PP_ENUM(FUSION_MAX_LIST_SIZE, FUSION_VOID, _)>
|
||||
{
|
||||
typedef nil type;
|
||||
typedef nil_ type;
|
||||
};
|
||||
}}}
|
||||
|
||||
|
@@ -8,7 +8,7 @@
|
||||
==============================================================================*/
|
||||
namespace boost { namespace fusion
|
||||
{
|
||||
struct nil;
|
||||
struct nil_;
|
||||
struct void_;
|
||||
template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9>
|
||||
struct list
|
||||
|
@@ -8,7 +8,7 @@
|
||||
==============================================================================*/
|
||||
namespace boost { namespace fusion
|
||||
{
|
||||
struct nil;
|
||||
struct nil_;
|
||||
struct void_;
|
||||
template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19>
|
||||
struct list
|
||||
|
@@ -8,7 +8,7 @@
|
||||
==============================================================================*/
|
||||
namespace boost { namespace fusion
|
||||
{
|
||||
struct nil;
|
||||
struct nil_;
|
||||
struct void_;
|
||||
template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29>
|
||||
struct list
|
||||
|
@@ -8,7 +8,7 @@
|
||||
==============================================================================*/
|
||||
namespace boost { namespace fusion
|
||||
{
|
||||
struct nil;
|
||||
struct nil_;
|
||||
struct void_;
|
||||
template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39>
|
||||
struct list
|
||||
|
@@ -8,7 +8,7 @@
|
||||
==============================================================================*/
|
||||
namespace boost { namespace fusion
|
||||
{
|
||||
struct nil;
|
||||
struct nil_;
|
||||
struct void_;
|
||||
template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 , typename T40 , typename T41 , typename T42 , typename T43 , typename T44 , typename T45 , typename T46 , typename T47 , typename T48 , typename T49>
|
||||
struct list
|
||||
|
@@ -81,6 +81,6 @@ namespace boost { namespace fusion { namespace detail
|
||||
template <>
|
||||
struct list_to_cons<void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
|
||||
{
|
||||
typedef nil type;
|
||||
typedef nil_ type;
|
||||
};
|
||||
}}}
|
||||
|
@@ -141,6 +141,6 @@ namespace boost { namespace fusion { namespace detail
|
||||
template <>
|
||||
struct list_to_cons<void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
|
||||
{
|
||||
typedef nil type;
|
||||
typedef nil_ type;
|
||||
};
|
||||
}}}
|
||||
|
@@ -201,6 +201,6 @@ namespace boost { namespace fusion { namespace detail
|
||||
template <>
|
||||
struct list_to_cons<void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
|
||||
{
|
||||
typedef nil type;
|
||||
typedef nil_ type;
|
||||
};
|
||||
}}}
|
||||
|
@@ -261,6 +261,6 @@ namespace boost { namespace fusion { namespace detail
|
||||
template <>
|
||||
struct list_to_cons<void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
|
||||
{
|
||||
typedef nil type;
|
||||
typedef nil_ type;
|
||||
};
|
||||
}}}
|
||||
|
@@ -321,6 +321,6 @@ namespace boost { namespace fusion { namespace detail
|
||||
template <>
|
||||
struct list_to_cons<void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
|
||||
{
|
||||
typedef nil type;
|
||||
typedef nil_ type;
|
||||
};
|
||||
}}}
|
||||
|
@@ -12,7 +12,7 @@
|
||||
namespace boost { namespace fusion { namespace detail
|
||||
{
|
||||
////////////////////////////////////////////////////////////////////////////
|
||||
template<typename Cons, typename State = nil>
|
||||
template<typename Cons, typename State = nil_>
|
||||
struct reverse_cons;
|
||||
|
||||
template<typename Car, typename Cdr, typename State>
|
||||
@@ -29,11 +29,11 @@ namespace boost { namespace fusion { namespace detail
|
||||
};
|
||||
|
||||
template<typename State>
|
||||
struct reverse_cons<nil, State>
|
||||
struct reverse_cons<nil_, State>
|
||||
{
|
||||
typedef State type;
|
||||
|
||||
static State const &call(nil const &, State const &state = State())
|
||||
static State const &call(nil_ const &, State const &state = State())
|
||||
{
|
||||
return state;
|
||||
}
|
||||
|
Reference in New Issue
Block a user