2
0
mirror of https://github.com/boostorg/phoenix.git synced 2026-02-14 13:02:10 +00:00

next step to self contained headers

[SVN r68579]
This commit is contained in:
Thomas Heller
2011-01-31 10:51:56 +00:00
parent dc6f50b3f2
commit 07fdb98f04
21 changed files with 136 additions and 109 deletions

View File

@@ -3,6 +3,7 @@
#ifndef PHOENIX_BIND_BIND_HPP
#define PHOENIX_BIND_BIND_HPP
#include <boost/phoenix/core/limits.hpp>
#include <boost/phoenix/function.hpp>
#include <boost/phoenix/support/iterate.hpp>
#include <boost/utility/result_of.hpp>
@@ -17,6 +18,7 @@
#ifndef PHOENIX_BIND_BIND_HPP
#define PHOENIX_BIND_BIND_HPP
#include <boost/phoenix/limits.hpp>
#include <boost/phoenix/function.hpp>
#include <boost/phoenix/support/iterate.hpp>
#include <boost/utility/result_of.hpp>

View File

@@ -8,11 +8,11 @@
#ifndef PHOENIX_FUNCTION_FUNCTION_HPP
#define PHOENIX_FUNCTION_FUNCTION_HPP
#include <boost/fusion/sequence/intrinsic/at_c.hpp>
#include <boost/phoenix/core/domain.hpp>
#include <boost/phoenix/core/limits.hpp>
#include <boost/fusion/sequence/intrinsic/at_c.hpp>
#include <boost/phoenix/core/meta_grammar.hpp>
#include <boost/phoenix/core/expression.hpp>
#include <boost/phoenix/support/iterate.hpp>
#include <boost/proto/make_expr.hpp>
#include <boost/proto/tags.hpp>
#include <boost/utility/result_of.hpp>
@@ -83,7 +83,6 @@ namespace boost { namespace phoenix
operator()() const
{
return expression::function<F>::make(f);
//return proto::make_expr<proto::tag::function, phoenix_domain>(f);
}
// Bring in the rest

View File

@@ -9,9 +9,10 @@
#ifndef PHOENIX_FUSION_AT_HPP
#define PHOENIX_FUSION_AT_HPP
#include <boost/phoenix/core/limits.hpp>
#include <boost/fusion/sequence/intrinsic/at_c.hpp>
#include <boost/phoenix/core/actor.hpp>
#include <boost/phoenix/core/expression.hpp>
#include <boost/phoenix/core/meta_grammar.hpp>
#include <boost/type_traits/remove_reference.hpp>
namespace boost { namespace phoenix

View File

@@ -10,7 +10,9 @@
#include <boost/phoenix/core/limits.hpp>
#include <boost/phoenix/core/expression.hpp>
#include <boost/phoenix/core/meta_grammar.hpp>
#include <boost/phoenix/object/detail/target.hpp>
#include <boost/proto/transform/lazy.hpp>
namespace boost { namespace phoenix
{

View File

@@ -10,8 +10,9 @@
#include <boost/phoenix/core/limits.hpp>
#include <boost/phoenix/core/expression.hpp>
#include <boost/phoenix/core/meta_grammar.hpp>
#include <boost/phoenix/object/detail/target.hpp>
#include <boost/phoenix/support/iterate.hpp>
#include <boost/proto/fusion.hpp>
namespace boost { namespace phoenix
{

View File

@@ -8,7 +8,9 @@
#ifndef PHOENIX_OBJECT_DELETE_HPP
#define PHOENIX_OBJECT_DELETE_HPP
#include <boost/phoenix/core/limits.hpp>
#include <boost/phoenix/core/expression.hpp>
#include <boost/phoenix/core/meta_grammar.hpp>
namespace boost { namespace phoenix
{

View File

@@ -10,7 +10,9 @@
#include <boost/phoenix/core/limits.hpp>
#include <boost/phoenix/core/expression.hpp>
#include <boost/phoenix/core/meta_grammar.hpp>
#include <boost/phoenix/object/detail/target.hpp>
#include <boost/proto/transform/lazy.hpp>
namespace boost { namespace phoenix
{

View File

@@ -10,8 +10,9 @@
#include <boost/phoenix/core/limits.hpp>
#include <boost/phoenix/core/expression.hpp>
#include <boost/phoenix/core/meta_grammar.hpp>
#include <boost/phoenix/object/detail/target.hpp>
#include <boost/phoenix/support/iterate.hpp>
#include <boost/proto/fusion.hpp>
namespace boost { namespace phoenix
{

View File

@@ -10,7 +10,9 @@
#include <boost/phoenix/core/limits.hpp>
#include <boost/phoenix/core/expression.hpp>
#include <boost/phoenix/core/meta_grammar.hpp>
#include <boost/phoenix/object/detail/target.hpp>
#include <boost/proto/transform/lazy.hpp>
namespace boost { namespace phoenix
{

View File

@@ -10,7 +10,9 @@
#include <boost/phoenix/core/limits.hpp>
#include <boost/phoenix/core/expression.hpp>
#include <boost/phoenix/core/meta_grammar.hpp>
#include <boost/phoenix/object/detail/target.hpp>
#include <boost/proto/transform/lazy.hpp>
namespace boost { namespace phoenix
{

View File

@@ -9,39 +9,6 @@
#ifndef PHOENIX_OPERATOR_HPP
#define PHOENIX_OPERATOR_HPP
#define PHOENIX_UNARY_RULE(__, ___, name) \
struct name \
: proto::unary_expr<proto::tag::name, proto::_> \
{}; \
/**/
#define PHOENIX_BINARY_RULE(__, ___, name) \
struct name \
: proto::binary_expr<proto::tag::name, proto::_, proto::_> \
{}; \
/**/
#define PHOENIX_GRAMMAR(_, __, name) \
template <typename Dummy> \
struct meta_grammar::case_<proto::tag::name, Dummy> \
: proto::when<rule::name, proto::external_transform> \
{}; \
/**/
#define PHOENIX_UNARY_OPERATORS(ops) \
namespace rule { \
BOOST_PP_SEQ_FOR_EACH(PHOENIX_UNARY_RULE, _, ops) \
} \
BOOST_PP_SEQ_FOR_EACH(PHOENIX_GRAMMAR, _, ops) \
/**/
#define PHOENIX_BINARY_OPERATORS(ops) \
namespace rule { \
BOOST_PP_SEQ_FOR_EACH(PHOENIX_BINARY_RULE, _, ops) \
} \
BOOST_PP_SEQ_FOR_EACH(PHOENIX_GRAMMAR, _, ops) \
/**/
#include <boost/phoenix/version.hpp>
#include <boost/phoenix/operator/arithmetic.hpp>
#include <boost/phoenix/operator/bitwise.hpp>
@@ -52,10 +19,4 @@
#include <boost/phoenix/operator/io.hpp>
#include <boost/phoenix/operator/member.hpp>
#undef PHOENIX_UNARY_RULE
#undef PHOENIX_BINARY_RULE
#undef PHOENIX_GRAMMAR
#undef PHOENIX_UNARY_OPERATORS
#undef PHOENIX_BINARY_OPERATORS
#endif

View File

@@ -8,7 +8,7 @@
#ifndef PHOENIX_OPERATOR_ARITHMETIC_HPP
#define PHOENIX_OPERATOR_ARITHMETIC_HPP
#include <boost/phoenix/core/meta_grammar.hpp>
#include <boost/phoenix/operator/detail/define_operator.hpp>
namespace boost { namespace phoenix
{
@@ -35,4 +35,6 @@ namespace boost { namespace phoenix
)
}}
#include <boost/phoenix/operator/detail/undef_operator.hpp>
#endif

View File

@@ -8,7 +8,7 @@
#ifndef PHOENIX_OPERATOR_BITWISE_HPP
#define PHOENIX_OPERATOR_BITWISE_HPP
#include <boost/phoenix/core/meta_grammar.hpp>
#include <boost/phoenix/operator/detail/define_operator.hpp>
namespace boost { namespace phoenix
{
@@ -30,4 +30,6 @@ namespace boost { namespace phoenix
)
}}
#include <boost/phoenix/operator/detail/undef_operator.hpp>
#endif

View File

@@ -8,7 +8,7 @@
#ifndef PHOENIX_OPERATOR_COMPARISION_HPP
#define PHOENIX_OPERATOR_COMPARISION_HPP
#include <boost/phoenix/core/meta_grammar.hpp>
#include <boost/phoenix/operator/detail/define_operator.hpp>
namespace boost { namespace phoenix
{
@@ -23,4 +23,6 @@ namespace boost { namespace phoenix
)
}}
#include <boost/phoenix/operator/detail/undef_operator.hpp>
#endif

View File

@@ -0,0 +1,48 @@
/*==============================================================================
Copyright (c) 2005-2010 Joel de Guzman
Copyright (c) 2010 Thomas Heller
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 PHOENIX_DEFINE_OPERATOR_HPP
#define PHOENIX_DEFINE_OPERATOR_HPP
#include <boost/phoenix/core/meta_grammar.hpp>
#include <boost/preprocessor/seq/for_each.hpp>
#define PHOENIX_UNARY_RULE(__, ___, name) \
struct name \
: proto::unary_expr<proto::tag::name, proto::_> \
{}; \
/**/
#define PHOENIX_BINARY_RULE(__, ___, name) \
struct name \
: proto::binary_expr<proto::tag::name, proto::_, proto::_> \
{}; \
/**/
#define PHOENIX_GRAMMAR(_, __, name) \
template <typename Dummy> \
struct meta_grammar::case_<proto::tag::name, Dummy> \
: proto::when<rule::name, proto::external_transform> \
{}; \
/**/
#define PHOENIX_UNARY_OPERATORS(ops) \
namespace rule { \
BOOST_PP_SEQ_FOR_EACH(PHOENIX_UNARY_RULE, _, ops) \
} \
BOOST_PP_SEQ_FOR_EACH(PHOENIX_GRAMMAR, _, ops) \
/**/
#define PHOENIX_BINARY_OPERATORS(ops) \
namespace rule { \
BOOST_PP_SEQ_FOR_EACH(PHOENIX_BINARY_RULE, _, ops) \
} \
BOOST_PP_SEQ_FOR_EACH(PHOENIX_GRAMMAR, _, ops) \
/**/
#endif

View File

@@ -0,0 +1,6 @@
#undef PHOENIX_UNARY_RULE
#undef PHOENIX_BINARY_RULE
#undef PHOENIX_GRAMMAR
#undef PHOENIX_UNARY_OPERATORS
#undef PHOENIX_BINARY_OPERATORS

View File

@@ -8,8 +8,11 @@
#ifndef PHOENIX_OPERATOR_IO_HPP
#define PHOENIX_OPERATOR_IO_HPP
//#include <boost/phoenix/core/actor.hpp>
//#include <boost/phoenix/core/domain.hpp>
#include <iosfwd>
#include <boost/phoenix/core/limits.hpp>
#include <boost/fusion/sequence/intrinsic/at.hpp>
#include <boost/phoenix/core/domain.hpp>
#include <boost/proto/make_expr.hpp>
#include <boost/proto/tags.hpp>

View File

@@ -8,7 +8,7 @@
#ifndef PHOENIX_OPERATOR_LOGICAL_HPP
#define PHOENIX_OPERATOR_LOGICAL_HPP
#include <boost/phoenix/core/meta_grammar.hpp>
#include <boost/phoenix/operator/detail/define_operator.hpp>
namespace boost { namespace phoenix
{
@@ -22,4 +22,6 @@ namespace boost { namespace phoenix
)
}}
#include <boost/phoenix/operator/detail/undef_operator.hpp>
#endif

View File

@@ -1,13 +0,0 @@
/*==============================================================================
Copyright (c) 2001-2010 Joel de Guzman
Copyright (c) 2010 Thomas Heller
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 PHOENIX_OPERATOR_OPERATOR_HPP
#define PHOENIX_OPERATOR_OPERATOR_HPP
#include <boost/proto/operators.hpp>
#endif

View File

@@ -8,7 +8,7 @@
#ifndef PHOENIX_OPERATOR_SELF_HPP
#define PHOENIX_OPERATOR_SELF_HPP
#include <boost/phoenix/core/meta_grammar.hpp>
#include <boost/phoenix/operator/detail/define_operator.hpp>
namespace boost { namespace phoenix
{
@@ -22,4 +22,6 @@ namespace boost { namespace phoenix
)
}}
#include <boost/phoenix/operator/detail/undef_operator.hpp>
#endif

View File

@@ -123,7 +123,19 @@ test-suite phoenix_regression :
;
test-suite phoenix_include :
[ run include/bind.cpp ]
[ run include/core.cpp ]
[ run include/function.cpp ]
# [ run include/fusion.cpp ]
# [ run include/object.cpp ]
# [ run include/operator.cpp ]
# [ run include/scope.cpp ]
# [ run include/statement.cpp ]
# [ run include/stl.cpp ]
[ run include/bind/bind.cpp ]
[ run include/version.cpp ]
# [ run include/bind/bind_member_function.cpp ]
# [ run include/bind/bind_member_variable.cpp ]
[ run include/core/terminal.cpp ]
[ run include/core/nothing.cpp ]
[ run include/core/environment.cpp ]
@@ -132,7 +144,6 @@ test-suite phoenix_include :
[ run include/core/argument.cpp ]
[ run include/core/function_equal.cpp ]
[ run include/core/is_actor.cpp ]
[ run include/core/test.cpp ]
[ run include/core/arity.cpp ]
[ run include/core/mem_obj_ptr.cpp ]
[ run include/core/visit_each.cpp ]
@@ -142,16 +153,29 @@ test-suite phoenix_include :
[ run include/core/is_nullary.cpp ]
[ run include/core/limits.cpp ]
[ run include/core/actor.cpp ]
# [ run include/operator.cpp ]
# [ run include/function/function.cpp ]
# [ run include/stl/algorithm/transformation.cpp ]
# [ run include/stl/algorithm/iteration.cpp ]
# [ run include/stl/algorithm/querying.cpp ]
# [ run include/stl/container/container.cpp ]
# [ run include/stl/algorithm.cpp ]
# [ run include/stl/container.cpp ]
# [ run include/scope.cpp ]
# [ run include/version.cpp ]
[ run include/function/function.cpp ]
[ run include/fusion/at.cpp ]
[ run include/object/const_cast.cpp ]
[ run include/object/construct.cpp ]
[ run include/object/delete.cpp ]
[ run include/object/dynamic_cast.cpp ]
[ run include/object/new.cpp ]
[ run include/object/reinterpret_cast.cpp ]
[ run include/object/static_cast.cpp ]
[ run include/operator/arithmetic.cpp ]
[ run include/operator/bitwise.cpp ]
[ run include/operator/comparision.cpp ]
[ run include/operator/if_else.cpp ]
[ run include/operator/io.cpp ]
[ run include/operator/logical.cpp ]
[ run include/operator/member.cpp ]
[ run include/operator/self.cpp ]
# [ run include/scope/dynamic.cpp ]
# [ run include/scope/this.cpp ]
# [ run include/scope/local_variable.cpp ]
# [ run include/scope/scoped_environment.cpp ]
# [ run include/scope/lambda.cpp ]
# [ run include/scope/let.cpp ]
# [ run include/statement/switch.cpp ]
# [ run include/statement/do_while.cpp ]
# [ run include/statement/try_catch.cpp ]
@@ -160,38 +184,12 @@ test-suite phoenix_include :
# [ run include/statement/throw.cpp ]
# [ run include/statement/while.cpp ]
# [ run include/statement/for.cpp ]
# [ run include/fusion/at.cpp ]
# [ run include/object.cpp ]
# [ run include/bind/bind_member_function.cpp ]
# [ run include/bind/bind.cpp ]
# [ run include/bind/bind_member_variable.cpp ]
# [ run include/operator/operator.cpp ]
# [ run include/operator/if_else.cpp ]
# [ run include/operator/member.cpp ]
# [ run include/operator/bitwise.cpp ]
# [ run include/operator/logical.cpp ]
# [ run include/operator/io.cpp ]
# [ run include/operator/arithmetic.cpp ]
# [ run include/operator/self.cpp ]
# [ run include/operator/comparision.cpp ]
# [ run include/bind.cpp ]
# [ run include/object/dynamic_cast.cpp ]
# [ run include/object/const_cast.cpp ]
# [ run include/object/reinterpret_cast.cpp ]
# [ run include/object/static_cast.cpp ]
# [ run include/object/delete.cpp ]
# [ run include/object/construct.cpp ]
# [ run include/object/new.cpp ]
# [ run include/fusion.cpp ]
# [ run include/stl/algorithm/iteration.cpp ]
# [ run include/stl/algorithm/querying.cpp ]
# [ run include/stl/algorithm/transformation.cpp ]
# [ run include/stl/container/container.cpp ]
# [ run include/stl/algorithm.cpp ]
# [ run include/stl/container.cpp ]
# [ run include/support/preprocessor/round.cpp ]
# [ run include/support/iterate.cpp ]
# [ run include/function.cpp ]
# [ run include/statement.cpp ]
# [ run include/stl.cpp ]
# [ run include/scope/dynamic.cpp ]
# [ run include/scope/this.cpp ]
# [ run include/scope/local_variable.cpp ]
# [ run include/scope/scoped_environment.cpp ]
# [ run include/scope/lambda.cpp ]
# [ run include/scope/let.cpp ]
;