forked from boostorg/fusion
bug fix for end_impl.
[SVN r42164]
This commit is contained in:
@ -53,7 +53,7 @@ namespace boost { namespace fusion { namespace extension {
|
|||||||
// SEQ_FOR_EACH_I to generate the "linear" substructures.
|
// SEQ_FOR_EACH_I to generate the "linear" substructures.
|
||||||
// Thanks to Paul Mensonides for the PP macro help
|
// Thanks to Paul Mensonides for the PP macro help
|
||||||
|
|
||||||
#define BOOST_FUSION_ADAPT_ASSOC_STRUCT_I(name, seq) \
|
#define BOOST_FUSION_ADAPT_ASSOC_STRUCT_I(name, seq) \
|
||||||
namespace boost { namespace fusion { namespace traits \
|
namespace boost { namespace fusion { namespace traits \
|
||||||
{ \
|
{ \
|
||||||
template <> \
|
template <> \
|
||||||
@ -66,11 +66,11 @@ namespace boost { namespace fusion { namespace extension {
|
|||||||
{ \
|
{ \
|
||||||
template <> \
|
template <> \
|
||||||
struct struct_size<name> : mpl::int_<BOOST_PP_SEQ_SIZE(seq)> {}; \
|
struct struct_size<name> : mpl::int_<BOOST_PP_SEQ_SIZE(seq)> {}; \
|
||||||
BOOST_PP_SEQ_FOR_EACH_I(BOOST_FUSION_ADAPT_ASSOC_STRUCT_C, name, seq) \
|
BOOST_PP_SEQ_FOR_EACH_I(BOOST_FUSION_ADAPT_ASSOC_STRUCT_C, name, seq) \
|
||||||
}}} \
|
}}} \
|
||||||
/***/
|
/***/
|
||||||
|
|
||||||
#define BOOST_FUSION_ADAPT_ASSOC_STRUCT_C(r, name, i, xy) \
|
#define BOOST_FUSION_ADAPT_ASSOC_STRUCT_C(r, name, i, xy) \
|
||||||
template <> \
|
template <> \
|
||||||
struct struct_member<name, i> \
|
struct struct_member<name, i> \
|
||||||
{ \
|
{ \
|
||||||
|
@ -9,6 +9,7 @@
|
|||||||
#define BOOST_FUSION_END_IMPL_24122005_1755
|
#define BOOST_FUSION_END_IMPL_24122005_1755
|
||||||
|
|
||||||
#include <boost/fusion/adapted/struct/struct_iterator.hpp>
|
#include <boost/fusion/adapted/struct/struct_iterator.hpp>
|
||||||
|
#include <boost/fusion/adapted/struct/detail/size_impl.hpp>
|
||||||
|
|
||||||
namespace boost { namespace fusion
|
namespace boost { namespace fusion
|
||||||
{
|
{
|
||||||
@ -25,7 +26,12 @@ namespace boost { namespace fusion
|
|||||||
template <typename Sequence>
|
template <typename Sequence>
|
||||||
struct apply
|
struct apply
|
||||||
{
|
{
|
||||||
typedef struct_iterator<Sequence, 2> type;
|
typedef
|
||||||
|
struct_iterator<
|
||||||
|
Sequence
|
||||||
|
, size_impl<struct_tag>::template apply<Sequence>::value
|
||||||
|
>
|
||||||
|
type;
|
||||||
|
|
||||||
static type
|
static type
|
||||||
call(Sequence& v)
|
call(Sequence& v)
|
||||||
|
Reference in New Issue
Block a user