mirror of
https://github.com/boostorg/fusion.git
synced 2025-07-29 20:17:32 +02:00
- patch from nathan ridge
- fixed deque regression [SVN r80458]
This commit is contained in:
@ -203,7 +203,7 @@
|
||||
BOOST_FUSION_DEFINE_STRUCT_INLINE_ITERATOR_IMPL_IMPL( \
|
||||
NAME, \
|
||||
ATTRIBUTES_SEQ, \
|
||||
BOOST_PP_SEQ_SIZE(ATTRIBUTES_SEQ))
|
||||
BOOST_PP_DEC(BOOST_PP_SEQ_SIZE((0)ATTRIBUTES_SEQ)))
|
||||
|
||||
#define BOOST_FUSION_DEFINE_STRUCT_INLINE_ITERATOR_IMPL_IMPL( \
|
||||
NAME, ATTRIBUTES_SEQ, ATTRIBUTES_SEQ_SIZE) \
|
||||
@ -304,17 +304,22 @@
|
||||
#define BOOST_FUSION_DEFINE_STRUCT_INLINE_MEMBERS_IMPL_IMPL( \
|
||||
NAME, ATTRIBUTES_SEQ, ATTRIBUTES_SEQ_SIZE) \
|
||||
\
|
||||
/* Note: second BOOST_PP_IF is necessary to avoid MSVC warning when */ \
|
||||
/* calling BOOST_FUSION_IGNORE_1 with no arguments. */ \
|
||||
NAME() \
|
||||
BOOST_PP_IF( \
|
||||
BOOST_PP_SEQ_SIZE(ATTRIBUTES_SEQ), \
|
||||
ATTRIBUTES_SEQ_SIZE, \
|
||||
BOOST_FUSION_MAKE_DEFAULT_INIT_LIST, \
|
||||
BOOST_FUSION_IGNORE_1) \
|
||||
(ATTRIBUTES_SEQ) \
|
||||
(BOOST_PP_IF( \
|
||||
ATTRIBUTES_SEQ_SIZE, \
|
||||
ATTRIBUTES_SEQ, \
|
||||
0)) \
|
||||
{ \
|
||||
} \
|
||||
\
|
||||
BOOST_PP_IF( \
|
||||
BOOST_PP_SEQ_SIZE(ATTRIBUTES_SEQ), \
|
||||
ATTRIBUTES_SEQ_SIZE, \
|
||||
BOOST_FUSION_MAKE_COPY_CONSTRUCTOR, \
|
||||
BOOST_FUSION_IGNORE_2) \
|
||||
(NAME, ATTRIBUTES_SEQ) \
|
||||
|
@ -93,7 +93,9 @@ namespace boost { namespace fusion { namespace detail
|
||||
return value_;
|
||||
}
|
||||
|
||||
keyed_element(Value const& value, Rest const& rest)
|
||||
keyed_element(
|
||||
typename detail::call_param<Value>::type value
|
||||
, Rest const& rest)
|
||||
: Rest(rest), value_(value)
|
||||
{}
|
||||
|
||||
|
@ -38,12 +38,13 @@ namespace boost { namespace fusion { namespace detail
|
||||
);
|
||||
}
|
||||
|
||||
static type forward_(Head&& head, Tail&&... tail)
|
||||
template <typename Head_, typename ...Tail_>
|
||||
static type forward_(Head_&& head, Tail_&&... tail)
|
||||
{
|
||||
return type(
|
||||
std::forward<Head>(head)
|
||||
, deque_keyed_values_impl<next_index, Tail...>::
|
||||
forward_(std::forward<Tail>(tail)...)
|
||||
std::forward<Head_>(head)
|
||||
, deque_keyed_values_impl<next_index, Tail_...>::
|
||||
forward_(std::forward<Tail_>(tail)...)
|
||||
);
|
||||
}
|
||||
};
|
||||
|
Reference in New Issue
Block a user