[Boostheaders-commits] r36 - in pkg/BH/inst/include/boost/fusion: adapted/mpl/detail adapted/struct/detail container/list/detail container/vector/detail sequence/comparison/detail sequence/intrinsic/detail sequence/io/detail tuple/detail/preprocessed view/iterator_range/detail view/joint_view/detail view/single_view/detail
noreply at r-forge.r-project.org
noreply at r-forge.r-project.org
Sat May 4 03:03:04 CEST 2013
Author: edd
Date: 2013-05-04 03:03:03 +0200 (Sat, 04 May 2013)
New Revision: 36
Added:
pkg/BH/inst/include/boost/fusion/adapted/mpl/detail/begin_impl.hpp
pkg/BH/inst/include/boost/fusion/adapted/mpl/detail/end_impl.hpp
pkg/BH/inst/include/boost/fusion/adapted/struct/detail/adapt_base.hpp
pkg/BH/inst/include/boost/fusion/adapted/struct/detail/at_impl.hpp
pkg/BH/inst/include/boost/fusion/adapted/struct/detail/begin_impl.hpp
pkg/BH/inst/include/boost/fusion/adapted/struct/detail/category_of_impl.hpp
pkg/BH/inst/include/boost/fusion/adapted/struct/detail/deref_impl.hpp
pkg/BH/inst/include/boost/fusion/adapted/struct/detail/end_impl.hpp
pkg/BH/inst/include/boost/fusion/adapted/struct/detail/extension.hpp
pkg/BH/inst/include/boost/fusion/adapted/struct/detail/is_sequence_impl.hpp
pkg/BH/inst/include/boost/fusion/adapted/struct/detail/is_view_impl.hpp
pkg/BH/inst/include/boost/fusion/adapted/struct/detail/size_impl.hpp
pkg/BH/inst/include/boost/fusion/adapted/struct/detail/value_at_impl.hpp
pkg/BH/inst/include/boost/fusion/adapted/struct/detail/value_of_impl.hpp
pkg/BH/inst/include/boost/fusion/container/list/detail/at_impl.hpp
pkg/BH/inst/include/boost/fusion/container/list/detail/begin_impl.hpp
pkg/BH/inst/include/boost/fusion/container/list/detail/deref_impl.hpp
pkg/BH/inst/include/boost/fusion/container/list/detail/empty_impl.hpp
pkg/BH/inst/include/boost/fusion/container/list/detail/end_impl.hpp
pkg/BH/inst/include/boost/fusion/container/list/detail/equal_to_impl.hpp
pkg/BH/inst/include/boost/fusion/container/list/detail/next_impl.hpp
pkg/BH/inst/include/boost/fusion/container/list/detail/preprocessed/
pkg/BH/inst/include/boost/fusion/container/list/detail/reverse_cons.hpp
pkg/BH/inst/include/boost/fusion/container/list/detail/value_at_impl.hpp
pkg/BH/inst/include/boost/fusion/container/list/detail/value_of_impl.hpp
pkg/BH/inst/include/boost/fusion/container/vector/detail/advance_impl.hpp
pkg/BH/inst/include/boost/fusion/container/vector/detail/at_impl.hpp
pkg/BH/inst/include/boost/fusion/container/vector/detail/begin_impl.hpp
pkg/BH/inst/include/boost/fusion/container/vector/detail/deref_impl.hpp
pkg/BH/inst/include/boost/fusion/container/vector/detail/distance_impl.hpp
pkg/BH/inst/include/boost/fusion/container/vector/detail/end_impl.hpp
pkg/BH/inst/include/boost/fusion/container/vector/detail/equal_to_impl.hpp
pkg/BH/inst/include/boost/fusion/container/vector/detail/next_impl.hpp
pkg/BH/inst/include/boost/fusion/container/vector/detail/preprocessed/
pkg/BH/inst/include/boost/fusion/container/vector/detail/prior_impl.hpp
pkg/BH/inst/include/boost/fusion/container/vector/detail/value_at_impl.hpp
pkg/BH/inst/include/boost/fusion/container/vector/detail/value_of_impl.hpp
pkg/BH/inst/include/boost/fusion/container/vector/detail/vector_forward_ctor.hpp
pkg/BH/inst/include/boost/fusion/container/vector/detail/vector_n.hpp
pkg/BH/inst/include/boost/fusion/container/vector/detail/vector_n_chooser.hpp
pkg/BH/inst/include/boost/fusion/sequence/comparison/detail/equal_to.hpp
pkg/BH/inst/include/boost/fusion/sequence/comparison/detail/greater.hpp
pkg/BH/inst/include/boost/fusion/sequence/comparison/detail/greater_equal.hpp
pkg/BH/inst/include/boost/fusion/sequence/comparison/detail/less.hpp
pkg/BH/inst/include/boost/fusion/sequence/comparison/detail/less_equal.hpp
pkg/BH/inst/include/boost/fusion/sequence/comparison/detail/not_equal_to.hpp
pkg/BH/inst/include/boost/fusion/sequence/intrinsic/detail/segmented_begin.hpp
pkg/BH/inst/include/boost/fusion/sequence/intrinsic/detail/segmented_begin_impl.hpp
pkg/BH/inst/include/boost/fusion/sequence/intrinsic/detail/segmented_end.hpp
pkg/BH/inst/include/boost/fusion/sequence/intrinsic/detail/segmented_end_impl.hpp
pkg/BH/inst/include/boost/fusion/sequence/intrinsic/detail/segmented_size.hpp
pkg/BH/inst/include/boost/fusion/sequence/io/detail/in.hpp
pkg/BH/inst/include/boost/fusion/sequence/io/detail/manip.hpp
pkg/BH/inst/include/boost/fusion/sequence/io/detail/out.hpp
pkg/BH/inst/include/boost/fusion/tuple/detail/preprocessed/make_tuple.hpp
pkg/BH/inst/include/boost/fusion/tuple/detail/preprocessed/make_tuple10.hpp
pkg/BH/inst/include/boost/fusion/tuple/detail/preprocessed/make_tuple20.hpp
pkg/BH/inst/include/boost/fusion/tuple/detail/preprocessed/make_tuple30.hpp
pkg/BH/inst/include/boost/fusion/tuple/detail/preprocessed/make_tuple40.hpp
pkg/BH/inst/include/boost/fusion/tuple/detail/preprocessed/make_tuple50.hpp
pkg/BH/inst/include/boost/fusion/tuple/detail/preprocessed/tuple.hpp
pkg/BH/inst/include/boost/fusion/tuple/detail/preprocessed/tuple10.hpp
pkg/BH/inst/include/boost/fusion/tuple/detail/preprocessed/tuple10_fwd.hpp
pkg/BH/inst/include/boost/fusion/tuple/detail/preprocessed/tuple20.hpp
pkg/BH/inst/include/boost/fusion/tuple/detail/preprocessed/tuple20_fwd.hpp
pkg/BH/inst/include/boost/fusion/tuple/detail/preprocessed/tuple30.hpp
pkg/BH/inst/include/boost/fusion/tuple/detail/preprocessed/tuple30_fwd.hpp
pkg/BH/inst/include/boost/fusion/tuple/detail/preprocessed/tuple40.hpp
pkg/BH/inst/include/boost/fusion/tuple/detail/preprocessed/tuple40_fwd.hpp
pkg/BH/inst/include/boost/fusion/tuple/detail/preprocessed/tuple50.hpp
pkg/BH/inst/include/boost/fusion/tuple/detail/preprocessed/tuple50_fwd.hpp
pkg/BH/inst/include/boost/fusion/tuple/detail/preprocessed/tuple_fwd.hpp
pkg/BH/inst/include/boost/fusion/tuple/detail/preprocessed/tuple_tie.hpp
pkg/BH/inst/include/boost/fusion/tuple/detail/preprocessed/tuple_tie10.hpp
pkg/BH/inst/include/boost/fusion/tuple/detail/preprocessed/tuple_tie20.hpp
pkg/BH/inst/include/boost/fusion/tuple/detail/preprocessed/tuple_tie30.hpp
pkg/BH/inst/include/boost/fusion/tuple/detail/preprocessed/tuple_tie40.hpp
pkg/BH/inst/include/boost/fusion/tuple/detail/preprocessed/tuple_tie50.hpp
pkg/BH/inst/include/boost/fusion/view/iterator_range/detail/at_impl.hpp
pkg/BH/inst/include/boost/fusion/view/iterator_range/detail/begin_impl.hpp
pkg/BH/inst/include/boost/fusion/view/iterator_range/detail/end_impl.hpp
pkg/BH/inst/include/boost/fusion/view/iterator_range/detail/is_segmented_impl.hpp
pkg/BH/inst/include/boost/fusion/view/iterator_range/detail/segmented_iterator_range.hpp
pkg/BH/inst/include/boost/fusion/view/iterator_range/detail/segments_impl.hpp
pkg/BH/inst/include/boost/fusion/view/iterator_range/detail/size_impl.hpp
pkg/BH/inst/include/boost/fusion/view/iterator_range/detail/value_at_impl.hpp
pkg/BH/inst/include/boost/fusion/view/joint_view/detail/begin_impl.hpp
pkg/BH/inst/include/boost/fusion/view/joint_view/detail/deref_data_impl.hpp
pkg/BH/inst/include/boost/fusion/view/joint_view/detail/deref_impl.hpp
pkg/BH/inst/include/boost/fusion/view/joint_view/detail/end_impl.hpp
pkg/BH/inst/include/boost/fusion/view/joint_view/detail/key_of_impl.hpp
pkg/BH/inst/include/boost/fusion/view/joint_view/detail/next_impl.hpp
pkg/BH/inst/include/boost/fusion/view/joint_view/detail/value_of_data_impl.hpp
pkg/BH/inst/include/boost/fusion/view/joint_view/detail/value_of_impl.hpp
pkg/BH/inst/include/boost/fusion/view/single_view/detail/advance_impl.hpp
pkg/BH/inst/include/boost/fusion/view/single_view/detail/at_impl.hpp
pkg/BH/inst/include/boost/fusion/view/single_view/detail/begin_impl.hpp
pkg/BH/inst/include/boost/fusion/view/single_view/detail/deref_impl.hpp
pkg/BH/inst/include/boost/fusion/view/single_view/detail/distance_impl.hpp
pkg/BH/inst/include/boost/fusion/view/single_view/detail/end_impl.hpp
pkg/BH/inst/include/boost/fusion/view/single_view/detail/equal_to_impl.hpp
pkg/BH/inst/include/boost/fusion/view/single_view/detail/next_impl.hpp
pkg/BH/inst/include/boost/fusion/view/single_view/detail/prior_impl.hpp
pkg/BH/inst/include/boost/fusion/view/single_view/detail/size_impl.hpp
pkg/BH/inst/include/boost/fusion/view/single_view/detail/value_at_impl.hpp
pkg/BH/inst/include/boost/fusion/view/single_view/detail/value_of_impl.hpp
Log:
steps towards BH 1.51.0-1 with foreach and math distributions
Added: pkg/BH/inst/include/boost/fusion/adapted/mpl/detail/begin_impl.hpp
===================================================================
--- pkg/BH/inst/include/boost/fusion/adapted/mpl/detail/begin_impl.hpp (rev 0)
+++ pkg/BH/inst/include/boost/fusion/adapted/mpl/detail/begin_impl.hpp 2013-05-04 01:03:03 UTC (rev 36)
@@ -0,0 +1,45 @@
+/*=============================================================================
+ Copyright (c) 2001-2011 Joel de Guzman
+ Copyright (c) 2005-2006 Dan Marsden
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
+#if !defined(BOOST_FUSION_BEGIN_IMPL_31122005_1209)
+#define BOOST_FUSION_BEGIN_IMPL_31122005_1209
+
+#include <boost/fusion/adapted/mpl/mpl_iterator.hpp>
+#include <boost/mpl/begin.hpp>
+#include <boost/type_traits/remove_const.hpp>
+
+namespace boost { namespace fusion {
+
+ struct mpl_sequence_tag;
+
+ namespace extension
+ {
+ template <typename Tag>
+ struct begin_impl;
+
+ template <>
+ struct begin_impl<mpl_sequence_tag>
+ {
+ template <typename Sequence>
+ struct apply
+ {
+ typedef typename mpl::begin<
+ typename remove_const<Sequence>::type
+ >::type iterator;
+ typedef mpl_iterator<iterator> type;
+
+ static type
+ call(Sequence)
+ {
+ return type();
+ }
+ };
+ };
+ }
+}}
+
+#endif
Added: pkg/BH/inst/include/boost/fusion/adapted/mpl/detail/end_impl.hpp
===================================================================
--- pkg/BH/inst/include/boost/fusion/adapted/mpl/detail/end_impl.hpp (rev 0)
+++ pkg/BH/inst/include/boost/fusion/adapted/mpl/detail/end_impl.hpp 2013-05-04 01:03:03 UTC (rev 36)
@@ -0,0 +1,45 @@
+/*=============================================================================
+ Copyright (c) 2001-2011 Joel de Guzman
+ Copyright (c) 2005-2006 Dan Marsden
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
+#if !defined(BOOST_FUSION_END_IMPL_31122005_1237)
+#define BOOST_FUSION_END_IMPL_31122005_1237
+
+#include <boost/fusion/adapted/mpl/mpl_iterator.hpp>
+#include <boost/mpl/end.hpp>
+#include <boost/type_traits/add_const.hpp>
+
+namespace boost { namespace fusion
+{
+ struct mpl_sequence_tag;
+
+ namespace extension
+ {
+ template <typename Tag>
+ struct end_impl;
+
+ template <>
+ struct end_impl<mpl_sequence_tag>
+ {
+ template <typename Sequence>
+ struct apply
+ {
+ typedef typename mpl::end<
+ typename remove_const<Sequence>::type
+ >::type iterator;
+ typedef mpl_iterator<iterator> type;
+
+ static type
+ call(Sequence)
+ {
+ return type();
+ }
+ };
+ };
+ }
+}}
+
+#endif
Added: pkg/BH/inst/include/boost/fusion/adapted/struct/detail/adapt_base.hpp
===================================================================
--- pkg/BH/inst/include/boost/fusion/adapted/struct/detail/adapt_base.hpp (rev 0)
+++ pkg/BH/inst/include/boost/fusion/adapted/struct/detail/adapt_base.hpp 2013-05-04 01:03:03 UTC (rev 36)
@@ -0,0 +1,245 @@
+/*=============================================================================
+ Copyright (c) 2001-2009 Joel de Guzman
+ Copyright (c) 2005-2006 Dan Marsden
+ Copyright (c) 2009-2011 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
+
+#ifndef BOOST_FUSION_ADAPTED_STRUCT_DETAIL_ADAPT_BASE_HPP
+#define BOOST_FUSION_ADAPTED_STRUCT_DETAIL_ADAPT_BASE_HPP
+
+#include <boost/config.hpp>
+#include <boost/fusion/support/tag_of_fwd.hpp>
+
+#include <boost/preprocessor/empty.hpp>
+#include <boost/preprocessor/stringize.hpp>
+#include <boost/preprocessor/control/if.hpp>
+#include <boost/preprocessor/seq/size.hpp>
+#include <boost/preprocessor/seq/for_each.hpp>
+#include <boost/preprocessor/seq/for_each_i.hpp>
+#include <boost/preprocessor/seq/enum.hpp>
+#include <boost/preprocessor/seq/seq.hpp>
+#include <boost/preprocessor/tuple/eat.hpp>
+#include <boost/preprocessor/tuple/elem.hpp>
+#include <boost/preprocessor/arithmetic/dec.hpp>
+#include <boost/mpl/bool.hpp>
+#include <boost/mpl/tag.hpp>
+#include <boost/mpl/eval_if.hpp>
+#include <boost/mpl/identity.hpp>
+#include <boost/type_traits/add_const.hpp>
+
+#define BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME_TEMPLATE_PARAMS(SEQ) \
+ BOOST_PP_SEQ_HEAD(SEQ)<BOOST_PP_SEQ_ENUM(BOOST_PP_SEQ_TAIL(SEQ))> \
+ BOOST_PP_EMPTY()
+
+#define BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(SEQ) \
+ BOOST_PP_IF( \
+ BOOST_PP_SEQ_HEAD(SEQ), \
+ BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME_TEMPLATE_PARAMS, \
+ BOOST_PP_SEQ_HEAD)(BOOST_PP_SEQ_TAIL(SEQ))
+
+#define BOOST_FUSION_ADAPT_STRUCT_UNPACK_TEMPLATE_PARAMS_IMPL_C(R, _, ELEM) \
+ (typename ELEM)
+#define BOOST_FUSION_ADAPT_STRUCT_UNPACK_TEMPLATE_PARAMS_IMPL(SEQ) \
+ BOOST_PP_SEQ_ENUM( \
+ BOOST_PP_SEQ_FOR_EACH( \
+ BOOST_FUSION_ADAPT_STRUCT_UNPACK_TEMPLATE_PARAMS_IMPL_C, \
+ _, \
+ BOOST_PP_SEQ_TAIL(SEQ)))
+#define BOOST_FUSION_ADAPT_STRUCT_UNPACK_TEMPLATE_PARAMS(SEQ) \
+ BOOST_PP_IF( \
+ BOOST_PP_SEQ_HEAD(SEQ), \
+ BOOST_FUSION_ADAPT_STRUCT_UNPACK_TEMPLATE_PARAMS_IMPL, \
+ BOOST_PP_TUPLE_EAT(1))(SEQ)
+
+#ifdef BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS
+# define BOOST_FUSION_ADAPT_STRUCT_TAG_OF_SPECIALIZATION( \
+ MODIFIER, TEMPLATE_PARAMS_SEQ, NAME_SEQ, TAG) \
+ \
+ template< \
+ BOOST_FUSION_ADAPT_STRUCT_UNPACK_TEMPLATE_PARAMS(TEMPLATE_PARAMS_SEQ) \
+ > \
+ struct tag_of< \
+ BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ) MODIFIER \
+ , void \
+ > \
+ { \
+ typedef TAG type; \
+ };
+#else
+# define BOOST_FUSION_ADAPT_STRUCT_TAG_OF_SPECIALIZATION( \
+ MODIFIER, TEMPLATE_PARAMS_SEQ, NAME_SEQ, TAG) \
+ \
+ template< \
+ BOOST_FUSION_ADAPT_STRUCT_UNPACK_TEMPLATE_PARAMS(TEMPLATE_PARAMS_SEQ) \
+ > \
+ struct tag_of<BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ) MODIFIER> \
+ { \
+ typedef TAG type; \
+ };
+#endif
+
+#define BOOST_FUSION_ADAPT_STRUCT_BASE_UNPACK_AND_CALL(R,DATA,I,ATTRIBUTE) \
+ BOOST_PP_TUPLE_ELEM(3,0,DATA)( \
+ BOOST_PP_TUPLE_ELEM(3,1,DATA), \
+ BOOST_PP_TUPLE_ELEM(3,2,DATA), \
+ I, \
+ ATTRIBUTE)
+
+#ifdef BOOST_MSVC
+# define BOOST_FUSION_ADAPT_STRUCT_MSVC_REDEFINE_TEMPLATE_PARAM(R,_,ELEM) \
+ typedef ELEM ELEM;
+# define BOOST_FUSION_ADAPT_STRUCT_MSVC_REDEFINE_TEMPLATE_PARAMS_IMPL(SEQ) \
+ BOOST_PP_SEQ_FOR_EACH( \
+ BOOST_FUSION_ADAPT_STRUCT_MSVC_REDEFINE_TEMPLATE_PARAM, \
+ _, \
+ BOOST_PP_SEQ_TAIL(SEQ))
+# define BOOST_FUSION_ADAPT_STRUCT_MSVC_REDEFINE_TEMPLATE_PARAMS(SEQ) \
+ BOOST_PP_IF( \
+ BOOST_PP_SEQ_HEAD(SEQ), \
+ BOOST_FUSION_ADAPT_STRUCT_MSVC_REDEFINE_TEMPLATE_PARAMS_IMPL, \
+ BOOST_PP_TUPLE_EAT(1))(SEQ)
+#else
+# define BOOST_FUSION_ADAPT_STRUCT_MSVC_REDEFINE_TEMPLATE_PARAMS(SEQ)
+#endif
+
+#define BOOST_FUSION_ADAPT_STRUCT_C_BASE( \
+ TEMPLATE_PARAMS_SEQ,NAME_SEQ,I,PREFIX,ATTRIBUTE,ATTRIBUTE_TUPEL_SIZE) \
+ \
+ template< \
+ BOOST_FUSION_ADAPT_STRUCT_UNPACK_TEMPLATE_PARAMS(TEMPLATE_PARAMS_SEQ) \
+ > \
+ struct access::struct_member< \
+ BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ) \
+ , I \
+ > \
+ { \
+ typedef \
+ BOOST_PP_TUPLE_ELEM(ATTRIBUTE_TUPEL_SIZE, 0, ATTRIBUTE) \
+ attribute_type; \
+ BOOST_FUSION_ADAPT_STRUCT_MSVC_REDEFINE_TEMPLATE_PARAMS( \
+ TEMPLATE_PARAMS_SEQ) \
+ \
+ typedef attribute_type type; \
+ \
+ template<typename Seq> \
+ struct apply \
+ { \
+ typedef typename \
+ add_reference< \
+ typename mpl::eval_if< \
+ is_const<Seq> \
+ , add_const<attribute_type> \
+ , mpl::identity<attribute_type> \
+ >::type \
+ >::type \
+ type; \
+ \
+ static type \
+ call(Seq& seq) \
+ { \
+ return seq.PREFIX() \
+ BOOST_PP_TUPLE_ELEM(ATTRIBUTE_TUPEL_SIZE, 1, ATTRIBUTE); \
+ } \
+ }; \
+ }; \
+ \
+ template< \
+ BOOST_FUSION_ADAPT_STRUCT_UNPACK_TEMPLATE_PARAMS(TEMPLATE_PARAMS_SEQ) \
+ > \
+ struct struct_member_name< \
+ BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ) \
+ , I \
+ > \
+ { \
+ typedef char const* type; \
+ \
+ static type \
+ call() \
+ { \
+ return BOOST_PP_STRINGIZE( \
+ BOOST_PP_TUPLE_ELEM(ATTRIBUTE_TUPEL_SIZE,1,ATTRIBUTE)); \
+ } \
+ };
+
+#define BOOST_FUSION_ADAPT_STRUCT_BASE( \
+ TEMPLATE_PARAMS_SEQ, \
+ NAME_SEQ, \
+ TAG, \
+ IS_VIEW, \
+ ATTRIBUTES_SEQ, \
+ ATTRIBUTES_CALLBACK) \
+ \
+namespace boost \
+{ \
+ namespace fusion \
+ { \
+ namespace traits \
+ { \
+ BOOST_FUSION_ADAPT_STRUCT_TAG_OF_SPECIALIZATION( \
+ BOOST_PP_EMPTY(), TEMPLATE_PARAMS_SEQ, NAME_SEQ, TAG) \
+ BOOST_FUSION_ADAPT_STRUCT_TAG_OF_SPECIALIZATION( \
+ const, TEMPLATE_PARAMS_SEQ, NAME_SEQ, TAG) \
+ } \
+ \
+ namespace extension \
+ { \
+ BOOST_PP_IF( \
+ BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(ATTRIBUTES_SEQ)), \
+ BOOST_PP_SEQ_FOR_EACH_I_R, \
+ BOOST_PP_TUPLE_EAT(4))( \
+ 1, \
+ BOOST_FUSION_ADAPT_STRUCT_BASE_UNPACK_AND_CALL, \
+ (ATTRIBUTES_CALLBACK,TEMPLATE_PARAMS_SEQ,NAME_SEQ), \
+ BOOST_PP_SEQ_TAIL(ATTRIBUTES_SEQ)) \
+ \
+ template< \
+ BOOST_FUSION_ADAPT_STRUCT_UNPACK_TEMPLATE_PARAMS( \
+ TEMPLATE_PARAMS_SEQ) \
+ > \
+ struct struct_size<BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ)> \
+ : mpl::int_<BOOST_PP_DEC(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_) \
+ {}; \
+ } \
+ } \
+ \
+ namespace mpl \
+ { \
+ template<typename> \
+ struct sequence_tag; \
+ \
+ template< \
+ BOOST_FUSION_ADAPT_STRUCT_UNPACK_TEMPLATE_PARAMS( \
+ TEMPLATE_PARAMS_SEQ) \
+ > \
+ struct sequence_tag<BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ)> \
+ { \
+ typedef fusion::fusion_sequence_tag type; \
+ }; \
+ \
+ template< \
+ BOOST_FUSION_ADAPT_STRUCT_UNPACK_TEMPLATE_PARAMS( \
+ TEMPLATE_PARAMS_SEQ) \
+ > \
+ struct sequence_tag< \
+ BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ) const \
+ > \
+ { \
+ typedef fusion::fusion_sequence_tag type; \
+ }; \
+ } \
+}
+
+#endif
Added: pkg/BH/inst/include/boost/fusion/adapted/struct/detail/at_impl.hpp
===================================================================
--- pkg/BH/inst/include/boost/fusion/adapted/struct/detail/at_impl.hpp (rev 0)
+++ pkg/BH/inst/include/boost/fusion/adapted/struct/detail/at_impl.hpp 2013-05-04 01:03:03 UTC (rev 36)
@@ -0,0 +1,38 @@
+/*=============================================================================
+ Copyright (c) 2001-2011 Joel de Guzman
+ Copyright (c) 2005-2006 Dan Marsden
+ Copyright (c) 2009-2010 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
+
+#ifndef BOOST_FUSION_ADAPTED_STRUCT_DETAIL_AT_IMPL_HPP
+#define BOOST_FUSION_ADAPTED_STRUCT_DETAIL_AT_IMPL_HPP
+
+#include <boost/mpl/int.hpp>
+
+namespace boost { namespace fusion { namespace extension
+{
+ template<typename>
+ struct at_impl;
+
+ template <>
+ struct at_impl<struct_tag>
+ {
+ template <typename Seq, typename N>
+ struct apply
+ : access::struct_member<
+ typename remove_const<Seq>::type
+ , N::value
+ >::template apply<Seq>
+ {};
+ };
+
+ template <>
+ struct at_impl<assoc_struct_tag>
+ : at_impl<struct_tag>
+ {};
+}}}
+
+#endif
Added: pkg/BH/inst/include/boost/fusion/adapted/struct/detail/begin_impl.hpp
===================================================================
--- pkg/BH/inst/include/boost/fusion/adapted/struct/detail/begin_impl.hpp (rev 0)
+++ pkg/BH/inst/include/boost/fusion/adapted/struct/detail/begin_impl.hpp 2013-05-04 01:03:03 UTC (rev 36)
@@ -0,0 +1,67 @@
+/*=============================================================================
+ Copyright (c) 2001-2011 Joel de Guzman
+ Copyright (c) 2005-2006 Dan Marsden
+ Copyright (c) 2009-2010 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
+
+#ifndef BOOST_FUSION_ADAPTED_STRUCT_DETAIL_BEGIN_IMPL_HPP
+#define BOOST_FUSION_ADAPTED_STRUCT_DETAIL_BEGIN_IMPL_HPP
+
+#include <boost/fusion/iterator/basic_iterator.hpp>
+
+namespace boost { namespace fusion { namespace extension
+{
+ template<typename>
+ struct begin_impl;
+
+ template <>
+ struct begin_impl<struct_tag>
+ {
+ template <typename Seq>
+ struct apply
+ {
+ typedef
+ basic_iterator<
+ struct_iterator_tag
+ , random_access_traversal_tag
+ , Seq
+ , 0
+ >
+ type;
+
+ static type
+ call(Seq& seq)
+ {
+ return type(seq,0);
+ }
+ };
+ };
+
+ template <>
+ struct begin_impl<assoc_struct_tag>
+ {
+ template <typename Seq>
+ struct apply
+ {
+ typedef
+ basic_iterator<
+ struct_iterator_tag
+ , assoc_struct_category
+ , Seq
+ , 0
+ >
+ type;
+
+ static type
+ call(Seq& seq)
+ {
+ return type(seq,0);
+ }
+ };
+ };
+}}}
+
+#endif
Added: pkg/BH/inst/include/boost/fusion/adapted/struct/detail/category_of_impl.hpp
===================================================================
--- pkg/BH/inst/include/boost/fusion/adapted/struct/detail/category_of_impl.hpp (rev 0)
+++ pkg/BH/inst/include/boost/fusion/adapted/struct/detail/category_of_impl.hpp 2013-05-04 01:03:03 UTC (rev 36)
@@ -0,0 +1,42 @@
+/*=============================================================================
+ Copyright (c) 2001-2011 Joel de Guzman
+ Copyright (c) 2005-2006 Dan Marsden
+ Copyright (c) 2009-2010 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
+
+#ifndef BOOST_FUSION_ADAPTED_STRUCT_DETAIL_CATEGORY_OF_IMPL_HPP
+#define BOOST_FUSION_ADAPTED_STRUCT_DETAIL_CATEGORY_OF_IMPL_HPP
+
+namespace boost { namespace fusion
+{
+ namespace extension
+ {
+ template<typename>
+ struct category_of_impl;
+
+ template<>
+ struct category_of_impl<struct_tag>
+ {
+ template<typename Seq>
+ struct apply
+ {
+ typedef random_access_traversal_tag type;
+ };
+ };
+
+ template<>
+ struct category_of_impl<assoc_struct_tag>
+ {
+ template<typename Seq>
+ struct apply
+ {
+ typedef assoc_struct_category type;
+ };
+ };
+ }
+}}
+
+#endif
Added: pkg/BH/inst/include/boost/fusion/adapted/struct/detail/deref_impl.hpp
===================================================================
--- pkg/BH/inst/include/boost/fusion/adapted/struct/detail/deref_impl.hpp (rev 0)
+++ pkg/BH/inst/include/boost/fusion/adapted/struct/detail/deref_impl.hpp 2013-05-04 01:03:03 UTC (rev 36)
@@ -0,0 +1,41 @@
+/*=============================================================================
+ Copyright (c) 2009-2010 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
+
+#ifndef BOOST_FUSION_ADAPTED_STRUCT_DETAIL_DEREF_IMPL_HPP
+#define BOOST_FUSION_ADAPTED_STRUCT_DETAIL_DEREF_IMPL_HPP
+
+namespace boost { namespace fusion { namespace extension
+{
+ template <typename>
+ struct deref_impl;
+
+ template <>
+ struct deref_impl<struct_iterator_tag>
+ {
+ template <typename It>
+ struct apply
+ {
+ typedef typename
+ access::struct_member<
+ typename remove_const<typename It::seq_type>::type
+ , It::index::value
+ >::template apply<typename It::seq_type>
+ impl;
+
+ typedef typename impl::type type;
+
+ static
+ type
+ call(It const& it)
+ {
+ return impl::call(*it.seq);
+ }
+ };
+ };
+}}}
+
+#endif
Added: pkg/BH/inst/include/boost/fusion/adapted/struct/detail/end_impl.hpp
===================================================================
--- pkg/BH/inst/include/boost/fusion/adapted/struct/detail/end_impl.hpp (rev 0)
+++ pkg/BH/inst/include/boost/fusion/adapted/struct/detail/end_impl.hpp 2013-05-04 01:03:03 UTC (rev 36)
@@ -0,0 +1,67 @@
+/*=============================================================================
+ Copyright (c) 2001-2011 Joel de Guzman
+ Copyright (c) 2005-2006 Dan Marsden
+ Copyright (c) 2009-2010 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
+
+#ifndef BOOST_FUSION_ADAPTED_STRUCT_DETAIL_END_IMPL_HPP
+#define BOOST_FUSION_ADAPTED_STRUCT_DETAIL_END_IMPL_HPP
+
+#include <boost/fusion/iterator/basic_iterator.hpp>
+
+namespace boost { namespace fusion { namespace extension
+{
+ template <typename>
+ struct end_impl;
+
+ template <>
+ struct end_impl<struct_tag>
+ {
+ template <typename Seq>
+ struct apply
+ {
+ typedef
+ basic_iterator<
+ struct_iterator_tag
+ , random_access_traversal_tag
+ , Seq
+ , struct_size<typename remove_const<Seq>::type>::value
+ >
+ type;
+
+ static type
+ call(Seq& seq)
+ {
+ return type(seq,0);
+ }
+ };
+ };
+
+ template <>
+ struct end_impl<assoc_struct_tag>
+ {
+ template <typename Seq>
+ struct apply
+ {
+ typedef
+ basic_iterator<
+ struct_iterator_tag
+ , assoc_struct_category
+ , Seq
+ , struct_size<typename remove_const<Seq>::type>::value
+ >
+ type;
+
+ static type
+ call(Seq& seq)
+ {
+ return type(seq,0);
+ }
+ };
+ };
+}}}
+
+#endif
Added: pkg/BH/inst/include/boost/fusion/adapted/struct/detail/extension.hpp
===================================================================
--- pkg/BH/inst/include/boost/fusion/adapted/struct/detail/extension.hpp (rev 0)
+++ pkg/BH/inst/include/boost/fusion/adapted/struct/detail/extension.hpp 2013-05-04 01:03:03 UTC (rev 36)
@@ -0,0 +1,57 @@
+/*=============================================================================
+ Copyright (c) 2001-2007 Joel de Guzman
+ Copyright (c) 2005-2006 Dan Marsden
+ Copyright (c) 2009-2010 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
+
+#ifndef BOOST_FUSION_ADAPTED_STRUCT_DETAIL_EXTENSION_HPP
+#define BOOST_FUSION_ADAPTED_STRUCT_DETAIL_EXTENSION_HPP
+
+#include <boost/fusion/support/category_of.hpp>
+
+namespace boost { namespace fusion
+{
+ struct struct_tag;
+ struct struct_iterator_tag;
+ struct assoc_struct_tag;
+ struct fusion_sequence_tag;
+
+ struct assoc_struct_category
+ : random_access_traversal_tag, associative_tag
+ {};
+
+ namespace extension
+ {
+ struct no_such_member;
+
+ struct access
+ {
+ template<typename Seq, int N>
+ struct struct_member;
+
+ template<typename Seq, int N>
+ struct adt_attribute_access;
+ };
+
+ template <typename T, int N, bool Const>
+ struct adt_attribute_proxy;
+
+ template<typename Seq, int N>
+ struct struct_member_name;
+
+ template<typename Seq>
+ struct struct_size;
+
+ template<typename Seq>
+ struct struct_is_view;
+
+ template<typename Seq, int N>
+ struct struct_assoc_key;
+
+ }
+}}
+
+#endif
Added: pkg/BH/inst/include/boost/fusion/adapted/struct/detail/is_sequence_impl.hpp
===================================================================
--- pkg/BH/inst/include/boost/fusion/adapted/struct/detail/is_sequence_impl.hpp (rev 0)
+++ pkg/BH/inst/include/boost/fusion/adapted/struct/detail/is_sequence_impl.hpp 2013-05-04 01:03:03 UTC (rev 36)
@@ -0,0 +1,35 @@
+/*=============================================================================
+ Copyright (c) 2001-2011 Joel de Guzman
+ Copyright (c) 2005-2006 Dan Marsden
+ Copyright (c) 2009-2010 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
+
+#ifndef BOOST_FUSION_ADAPTED_STRUCT_DETAIL_IS_SEQUENCE_IMPL_HPP
+#define BOOST_FUSION_ADAPTED_STRUCT_DETAIL_IS_SEQUENCE_IMPL_HPP
+
+#include <boost/mpl/bool.hpp>
+
+namespace boost { namespace fusion { namespace extension
+{
+ template<typename>
+ struct is_sequence_impl;
+
+ template<>
+ struct is_sequence_impl<struct_tag>
+ {
+ template<typename Seq>
+ struct apply
+ : mpl::true_
+ {};
+ };
+
+ template <>
+ struct is_sequence_impl<assoc_struct_tag>
+ : is_sequence_impl<struct_tag>
+ {};
+}}}
+
+#endif
Added: pkg/BH/inst/include/boost/fusion/adapted/struct/detail/is_view_impl.hpp
===================================================================
[TRUNCATED]
To get the complete diff run:
svnlook diff /svnroot/boostheaders -r 36
More information about the Boostheaders-commits
mailing list