forked from boostorg/fusion
adapted proxy types are views now
[SVN r61833]
This commit is contained in:
@ -62,6 +62,7 @@
|
|||||||
(1)TEMPLATE_PARAMS_SEQ, \
|
(1)TEMPLATE_PARAMS_SEQ, \
|
||||||
(1)NAME_SEQ, \
|
(1)NAME_SEQ, \
|
||||||
assoc_struct_tag, \
|
assoc_struct_tag, \
|
||||||
|
0, \
|
||||||
BOOST_PP_CAT(BOOST_FUSION_ADAPT_ASSOC_CLASS_FILLER_0 ATTRIBUTES,_END), \
|
BOOST_PP_CAT(BOOST_FUSION_ADAPT_ASSOC_CLASS_FILLER_0 ATTRIBUTES,_END), \
|
||||||
BOOST_FUSION_ADAPT_ASSOC_CLASS_C)
|
BOOST_FUSION_ADAPT_ASSOC_CLASS_C)
|
||||||
|
|
||||||
@ -70,6 +71,16 @@
|
|||||||
(0), \
|
(0), \
|
||||||
(0)(NAME), \
|
(0)(NAME), \
|
||||||
assoc_struct_tag, \
|
assoc_struct_tag, \
|
||||||
|
0, \
|
||||||
|
BOOST_PP_CAT(BOOST_FUSION_ADAPT_ASSOC_CLASS_FILLER_0 ATTRIBUTES,_END), \
|
||||||
|
BOOST_FUSION_ADAPT_ASSOC_CLASS_C)
|
||||||
|
|
||||||
|
#define BOOST_FUSION_ADAPT_ASSOC_CLASS_AS_VIEW(NAME, ATTRIBUTES) \
|
||||||
|
BOOST_FUSION_ADAPT_STRUCT_BASE( \
|
||||||
|
(0), \
|
||||||
|
(0)(NAME), \
|
||||||
|
assoc_struct_tag, \
|
||||||
|
1, \
|
||||||
BOOST_PP_CAT(BOOST_FUSION_ADAPT_ASSOC_CLASS_FILLER_0 ATTRIBUTES,_END), \
|
BOOST_PP_CAT(BOOST_FUSION_ADAPT_ASSOC_CLASS_FILLER_0 ATTRIBUTES,_END), \
|
||||||
BOOST_FUSION_ADAPT_ASSOC_CLASS_C)
|
BOOST_FUSION_ADAPT_ASSOC_CLASS_C)
|
||||||
|
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
BOOST_FUSION_ADAPT_STRUCT_DEFINE_PROXY_TYPE_IMPL( \
|
BOOST_FUSION_ADAPT_STRUCT_DEFINE_PROXY_TYPE_IMPL( \
|
||||||
WRAPPED_TYPE,(0)NAMESPACE_SEQ,NAME) \
|
WRAPPED_TYPE,(0)NAMESPACE_SEQ,NAME) \
|
||||||
\
|
\
|
||||||
BOOST_FUSION_ADAPT_ASSOC_CLASS( \
|
BOOST_FUSION_ADAPT_ASSOC_CLASS_AS_VIEW( \
|
||||||
BOOST_FUSION_ADAPT_STRUCT_NAMESPACE_DECLARATION((0)NAMESPACE_SEQ)NAME, \
|
BOOST_FUSION_ADAPT_STRUCT_NAMESPACE_DECLARATION((0)NAMESPACE_SEQ)NAME, \
|
||||||
ATTRIBUTES)
|
ATTRIBUTES)
|
||||||
|
|
||||||
|
@ -48,6 +48,7 @@
|
|||||||
(1)TEMPLATE_PARAMS_SEQ, \
|
(1)TEMPLATE_PARAMS_SEQ, \
|
||||||
(1)NAME_SEQ, \
|
(1)NAME_SEQ, \
|
||||||
struct_tag, \
|
struct_tag, \
|
||||||
|
0, \
|
||||||
BOOST_PP_CAT(BOOST_FUSION_ADAPT_CLASS_FILLER_0 ATTRIBUTES,_END), \
|
BOOST_PP_CAT(BOOST_FUSION_ADAPT_CLASS_FILLER_0 ATTRIBUTES,_END), \
|
||||||
BOOST_FUSION_ADAPT_CLASS_C)
|
BOOST_FUSION_ADAPT_CLASS_C)
|
||||||
|
|
||||||
@ -56,6 +57,16 @@
|
|||||||
(0), \
|
(0), \
|
||||||
(0)(NAME), \
|
(0)(NAME), \
|
||||||
struct_tag, \
|
struct_tag, \
|
||||||
|
0, \
|
||||||
|
BOOST_PP_CAT(BOOST_FUSION_ADAPT_CLASS_FILLER_0 ATTRIBUTES,_END), \
|
||||||
|
BOOST_FUSION_ADAPT_CLASS_C)
|
||||||
|
|
||||||
|
#define BOOST_FUSION_ADAPT_CLASS_AS_VIEW(NAME, ATTRIBUTES) \
|
||||||
|
BOOST_FUSION_ADAPT_STRUCT_BASE( \
|
||||||
|
(0), \
|
||||||
|
(0)(NAME), \
|
||||||
|
struct_tag, \
|
||||||
|
1, \
|
||||||
BOOST_PP_CAT(BOOST_FUSION_ADAPT_CLASS_FILLER_0 ATTRIBUTES,_END), \
|
BOOST_PP_CAT(BOOST_FUSION_ADAPT_CLASS_FILLER_0 ATTRIBUTES,_END), \
|
||||||
BOOST_FUSION_ADAPT_CLASS_C)
|
BOOST_FUSION_ADAPT_CLASS_C)
|
||||||
|
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
BOOST_FUSION_ADAPT_STRUCT_DEFINE_PROXY_TYPE_IMPL( \
|
BOOST_FUSION_ADAPT_STRUCT_DEFINE_PROXY_TYPE_IMPL( \
|
||||||
WRAPPED_TYPE,(0)NAMESPACE_SEQ,NAME) \
|
WRAPPED_TYPE,(0)NAMESPACE_SEQ,NAME) \
|
||||||
\
|
\
|
||||||
BOOST_FUSION_ADAPT_CLASS( \
|
BOOST_FUSION_ADAPT_CLASS_AS_VIEW( \
|
||||||
BOOST_FUSION_ADAPT_STRUCT_NAMESPACE_DECLARATION((0)NAMESPACE_SEQ)NAME, \
|
BOOST_FUSION_ADAPT_STRUCT_NAMESPACE_DECLARATION((0)NAMESPACE_SEQ)NAME, \
|
||||||
ATTRIBUTES)
|
ATTRIBUTES)
|
||||||
|
|
||||||
|
@ -34,9 +34,9 @@
|
|||||||
#include <boost/fusion/adapted/struct/detail/key_of_impl.hpp>
|
#include <boost/fusion/adapted/struct/detail/key_of_impl.hpp>
|
||||||
#include <boost/fusion/adapted/struct/detail/value_of_data_impl.hpp>
|
#include <boost/fusion/adapted/struct/detail/value_of_data_impl.hpp>
|
||||||
|
|
||||||
#define BOOST_FUSION_ADAPT_ASSOC_STRUCT_FILLER_0(X, Y, Z)\
|
#define BOOST_FUSION_ADAPT_ASSOC_STRUCT_FILLER_0(X, Y, Z) \
|
||||||
((X, Y, Z)) BOOST_FUSION_ADAPT_ASSOC_STRUCT_FILLER_1
|
((X, Y, Z)) BOOST_FUSION_ADAPT_ASSOC_STRUCT_FILLER_1
|
||||||
#define BOOST_FUSION_ADAPT_ASSOC_STRUCT_FILLER_1(X, Y, Z)\
|
#define BOOST_FUSION_ADAPT_ASSOC_STRUCT_FILLER_1(X, Y, Z) \
|
||||||
((X, Y, Z)) BOOST_FUSION_ADAPT_ASSOC_STRUCT_FILLER_0
|
((X, Y, Z)) BOOST_FUSION_ADAPT_ASSOC_STRUCT_FILLER_0
|
||||||
#define BOOST_FUSION_ADAPT_ASSOC_STRUCT_FILLER_0_END
|
#define BOOST_FUSION_ADAPT_ASSOC_STRUCT_FILLER_0_END
|
||||||
#define BOOST_FUSION_ADAPT_ASSOC_STRUCT_FILLER_1_END
|
#define BOOST_FUSION_ADAPT_ASSOC_STRUCT_FILLER_1_END
|
||||||
@ -68,6 +68,7 @@
|
|||||||
(1)TEMPLATE_PARAMS_SEQ, \
|
(1)TEMPLATE_PARAMS_SEQ, \
|
||||||
(1)NAME_SEQ, \
|
(1)NAME_SEQ, \
|
||||||
assoc_struct_tag, \
|
assoc_struct_tag, \
|
||||||
|
0, \
|
||||||
BOOST_PP_CAT(BOOST_FUSION_ADAPT_ASSOC_STRUCT_FILLER_0 ATTRIBUTES,_END), \
|
BOOST_PP_CAT(BOOST_FUSION_ADAPT_ASSOC_STRUCT_FILLER_0 ATTRIBUTES,_END), \
|
||||||
BOOST_FUSION_ADAPT_ASSOC_STRUCT_C)
|
BOOST_FUSION_ADAPT_ASSOC_STRUCT_C)
|
||||||
|
|
||||||
@ -76,6 +77,16 @@
|
|||||||
(0), \
|
(0), \
|
||||||
(0)(NAME), \
|
(0)(NAME), \
|
||||||
assoc_struct_tag, \
|
assoc_struct_tag, \
|
||||||
|
0, \
|
||||||
|
BOOST_PP_CAT(BOOST_FUSION_ADAPT_ASSOC_STRUCT_FILLER_0 ATTRIBUTES,_END), \
|
||||||
|
BOOST_FUSION_ADAPT_ASSOC_STRUCT_C)
|
||||||
|
|
||||||
|
#define BOOST_FUSION_ADAPT_ASSOC_STRUCT_AS_VIEW(NAME, ATTRIBUTES) \
|
||||||
|
BOOST_FUSION_ADAPT_STRUCT_BASE( \
|
||||||
|
(0), \
|
||||||
|
(0)(NAME), \
|
||||||
|
assoc_struct_tag, \
|
||||||
|
1, \
|
||||||
BOOST_PP_CAT(BOOST_FUSION_ADAPT_ASSOC_STRUCT_FILLER_0 ATTRIBUTES,_END), \
|
BOOST_PP_CAT(BOOST_FUSION_ADAPT_ASSOC_STRUCT_FILLER_0 ATTRIBUTES,_END), \
|
||||||
BOOST_FUSION_ADAPT_ASSOC_STRUCT_C)
|
BOOST_FUSION_ADAPT_ASSOC_STRUCT_C)
|
||||||
|
|
||||||
|
@ -11,11 +11,12 @@
|
|||||||
#include <boost/fusion/adapted/struct/adapt_assoc_struct.hpp>
|
#include <boost/fusion/adapted/struct/adapt_assoc_struct.hpp>
|
||||||
#include <boost/fusion/adapted/struct/detail/proxy_type.hpp>
|
#include <boost/fusion/adapted/struct/detail/proxy_type.hpp>
|
||||||
|
|
||||||
#define BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED_C( \
|
#define BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED_FILLER_0(X, Y, Z) \
|
||||||
TEMPLATE_PARAMS_SEQ,NAME_SEQ, I, ATTRIBUTE) \
|
(X, obj.Y, Z) BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED_FILLER_1
|
||||||
\
|
#define BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED_FILLER_1(X, Y, Z) \
|
||||||
BOOST_FUSION_ADAPT_ASSOC_STRUCT_C_BASE( \
|
(X, obj.Y, Z) BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED_FILLER_0
|
||||||
TEMPLATE_PARAMS_SEQ,NAME_SEQ, I, obj., ATTRIBUTE)
|
#define BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED_FILLER_0_END
|
||||||
|
#define BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED_FILLER_1_END
|
||||||
|
|
||||||
#define BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED_NS( \
|
#define BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED_NS( \
|
||||||
WRAPPED_TYPE, NAMESPACE_SEQ, NAME, ATTRIBUTES) \
|
WRAPPED_TYPE, NAMESPACE_SEQ, NAME, ATTRIBUTES) \
|
||||||
@ -23,13 +24,10 @@
|
|||||||
BOOST_FUSION_ADAPT_STRUCT_DEFINE_PROXY_TYPE_IMPL( \
|
BOOST_FUSION_ADAPT_STRUCT_DEFINE_PROXY_TYPE_IMPL( \
|
||||||
WRAPPED_TYPE,(0)NAMESPACE_SEQ,NAME) \
|
WRAPPED_TYPE,(0)NAMESPACE_SEQ,NAME) \
|
||||||
\
|
\
|
||||||
BOOST_FUSION_ADAPT_STRUCT_BASE( \
|
BOOST_FUSION_ADAPT_ASSOC_STRUCT_AS_VIEW( \
|
||||||
(0), \
|
BOOST_FUSION_ADAPT_STRUCT_NAMESPACE_DECLARATION((0)NAMESPACE_SEQ)NAME, \
|
||||||
(0)(BOOST_FUSION_ADAPT_STRUCT_NAMESPACE_DECLARATION( \
|
BOOST_PP_CAT( \
|
||||||
(0)NAMESPACE_SEQ)NAME), \
|
BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED_FILLER_0 ATTRIBUTES,_END))
|
||||||
assoc_struct_tag, \
|
|
||||||
BOOST_PP_CAT(BOOST_FUSION_ADAPT_ASSOC_STRUCT_FILLER_0 ATTRIBUTES,_END), \
|
|
||||||
BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED_C)
|
|
||||||
|
|
||||||
#define BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED(WRAPPED_TYPE, NAME, ATTRIBUTES) \
|
#define BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED(WRAPPED_TYPE, NAME, ATTRIBUTES) \
|
||||||
BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED_NS( \
|
BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED_NS( \
|
||||||
|
@ -45,6 +45,7 @@
|
|||||||
(1)TEMPLATE_PARAMS_SEQ, \
|
(1)TEMPLATE_PARAMS_SEQ, \
|
||||||
(1)NAME_SEQ, \
|
(1)NAME_SEQ, \
|
||||||
struct_tag, \
|
struct_tag, \
|
||||||
|
0, \
|
||||||
BOOST_PP_CAT(BOOST_FUSION_ADAPT_STRUCT_FILLER_0 ATTRIBUTES,_END), \
|
BOOST_PP_CAT(BOOST_FUSION_ADAPT_STRUCT_FILLER_0 ATTRIBUTES,_END), \
|
||||||
BOOST_FUSION_ADAPT_STRUCT_C)
|
BOOST_FUSION_ADAPT_STRUCT_C)
|
||||||
|
|
||||||
@ -53,6 +54,16 @@
|
|||||||
(0), \
|
(0), \
|
||||||
(0)(NAME), \
|
(0)(NAME), \
|
||||||
struct_tag, \
|
struct_tag, \
|
||||||
|
0, \
|
||||||
|
BOOST_PP_CAT(BOOST_FUSION_ADAPT_STRUCT_FILLER_0 ATTRIBUTES,_END), \
|
||||||
|
BOOST_FUSION_ADAPT_STRUCT_C)
|
||||||
|
|
||||||
|
#define BOOST_FUSION_ADAPT_STRUCT_AS_VIEW(NAME, ATTRIBUTES) \
|
||||||
|
BOOST_FUSION_ADAPT_STRUCT_BASE( \
|
||||||
|
(0), \
|
||||||
|
(0)(NAME), \
|
||||||
|
struct_tag, \
|
||||||
|
1, \
|
||||||
BOOST_PP_CAT(BOOST_FUSION_ADAPT_STRUCT_FILLER_0 ATTRIBUTES,_END), \
|
BOOST_PP_CAT(BOOST_FUSION_ADAPT_STRUCT_FILLER_0 ATTRIBUTES,_END), \
|
||||||
BOOST_FUSION_ADAPT_STRUCT_C)
|
BOOST_FUSION_ADAPT_STRUCT_C)
|
||||||
|
|
||||||
|
@ -14,11 +14,12 @@
|
|||||||
#include <boost/fusion/adapted/struct/detail/proxy_type.hpp>
|
#include <boost/fusion/adapted/struct/detail/proxy_type.hpp>
|
||||||
#include <boost/preprocessor/empty.hpp>
|
#include <boost/preprocessor/empty.hpp>
|
||||||
|
|
||||||
#define BOOST_FUSION_ADAPT_STRUCT_NAMED_C( \
|
#define BOOST_FUSION_ADAPT_STRUCT_NAMED_FILLER_0(X, Y) \
|
||||||
TEMPLATE_PARAMS_SEQ, NAME_SEQ, I, ATTRIBUTE) \
|
(X, obj.Y) BOOST_FUSION_ADAPT_STRUCT_NAMED_FILLER_1
|
||||||
\
|
#define BOOST_FUSION_ADAPT_STRUCT_NAMED_FILLER_1(X, Y) \
|
||||||
BOOST_FUSION_ADAPT_STRUCT_C_BASE( \
|
(X, obj.Y) BOOST_FUSION_ADAPT_STRUCT_NAMED_FILLER_0
|
||||||
TEMPLATE_PARAMS_SEQ,NAME_SEQ, I, obj., ATTRIBUTE, 2)
|
#define BOOST_FUSION_ADAPT_STRUCT_NAMED_FILLER_0_END
|
||||||
|
#define BOOST_FUSION_ADAPT_STRUCT_NAMED_FILLER_1_END
|
||||||
|
|
||||||
#define BOOST_FUSION_ADAPT_STRUCT_NAMED_NS( \
|
#define BOOST_FUSION_ADAPT_STRUCT_NAMED_NS( \
|
||||||
WRAPPED_TYPE, NAMESPACE_SEQ, NAME, ATTRIBUTES) \
|
WRAPPED_TYPE, NAMESPACE_SEQ, NAME, ATTRIBUTES) \
|
||||||
@ -26,13 +27,9 @@
|
|||||||
BOOST_FUSION_ADAPT_STRUCT_DEFINE_PROXY_TYPE_IMPL( \
|
BOOST_FUSION_ADAPT_STRUCT_DEFINE_PROXY_TYPE_IMPL( \
|
||||||
WRAPPED_TYPE,(0)NAMESPACE_SEQ,NAME) \
|
WRAPPED_TYPE,(0)NAMESPACE_SEQ,NAME) \
|
||||||
\
|
\
|
||||||
BOOST_FUSION_ADAPT_STRUCT_BASE( \
|
BOOST_FUSION_ADAPT_STRUCT_AS_VIEW( \
|
||||||
(0), \
|
BOOST_FUSION_ADAPT_STRUCT_NAMESPACE_DECLARATION((0)NAMESPACE_SEQ)NAME, \
|
||||||
(0)(BOOST_FUSION_ADAPT_STRUCT_NAMESPACE_DECLARATION( \
|
BOOST_PP_CAT(BOOST_FUSION_ADAPT_STRUCT_NAMED_FILLER_0 ATTRIBUTES,_END))
|
||||||
(0)NAMESPACE_SEQ)NAME), \
|
|
||||||
struct_tag, \
|
|
||||||
BOOST_PP_CAT(BOOST_FUSION_ADAPT_STRUCT_FILLER_0 ATTRIBUTES,_END), \
|
|
||||||
BOOST_FUSION_ADAPT_STRUCT_NAMED_C)
|
|
||||||
|
|
||||||
#define BOOST_FUSION_ADAPT_STRUCT_NAMED(WRAPPED_TYPE, NAME, ATTRIBUTES) \
|
#define BOOST_FUSION_ADAPT_STRUCT_NAMED(WRAPPED_TYPE, NAME, ATTRIBUTES) \
|
||||||
BOOST_FUSION_ADAPT_STRUCT_NAMED_NS( \
|
BOOST_FUSION_ADAPT_STRUCT_NAMED_NS( \
|
||||||
|
@ -23,6 +23,7 @@
|
|||||||
#include <boost/preprocessor/seq/seq.hpp>
|
#include <boost/preprocessor/seq/seq.hpp>
|
||||||
#include <boost/preprocessor/tuple/eat.hpp>
|
#include <boost/preprocessor/tuple/eat.hpp>
|
||||||
#include <boost/preprocessor/tuple/elem.hpp>
|
#include <boost/preprocessor/tuple/elem.hpp>
|
||||||
|
#include <boost/mpl/bool.hpp>
|
||||||
#include <boost/mpl/tag.hpp>
|
#include <boost/mpl/tag.hpp>
|
||||||
#include <boost/mpl/eval_if.hpp>
|
#include <boost/mpl/eval_if.hpp>
|
||||||
#include <boost/mpl/identity.hpp>
|
#include <boost/mpl/identity.hpp>
|
||||||
@ -141,7 +142,12 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
#define BOOST_FUSION_ADAPT_STRUCT_BASE( \
|
#define BOOST_FUSION_ADAPT_STRUCT_BASE( \
|
||||||
TEMPLATE_PARAMS_SEQ,NAME_SEQ,TAG,ATTRIBUTES_SEQ,ATTRIBUTES_CALLBACK) \
|
TEMPLATE_PARAMS_SEQ, \
|
||||||
|
NAME_SEQ, \
|
||||||
|
TAG, \
|
||||||
|
IS_VIEW, \
|
||||||
|
ATTRIBUTES_SEQ, \
|
||||||
|
ATTRIBUTES_CALLBACK) \
|
||||||
\
|
\
|
||||||
namespace boost \
|
namespace boost \
|
||||||
{ \
|
{ \
|
||||||
@ -169,6 +175,16 @@ namespace boost
|
|||||||
> \
|
> \
|
||||||
struct struct_size<BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ)> \
|
struct struct_size<BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ)> \
|
||||||
: mpl::int_<BOOST_PP_SEQ_SIZE(ATTRIBUTES_SEQ)> \
|
: mpl::int_<BOOST_PP_SEQ_SIZE(ATTRIBUTES_SEQ)> \
|
||||||
|
{}; \
|
||||||
|
\
|
||||||
|
template< \
|
||||||
|
BOOST_FUSION_ADAPT_STRUCT_UNPACK_TEMPLATE_PARAMS( \
|
||||||
|
TEMPLATE_PARAMS_SEQ) \
|
||||||
|
> \
|
||||||
|
struct struct_is_view< \
|
||||||
|
BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ) \
|
||||||
|
> \
|
||||||
|
: mpl::BOOST_PP_IF(IS_VIEW,true_,false_) \
|
||||||
{}; \
|
{}; \
|
||||||
} \
|
} \
|
||||||
} \
|
} \
|
||||||
|
@ -33,11 +33,15 @@ namespace boost { namespace fusion
|
|||||||
template<typename Seq, int N>
|
template<typename Seq, int N>
|
||||||
struct struct_member_name;
|
struct struct_member_name;
|
||||||
|
|
||||||
|
template<typename Seq>
|
||||||
|
struct struct_size;
|
||||||
|
|
||||||
|
template<typename Seq>
|
||||||
|
struct struct_is_view;
|
||||||
|
|
||||||
template<typename Seq, int N>
|
template<typename Seq, int N>
|
||||||
struct struct_assoc_key;
|
struct struct_assoc_key;
|
||||||
|
|
||||||
template<typename Seq>
|
|
||||||
struct struct_size;
|
|
||||||
}
|
}
|
||||||
}}
|
}}
|
||||||
|
|
||||||
|
@ -10,8 +10,6 @@
|
|||||||
#ifndef BOOST_FUSION_ADAPTED_STRUCT_DETAIL_IS_VIEW_IMPL_HPP
|
#ifndef BOOST_FUSION_ADAPTED_STRUCT_DETAIL_IS_VIEW_IMPL_HPP
|
||||||
#define BOOST_FUSION_ADAPTED_STRUCT_DETAIL_IS_VIEW_IMPL_HPP
|
#define BOOST_FUSION_ADAPTED_STRUCT_DETAIL_IS_VIEW_IMPL_HPP
|
||||||
|
|
||||||
#include <boost/mpl/bool.hpp>
|
|
||||||
|
|
||||||
namespace boost { namespace fusion { namespace extension
|
namespace boost { namespace fusion { namespace extension
|
||||||
{
|
{
|
||||||
template<typename>
|
template<typename>
|
||||||
@ -22,7 +20,7 @@ namespace boost { namespace fusion { namespace extension
|
|||||||
{
|
{
|
||||||
template<typename Seq>
|
template<typename Seq>
|
||||||
struct apply
|
struct apply
|
||||||
: mpl::false_
|
: struct_is_view<typename remove_const<Seq>::type>
|
||||||
{};
|
{};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -63,7 +63,7 @@ main()
|
|||||||
std::cout << tuple_delimiter(", ");
|
std::cout << tuple_delimiter(", ");
|
||||||
|
|
||||||
{
|
{
|
||||||
BOOST_MPL_ASSERT_NOT((traits::is_view<adapted::point>));
|
BOOST_MPL_ASSERT((traits::is_view<adapted::point>));
|
||||||
ns::point basep(123, 456);
|
ns::point basep(123, 456);
|
||||||
adapted::point p(basep);
|
adapted::point p(basep);
|
||||||
|
|
||||||
|
@ -48,7 +48,7 @@ main()
|
|||||||
std::cout << tuple_delimiter(", ");
|
std::cout << tuple_delimiter(", ");
|
||||||
|
|
||||||
{
|
{
|
||||||
BOOST_MPL_ASSERT_NOT((traits::is_view<adapted::point>));
|
BOOST_MPL_ASSERT((traits::is_view<adapted::point>));
|
||||||
ns::point basep = {123, 456};
|
ns::point basep = {123, 456};
|
||||||
adapted::point p(basep);
|
adapted::point p(basep);
|
||||||
|
|
||||||
|
@ -71,7 +71,7 @@ main()
|
|||||||
std::cout << tuple_delimiter(", ");
|
std::cout << tuple_delimiter(", ");
|
||||||
|
|
||||||
{
|
{
|
||||||
BOOST_MPL_ASSERT_NOT((traits::is_view<adapted::point>));
|
BOOST_MPL_ASSERT((traits::is_view<adapted::point>));
|
||||||
ns::point basep(123, 456);
|
ns::point basep(123, 456);
|
||||||
adapted::point p(basep);
|
adapted::point p(basep);
|
||||||
|
|
||||||
|
@ -63,7 +63,7 @@ main()
|
|||||||
std::cout << tuple_delimiter(", ");
|
std::cout << tuple_delimiter(", ");
|
||||||
|
|
||||||
{
|
{
|
||||||
BOOST_MPL_ASSERT_NOT((traits::is_view<adapted::point>));
|
BOOST_MPL_ASSERT((traits::is_view<adapted::point>));
|
||||||
ns::point basep = {123, 456};
|
ns::point basep = {123, 456};
|
||||||
adapted::point p(basep);
|
adapted::point p(basep);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user