mirror of
https://github.com/boostorg/spirit.git
synced 2026-01-19 04:42:11 +00:00
Narrow Proto and Phoenix inclusion
Include needed parts at place where they are needed instead of including the whole Proto library and significant parts of Phoenix in a few places. Parsing time reported by Clang 9 with default (C++14) std: was |now |gain|include ----|----|----|---------- 4.45|4.22|5.2%|qi 4.52|4.23|7.5%|karma 4.37|3.99|9.7%|lex 3.75|3.47|7.5%|qi_numeric There were phoenix/limits.hpp inclusion before every Proto inclusion to override Proto limits with Phoenix limits values. It has no value in C++11+ world, and poisons code too much as the number of places where Proto headers now included increased, so I did not replicate it.
This commit is contained in:
@@ -23,6 +23,7 @@
|
||||
#include <boost/mpl/vector.hpp>
|
||||
#include <boost/mpl/push_back.hpp>
|
||||
#include <boost/fusion/include/as_vector.hpp>
|
||||
#include <boost/proto/tags.hpp>
|
||||
#include <boost/type_traits/is_same.hpp>
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
@@ -18,12 +18,18 @@
|
||||
#include <boost/spirit/home/support/unused.hpp>
|
||||
#include <boost/spirit/home/support/info.hpp>
|
||||
#include <boost/spirit/home/support/lazy.hpp>
|
||||
#include <boost/spirit/include/phoenix_core.hpp>
|
||||
#include <boost/fusion/include/at.hpp>
|
||||
#include <boost/utility/result_of.hpp>
|
||||
#include <boost/proto/make_expr.hpp>
|
||||
#include <boost/type_traits/remove_reference.hpp>
|
||||
#include <boost/mpl/not.hpp>
|
||||
|
||||
namespace boost { namespace phoenix
|
||||
{
|
||||
template <typename Expr>
|
||||
struct actor;
|
||||
}}
|
||||
|
||||
namespace boost { namespace spirit
|
||||
{
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
|
||||
@@ -20,6 +20,8 @@
|
||||
#include <boost/spirit/home/support/unused.hpp>
|
||||
#include <boost/spirit/home/support/info.hpp>
|
||||
#include <boost/spirit/home/support/container.hpp>
|
||||
#include <boost/proto/operators.hpp>
|
||||
#include <boost/proto/tags.hpp>
|
||||
|
||||
namespace boost { namespace spirit
|
||||
{
|
||||
|
||||
@@ -10,7 +10,6 @@
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
#include <boost/spirit/include/phoenix_core.hpp>
|
||||
#include <boost/spirit/home/support/unused.hpp>
|
||||
#include <boost/spirit/home/support/attributes_fwd.hpp>
|
||||
#include <boost/spirit/home/karma/detail/attributes.hpp>
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
#include <boost/spirit/home/karma/domain.hpp>
|
||||
#include <boost/spirit/home/karma/generator.hpp>
|
||||
#include <boost/spirit/home/support/string_traits.hpp>
|
||||
#include <boost/proto/tags.hpp>
|
||||
#include <boost/type_traits/remove_reference.hpp>
|
||||
#include <boost/utility/enable_if.hpp>
|
||||
#include <boost/fusion/include/at.hpp>
|
||||
|
||||
@@ -19,6 +19,8 @@
|
||||
#include <boost/spirit/home/karma/nonterminal/nonterminal_fwd.hpp>
|
||||
#include <boost/spirit/home/karma/reference.hpp>
|
||||
#include <boost/noncopyable.hpp>
|
||||
#include <boost/proto/extends.hpp>
|
||||
#include <boost/proto/traits.hpp>
|
||||
#include <boost/type_traits/is_same.hpp>
|
||||
|
||||
namespace boost { namespace spirit { namespace karma
|
||||
|
||||
@@ -40,6 +40,9 @@
|
||||
#include <boost/spirit/home/karma/nonterminal/detail/generator_binder.hpp>
|
||||
#include <boost/spirit/home/karma/nonterminal/detail/parameterized.hpp>
|
||||
|
||||
#include <boost/proto/extends.hpp>
|
||||
#include <boost/proto/traits.hpp>
|
||||
|
||||
#if defined(BOOST_MSVC)
|
||||
# pragma warning(push)
|
||||
# pragma warning(disable: 4127) // conditional expression is constant
|
||||
|
||||
@@ -26,6 +26,7 @@
|
||||
#include <boost/fusion/include/for_each.hpp>
|
||||
#include <boost/mpl/accumulate.hpp>
|
||||
#include <boost/mpl/bitor.hpp>
|
||||
#include <boost/proto/tags.hpp>
|
||||
#include <boost/config.hpp>
|
||||
|
||||
namespace boost { namespace spirit
|
||||
|
||||
@@ -19,6 +19,8 @@
|
||||
#include <boost/spirit/home/support/info.hpp>
|
||||
#include <boost/spirit/home/support/has_semantic_action.hpp>
|
||||
#include <boost/spirit/home/support/handles_container.hpp>
|
||||
#include <boost/proto/operators.hpp>
|
||||
#include <boost/proto/tags.hpp>
|
||||
|
||||
namespace boost { namespace spirit
|
||||
{
|
||||
|
||||
@@ -24,7 +24,8 @@
|
||||
#include <boost/spirit/home/support/container.hpp>
|
||||
#include <boost/spirit/home/support/handles_container.hpp>
|
||||
#include <boost/spirit/home/karma/detail/attributes.hpp>
|
||||
|
||||
#include <boost/proto/operators.hpp>
|
||||
#include <boost/proto/tags.hpp>
|
||||
#include <boost/type_traits/add_const.hpp>
|
||||
|
||||
namespace boost { namespace spirit
|
||||
|
||||
@@ -24,6 +24,8 @@
|
||||
#include <boost/spirit/home/support/container.hpp>
|
||||
#include <boost/spirit/home/support/handles_container.hpp>
|
||||
#include <boost/spirit/home/karma/detail/attributes.hpp>
|
||||
#include <boost/proto/operators.hpp>
|
||||
#include <boost/proto/tags.hpp>
|
||||
|
||||
namespace boost { namespace spirit
|
||||
{
|
||||
|
||||
@@ -19,6 +19,8 @@
|
||||
#include <boost/spirit/home/support/info.hpp>
|
||||
#include <boost/spirit/home/support/has_semantic_action.hpp>
|
||||
#include <boost/spirit/home/support/handles_container.hpp>
|
||||
#include <boost/proto/operators.hpp>
|
||||
#include <boost/proto/tags.hpp>
|
||||
|
||||
namespace boost { namespace spirit
|
||||
{
|
||||
|
||||
@@ -22,6 +22,8 @@
|
||||
#include <boost/spirit/home/support/handles_container.hpp>
|
||||
#include <boost/mpl/assert.hpp>
|
||||
#include <boost/optional.hpp>
|
||||
#include <boost/proto/operators.hpp>
|
||||
#include <boost/proto/tags.hpp>
|
||||
#include <boost/type_traits/is_convertible.hpp>
|
||||
|
||||
namespace boost { namespace spirit
|
||||
|
||||
@@ -25,7 +25,8 @@
|
||||
#include <boost/spirit/home/support/has_semantic_action.hpp>
|
||||
#include <boost/spirit/home/support/handles_container.hpp>
|
||||
#include <boost/spirit/home/karma/detail/attributes.hpp>
|
||||
|
||||
#include <boost/proto/operators.hpp>
|
||||
#include <boost/proto/tags.hpp>
|
||||
#include <boost/type_traits/add_const.hpp>
|
||||
|
||||
namespace boost { namespace spirit
|
||||
|
||||
@@ -37,6 +37,8 @@
|
||||
#include <boost/mpl/not.hpp>
|
||||
#include <boost/fusion/include/transform.hpp>
|
||||
#include <boost/mpl/accumulate.hpp>
|
||||
#include <boost/proto/operators.hpp>
|
||||
#include <boost/proto/tags.hpp>
|
||||
#include <boost/config.hpp>
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
@@ -19,9 +19,15 @@
|
||||
#include <boost/spirit/home/karma/detail/indirect_iterator.hpp>
|
||||
#include <boost/spirit/home/support/container.hpp>
|
||||
|
||||
#include <boost/spirit/include/phoenix_core.hpp>
|
||||
#include <boost/utility/result_of.hpp>
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
namespace boost { namespace phoenix
|
||||
{
|
||||
template <typename Expr>
|
||||
struct actor;
|
||||
}}
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
namespace boost { namespace spirit { namespace traits
|
||||
{
|
||||
|
||||
@@ -21,6 +21,8 @@
|
||||
#include <boost/spirit/home/karma/detail/get_casetag.hpp>
|
||||
#include <boost/spirit/home/karma/detail/string_generate.hpp>
|
||||
#include <boost/config.hpp>
|
||||
#include <boost/proto/extends.hpp>
|
||||
#include <boost/proto/traits.hpp>
|
||||
#include <boost/shared_ptr.hpp>
|
||||
#include <boost/mpl/if.hpp>
|
||||
#include <map>
|
||||
|
||||
@@ -13,13 +13,13 @@
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
#include <boost/spirit/include/phoenix_core.hpp>
|
||||
#include <boost/spirit/include/phoenix_operator.hpp>
|
||||
#include <boost/spirit/home/support/string_traits.hpp>
|
||||
#include <boost/spirit/home/lex/argument_phoenix.hpp>
|
||||
#include <boost/fusion/include/at.hpp>
|
||||
#include <boost/mpl/at.hpp>
|
||||
#include <boost/mpl/bool.hpp>
|
||||
#include <boost/phoenix/core/actor.hpp>
|
||||
#include <boost/phoenix/core/argument.hpp>
|
||||
#include <boost/type_traits/is_same.hpp>
|
||||
#include <boost/type_traits/remove_const.hpp>
|
||||
#include <boost/type_traits/remove_reference.hpp>
|
||||
|
||||
@@ -11,7 +11,13 @@
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
#include <boost/spirit/include/phoenix_core.hpp>
|
||||
#include <boost/phoenix/core/actor.hpp>
|
||||
#include <boost/phoenix/core/as_actor.hpp>
|
||||
#include <boost/phoenix/core/expression.hpp>
|
||||
#include <boost/phoenix/core/v2_eval.hpp>
|
||||
#include <boost/phoenix/core/value.hpp> // includes as_actor specialization
|
||||
#include <boost/proto/traits.hpp>
|
||||
#include <boost/proto/proto_fwd.hpp> // for transform placeholders
|
||||
|
||||
namespace boost { namespace spirit { namespace lex
|
||||
{
|
||||
|
||||
@@ -22,6 +22,8 @@
|
||||
#include <boost/noncopyable.hpp>
|
||||
#include <boost/fusion/include/vector.hpp>
|
||||
#include <boost/mpl/assert.hpp>
|
||||
#include <boost/proto/extends.hpp>
|
||||
#include <boost/proto/traits.hpp>
|
||||
#include <boost/range/iterator_range.hpp>
|
||||
#include <iterator> // for std::iterator_traits
|
||||
#include <string>
|
||||
|
||||
@@ -13,12 +13,10 @@
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
#include <boost/spirit/include/phoenix_core.hpp>
|
||||
#include <boost/spirit/include/phoenix_bind.hpp>
|
||||
#include <boost/spirit/include/phoenix_scope.hpp>
|
||||
|
||||
#include <boost/spirit/home/support/attributes.hpp>
|
||||
#include <boost/spirit/home/lex/lexer/pass_flags.hpp>
|
||||
#include <boost/phoenix/core/argument.hpp>
|
||||
#include <boost/phoenix/bind.hpp>
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
namespace boost { namespace spirit { namespace lex { namespace lexertl
|
||||
|
||||
@@ -15,6 +15,8 @@
|
||||
#include <boost/spirit/home/lex/meta_compiler.hpp>
|
||||
#include <boost/spirit/home/lex/detail/sequence_function.hpp>
|
||||
#include <boost/fusion/include/any.hpp>
|
||||
#include <boost/proto/operators.hpp>
|
||||
#include <boost/proto/tags.hpp>
|
||||
|
||||
namespace boost { namespace spirit
|
||||
{
|
||||
|
||||
@@ -10,11 +10,12 @@
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
#include <boost/spirit/include/phoenix_core.hpp>
|
||||
#include <boost/spirit/home/support/detail/scoped_enum_emulation.hpp>
|
||||
#include <boost/spirit/home/lex/lexer/pass_flags.hpp>
|
||||
|
||||
#include <boost/spirit/home/lex/lexer/support_functions_expression.hpp>
|
||||
#include <boost/phoenix/core/actor.hpp>
|
||||
#include <boost/phoenix/core/as_actor.hpp>
|
||||
#include <boost/phoenix/core/value.hpp> // includes as_actor specialization
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
namespace boost { namespace spirit { namespace lex
|
||||
|
||||
@@ -11,7 +11,9 @@
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
#include <boost/spirit/include/phoenix_core.hpp>
|
||||
#include <boost/phoenix/core/expression.hpp>
|
||||
#include <boost/phoenix/core/v2_eval.hpp>
|
||||
#include <boost/proto/proto_fwd.hpp> // for transform placeholders
|
||||
|
||||
namespace boost { namespace spirit { namespace lex
|
||||
{
|
||||
|
||||
@@ -24,6 +24,8 @@
|
||||
|
||||
#include <boost/fusion/include/vector.hpp>
|
||||
#include <boost/mpl/if.hpp>
|
||||
#include <boost/proto/extends.hpp>
|
||||
#include <boost/proto/traits.hpp>
|
||||
#include <boost/type_traits/is_same.hpp>
|
||||
#include <boost/variant.hpp>
|
||||
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
#include <boost/spirit/home/support/meta_compiler.hpp>
|
||||
#include <boost/spirit/home/lex/domain.hpp>
|
||||
#include <boost/spirit/home/lex/lexer_type.hpp>
|
||||
#include <boost/proto/tags.hpp>
|
||||
#include <boost/type_traits/remove_reference.hpp>
|
||||
#include <boost/utility/enable_if.hpp>
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
#include <boost/proto/core.hpp>
|
||||
#include <boost/proto/traits.hpp>
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
namespace boost { namespace spirit { namespace qi
|
||||
|
||||
@@ -17,6 +17,12 @@
|
||||
#include <boost/spirit/home/lex/lexer.hpp>
|
||||
#include <boost/mpl/assert.hpp>
|
||||
|
||||
namespace boost { namespace phoenix
|
||||
{
|
||||
template <typename Expr>
|
||||
struct actor;
|
||||
}}
|
||||
|
||||
namespace boost { namespace spirit { namespace lex
|
||||
{
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
|
||||
@@ -23,6 +23,7 @@
|
||||
#include <boost/mpl/fold.hpp>
|
||||
#include <boost/mpl/vector.hpp>
|
||||
#include <boost/mpl/push_back.hpp>
|
||||
#include <boost/proto/tags.hpp>
|
||||
#include <boost/type_traits/is_same.hpp>
|
||||
#include <boost/fusion/include/as_vector.hpp>
|
||||
|
||||
|
||||
@@ -18,12 +18,19 @@
|
||||
#include <boost/spirit/home/support/unused.hpp>
|
||||
#include <boost/spirit/home/support/info.hpp>
|
||||
#include <boost/spirit/home/support/lazy.hpp>
|
||||
#include <boost/spirit/include/phoenix_core.hpp>
|
||||
#include <boost/fusion/include/at.hpp>
|
||||
#include <boost/utility/result_of.hpp>
|
||||
#include <boost/proto/make_expr.hpp>
|
||||
#include <boost/proto/tags.hpp>
|
||||
#include <boost/type_traits/remove_reference.hpp>
|
||||
#include <boost/mpl/not.hpp>
|
||||
|
||||
namespace boost { namespace phoenix
|
||||
{
|
||||
template <typename Expr>
|
||||
struct actor;
|
||||
}}
|
||||
|
||||
namespace boost { namespace spirit
|
||||
{
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
|
||||
@@ -18,6 +18,8 @@
|
||||
#include <boost/spirit/home/qi/skip_over.hpp>
|
||||
#include <boost/spirit/home/support/unused.hpp>
|
||||
#include <boost/spirit/home/support/info.hpp>
|
||||
#include <boost/proto/operators.hpp>
|
||||
#include <boost/proto/tags.hpp>
|
||||
|
||||
namespace boost { namespace spirit
|
||||
{
|
||||
|
||||
@@ -8,13 +8,13 @@
|
||||
#define BOOST_SPIRIT_COPY_FEBRUARY_7_2012_0159PM
|
||||
|
||||
#include <boost/config.hpp>
|
||||
#include <boost/proto/proto.hpp>
|
||||
|
||||
#if defined(_MSC_VER)
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
#if !defined(BOOST_NO_CXX11_AUTO_DECLARATIONS)
|
||||
#include <boost/proto/deep_copy.hpp>
|
||||
|
||||
namespace boost { namespace spirit { namespace qi
|
||||
{
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
#include <boost/spirit/home/qi/domain.hpp>
|
||||
#include <boost/spirit/home/qi/parser.hpp>
|
||||
#include <boost/spirit/home/support/string_traits.hpp>
|
||||
#include <boost/proto/tags.hpp>
|
||||
#include <boost/type_traits/remove_reference.hpp>
|
||||
#include <boost/utility/enable_if.hpp>
|
||||
#include <boost/fusion/include/at.hpp>
|
||||
|
||||
@@ -19,6 +19,8 @@
|
||||
#include <boost/spirit/home/qi/nonterminal/nonterminal_fwd.hpp>
|
||||
#include <boost/spirit/home/qi/reference.hpp>
|
||||
#include <boost/noncopyable.hpp>
|
||||
#include <boost/proto/extends.hpp>
|
||||
#include <boost/proto/traits.hpp>
|
||||
#include <boost/type_traits/is_same.hpp>
|
||||
|
||||
namespace boost { namespace spirit { namespace qi
|
||||
|
||||
@@ -40,6 +40,9 @@
|
||||
#include <boost/spirit/home/qi/nonterminal/nonterminal_fwd.hpp>
|
||||
#include <boost/spirit/home/qi/skip_over.hpp>
|
||||
|
||||
#include <boost/proto/extends.hpp>
|
||||
#include <boost/proto/traits.hpp>
|
||||
|
||||
#if defined(BOOST_MSVC)
|
||||
# pragma warning(push)
|
||||
# pragma warning(disable: 4355) // 'this' : used in base member initializer list warning
|
||||
|
||||
@@ -24,6 +24,8 @@
|
||||
#include <boost/fusion/include/any.hpp>
|
||||
#include <boost/fusion/include/mpl.hpp>
|
||||
#include <boost/fusion/include/for_each.hpp>
|
||||
#include <boost/proto/operators.hpp>
|
||||
#include <boost/proto/tags.hpp>
|
||||
|
||||
namespace boost { namespace spirit
|
||||
{
|
||||
|
||||
@@ -19,6 +19,8 @@
|
||||
#include <boost/spirit/home/support/has_semantic_action.hpp>
|
||||
#include <boost/spirit/home/support/handles_container.hpp>
|
||||
#include <boost/fusion/include/at.hpp>
|
||||
#include <boost/proto/operators.hpp>
|
||||
#include <boost/proto/tags.hpp>
|
||||
|
||||
namespace boost { namespace spirit
|
||||
{
|
||||
|
||||
@@ -19,6 +19,8 @@
|
||||
#include <boost/spirit/home/support/has_semantic_action.hpp>
|
||||
#include <boost/spirit/home/support/handles_container.hpp>
|
||||
#include <boost/fusion/include/at.hpp>
|
||||
#include <boost/proto/operators.hpp>
|
||||
#include <boost/proto/tags.hpp>
|
||||
|
||||
namespace boost { namespace spirit
|
||||
{
|
||||
|
||||
@@ -19,6 +19,8 @@
|
||||
#include <boost/spirit/home/support/has_semantic_action.hpp>
|
||||
#include <boost/spirit/home/support/handles_container.hpp>
|
||||
#include <boost/spirit/home/support/info.hpp>
|
||||
#include <boost/proto/operators.hpp>
|
||||
#include <boost/proto/tags.hpp>
|
||||
|
||||
namespace boost { namespace spirit
|
||||
{
|
||||
|
||||
@@ -21,6 +21,8 @@
|
||||
#include <boost/spirit/home/support/has_semantic_action.hpp>
|
||||
#include <boost/spirit/home/support/handles_container.hpp>
|
||||
#include <boost/spirit/home/support/info.hpp>
|
||||
#include <boost/proto/operators.hpp>
|
||||
#include <boost/proto/tags.hpp>
|
||||
|
||||
namespace boost { namespace spirit
|
||||
{
|
||||
|
||||
@@ -21,6 +21,8 @@
|
||||
#include <boost/spirit/home/support/has_semantic_action.hpp>
|
||||
#include <boost/spirit/home/support/handles_container.hpp>
|
||||
#include <boost/spirit/home/support/info.hpp>
|
||||
#include <boost/proto/operators.hpp>
|
||||
#include <boost/proto/tags.hpp>
|
||||
#include <vector>
|
||||
|
||||
namespace boost { namespace spirit
|
||||
|
||||
@@ -18,6 +18,8 @@
|
||||
#include <boost/spirit/home/support/has_semantic_action.hpp>
|
||||
#include <boost/spirit/home/support/handles_container.hpp>
|
||||
#include <boost/spirit/home/support/info.hpp>
|
||||
#include <boost/proto/operators.hpp>
|
||||
#include <boost/proto/tags.hpp>
|
||||
|
||||
namespace boost { namespace spirit
|
||||
{
|
||||
|
||||
@@ -22,6 +22,8 @@
|
||||
#include <boost/spirit/home/qi/meta_compiler.hpp>
|
||||
#include <boost/spirit/home/qi/detail/assign_to.hpp>
|
||||
#include <boost/optional.hpp>
|
||||
#include <boost/proto/operators.hpp>
|
||||
#include <boost/proto/tags.hpp>
|
||||
#include <vector>
|
||||
|
||||
namespace boost { namespace spirit
|
||||
|
||||
@@ -22,6 +22,8 @@
|
||||
#include <boost/fusion/include/size.hpp>
|
||||
#include <boost/optional.hpp>
|
||||
#include <boost/array.hpp>
|
||||
#include <boost/proto/operators.hpp>
|
||||
#include <boost/proto/tags.hpp>
|
||||
|
||||
namespace boost { namespace spirit
|
||||
{
|
||||
|
||||
@@ -21,6 +21,8 @@
|
||||
#include <boost/spirit/home/support/has_semantic_action.hpp>
|
||||
#include <boost/spirit/home/support/handles_container.hpp>
|
||||
#include <boost/spirit/home/support/info.hpp>
|
||||
#include <boost/proto/operators.hpp>
|
||||
#include <boost/proto/tags.hpp>
|
||||
|
||||
namespace boost { namespace spirit
|
||||
{
|
||||
|
||||
@@ -15,6 +15,8 @@
|
||||
#include <boost/spirit/home/qi/operator/sequence_base.hpp>
|
||||
#include <boost/spirit/home/qi/detail/fail_function.hpp>
|
||||
#include <boost/spirit/home/qi/meta_compiler.hpp>
|
||||
#include <boost/proto/operators.hpp>
|
||||
#include <boost/proto/tags.hpp>
|
||||
|
||||
namespace boost { namespace spirit
|
||||
{
|
||||
|
||||
@@ -19,6 +19,8 @@
|
||||
#include <boost/spirit/home/support/handles_container.hpp>
|
||||
#include <boost/fusion/include/as_vector.hpp>
|
||||
#include <boost/fusion/include/for_each.hpp>
|
||||
#include <boost/proto/operators.hpp>
|
||||
#include <boost/proto/tags.hpp>
|
||||
|
||||
namespace boost { namespace spirit
|
||||
{
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
#include <boost/spirit/home/qi/stream/detail/match_manip.hpp>
|
||||
#include <boost/spirit/home/qi/stream/detail/iterator_source.hpp>
|
||||
#include <boost/spirit/home/support/detail/hold_any.hpp>
|
||||
|
||||
#include <boost/proto/traits.hpp>
|
||||
#include <iosfwd>
|
||||
#include <sstream>
|
||||
|
||||
|
||||
@@ -23,7 +23,8 @@
|
||||
#include <boost/spirit/home/support/info.hpp>
|
||||
#include <boost/spirit/home/support/unused.hpp>
|
||||
#include <boost/spirit/home/support/string_traits.hpp>
|
||||
|
||||
#include <boost/proto/extends.hpp>
|
||||
#include <boost/proto/traits.hpp>
|
||||
#include <boost/range/begin.hpp>
|
||||
#include <boost/range/end.hpp>
|
||||
#include <boost/shared_ptr.hpp>
|
||||
|
||||
@@ -22,9 +22,14 @@
|
||||
#endif
|
||||
|
||||
|
||||
#include <boost/spirit/include/phoenix_core.hpp>
|
||||
#include <boost/spirit/home/support/attributes.hpp>
|
||||
|
||||
namespace boost { namespace phoenix
|
||||
{
|
||||
template <typename Expr>
|
||||
struct actor;
|
||||
}}
|
||||
|
||||
namespace boost { namespace spirit { namespace traits
|
||||
{
|
||||
template <typename Component>
|
||||
|
||||
@@ -15,13 +15,17 @@
|
||||
|
||||
#include <boost/preprocessor/repetition/repeat_from_to.hpp>
|
||||
#include <boost/preprocessor/arithmetic/inc.hpp>
|
||||
#include <boost/spirit/include/phoenix_core.hpp>
|
||||
#include <boost/spirit/home/support/assert_msg.hpp>
|
||||
#include <boost/spirit/home/support/limits.hpp>
|
||||
#include <boost/fusion/include/at.hpp>
|
||||
#include <boost/fusion/include/size.hpp>
|
||||
#include <boost/mpl/size.hpp>
|
||||
#include <boost/mpl/at.hpp>
|
||||
#include <boost/phoenix/core/actor.hpp>
|
||||
#include <boost/phoenix/core/argument.hpp>
|
||||
#include <boost/phoenix/core/terminal.hpp>
|
||||
#include <boost/phoenix/core/v2_eval.hpp>
|
||||
#include <boost/proto/proto_fwd.hpp> // for transform placeholders
|
||||
|
||||
#ifndef BOOST_SPIRIT_NO_PREDEFINED_TERMINALS
|
||||
|
||||
|
||||
@@ -9,7 +9,9 @@
|
||||
#if !defined(BOOST_SPIRIT_ARGUMENT_MARCH_22_2011_0939PM)
|
||||
#define BOOST_SPIRIT_ARGUMENT_MARCH_22_2011_0939PM
|
||||
|
||||
#include <boost/spirit/include/phoenix_core.hpp>
|
||||
#include <boost/phoenix/core/terminal.hpp>
|
||||
#include <boost/phoenix/core/v2_eval.hpp>
|
||||
#include <boost/proto/proto_fwd.hpp> // for transform placeholders
|
||||
|
||||
namespace boost { namespace spirit
|
||||
{
|
||||
|
||||
@@ -40,7 +40,7 @@
|
||||
#include <boost/mpl/or.hpp>
|
||||
#include <boost/mpl/has_xxx.hpp>
|
||||
#include <boost/mpl/equal.hpp>
|
||||
#include <boost/proto/proto_fwd.hpp>
|
||||
#include <boost/proto/traits.hpp>
|
||||
#include <boost/utility/enable_if.hpp>
|
||||
#include <boost/variant.hpp>
|
||||
#include <boost/range/iterator_range.hpp>
|
||||
|
||||
@@ -13,8 +13,8 @@
|
||||
#include <boost/spirit/home/support/unused.hpp>
|
||||
|
||||
#include <boost/version.hpp>
|
||||
#include <boost/spirit/include/phoenix_limits.hpp> // needs to be included before proto
|
||||
#include <boost/proto/proto.hpp>
|
||||
#include <boost/proto/make_expr.hpp>
|
||||
#include <boost/proto/traits.hpp>
|
||||
#include <boost/utility/result_of.hpp>
|
||||
#include <boost/type_traits/add_const.hpp>
|
||||
#include <boost/type_traits/add_reference.hpp>
|
||||
|
||||
@@ -12,7 +12,8 @@
|
||||
|
||||
#include <boost/spirit/home/support/common_terminals.hpp>
|
||||
#include <boost/spirit/home/support/attributes.hpp>
|
||||
#include <boost/utility/enable_if.hpp>
|
||||
#include <boost/core/enable_if.hpp>
|
||||
#include <boost/proto/traits.hpp>
|
||||
|
||||
namespace boost { namespace spirit
|
||||
{
|
||||
|
||||
@@ -12,10 +12,6 @@
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
#include <string>
|
||||
|
||||
#include <boost/spirit/include/phoenix_limits.hpp> // needs to be included before proto
|
||||
#include <boost/proto/proto.hpp>
|
||||
#include <boost/config.hpp>
|
||||
#include <boost/mpl/bool.hpp>
|
||||
#include <boost/spirit/home/support/unused.hpp>
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
#include <boost/spirit/home/support/char_encoding/iso8859_1.hpp>
|
||||
#include <boost/spirit/home/support/char_class.hpp>
|
||||
#include <boost/mpl/vector.hpp>
|
||||
#include <boost/proto/traits.hpp>
|
||||
|
||||
#if defined(BOOST_SPIRIT_UNICODE)
|
||||
# include <boost/spirit/home/support/char_encoding/unicode.hpp>
|
||||
|
||||
@@ -14,7 +14,6 @@
|
||||
#endif
|
||||
|
||||
#include <boost/preprocessor/repetition/repeat_from_to.hpp>
|
||||
#include <boost/spirit/include/phoenix_core.hpp>
|
||||
#include <boost/spirit/home/support/nonterminal/expand_arg.hpp>
|
||||
#include <boost/spirit/home/support/assert_msg.hpp>
|
||||
#include <boost/spirit/home/support/argument.hpp>
|
||||
@@ -25,6 +24,10 @@
|
||||
#include <boost/fusion/include/transform.hpp>
|
||||
#include <boost/mpl/size.hpp>
|
||||
#include <boost/mpl/at.hpp>
|
||||
#include <boost/phoenix/core/actor.hpp>
|
||||
#include <boost/phoenix/core/terminal.hpp>
|
||||
#include <boost/phoenix/core/v2_eval.hpp>
|
||||
#include <boost/proto/proto_fwd.hpp> // for transform placeholders
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
#ifndef BOOST_SPIRIT_NO_PREDEFINED_TERMINALS
|
||||
|
||||
@@ -12,8 +12,6 @@
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
#include <boost/spirit/include/phoenix_limits.hpp> // needs to be included before proto
|
||||
#include <boost/proto/proto.hpp>
|
||||
#include <boost/mpl/eval_if.hpp>
|
||||
#include <boost/fusion/include/cons.hpp>
|
||||
#include <boost/type_traits/remove_const.hpp>
|
||||
|
||||
@@ -11,10 +11,15 @@
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
#include <boost/spirit/include/phoenix_core.hpp>
|
||||
#include <boost/proto/proto.hpp>
|
||||
#include <boost/spirit/home/support/modify.hpp>
|
||||
#include <boost/spirit/home/support/detail/is_spirit_tag.hpp>
|
||||
#include <boost/proto/traits.hpp>
|
||||
|
||||
namespace boost { namespace phoenix
|
||||
{
|
||||
template <typename Expr>
|
||||
struct actor;
|
||||
}}
|
||||
|
||||
namespace boost { namespace spirit
|
||||
{
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
#include <boost/spirit/include/phoenix_core.hpp>
|
||||
#include <boost/phoenix/core/limits.hpp>
|
||||
|
||||
#if !defined(SPIRIT_ARGUMENTS_LIMIT)
|
||||
# define SPIRIT_ARGUMENTS_LIMIT BOOST_PHOENIX_LIMIT
|
||||
|
||||
@@ -12,10 +12,13 @@
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
#include <boost/spirit/include/phoenix_core.hpp>
|
||||
#include <boost/proto/proto.hpp>
|
||||
#include <boost/spirit/home/support/detail/make_cons.hpp>
|
||||
#include <boost/spirit/home/support/modify.hpp>
|
||||
#include <boost/phoenix/core/actor.hpp>
|
||||
#include <boost/phoenix/core/is_actor.hpp>
|
||||
#include <boost/proto/tags.hpp>
|
||||
#include <boost/proto/traits.hpp>
|
||||
#include <boost/proto/transform.hpp>
|
||||
|
||||
namespace boost { namespace spirit
|
||||
{
|
||||
|
||||
@@ -13,16 +13,17 @@
|
||||
#endif
|
||||
|
||||
#include <boost/config.hpp>
|
||||
#include <boost/spirit/include/phoenix_limits.hpp>
|
||||
#include <boost/detail/workaround.hpp>
|
||||
#include <boost/spirit/include/phoenix_limits.hpp> // needs to be included before proto
|
||||
#include <boost/proto/proto.hpp>
|
||||
#include <boost/spirit/home/support/make_component.hpp>
|
||||
#include <boost/spirit/home/support/modify.hpp>
|
||||
#include <boost/spirit/home/support/detail/make_cons.hpp>
|
||||
#include <boost/spirit/home/support/unused.hpp>
|
||||
#include <boost/spirit/home/support/assert_msg.hpp>
|
||||
#include <boost/utility/enable_if.hpp>
|
||||
#include <boost/core/enable_if.hpp>
|
||||
#include <boost/proto/matches.hpp>
|
||||
#include <boost/proto/tags.hpp>
|
||||
#include <boost/proto/traits.hpp>
|
||||
#include <boost/proto/proto_fwd.hpp> // for transform placeholders
|
||||
#include <boost/type_traits/remove_reference.hpp>
|
||||
|
||||
namespace boost { namespace spirit
|
||||
|
||||
@@ -12,9 +12,6 @@
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
#include <boost/spirit/include/phoenix_limits.hpp> // needs to be included before proto
|
||||
#include <boost/proto/proto.hpp>
|
||||
#include <boost/mpl/if.hpp>
|
||||
#include <boost/type_traits/is_base_of.hpp>
|
||||
#include <boost/spirit/home/support/unused.hpp>
|
||||
|
||||
@@ -71,6 +68,8 @@ namespace boost { namespace spirit
|
||||
template <typename Domain, typename Enable = void>
|
||||
struct modify
|
||||
{
|
||||
typedef void proto_is_callable_;
|
||||
|
||||
template <typename Sig>
|
||||
struct result;
|
||||
|
||||
@@ -114,11 +113,4 @@ namespace boost { namespace spirit
|
||||
};
|
||||
}}
|
||||
|
||||
namespace boost { namespace proto
|
||||
{
|
||||
template <typename Domain, typename Enable>
|
||||
struct is_callable<spirit::modify<Domain, Enable> >
|
||||
: mpl::true_ {};
|
||||
}}
|
||||
|
||||
#endif
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
#include <boost/mpl/bool.hpp>
|
||||
#include <boost/mpl/identity.hpp>
|
||||
#include <boost/mpl/if.hpp>
|
||||
#include <boost/proto/proto_fwd.hpp>
|
||||
#include <boost/proto/proto_fwd.hpp> // for BOOST_PROTO_DISABLE_IF_IS_CONST
|
||||
#include <boost/type_traits/is_const.hpp>
|
||||
#if defined(__GNUC__) && (__GNUC__ < 4)
|
||||
#include <boost/type_traits/add_const.hpp>
|
||||
|
||||
@@ -14,16 +14,19 @@
|
||||
#endif
|
||||
|
||||
#include <boost/config.hpp>
|
||||
#include <boost/spirit/include/phoenix_core.hpp>
|
||||
#include <boost/spirit/include/phoenix_function.hpp>
|
||||
#include <boost/proto/proto.hpp>
|
||||
#include <boost/spirit/home/support/meta_compiler.hpp>
|
||||
#include <boost/spirit/home/support/detail/make_vector.hpp>
|
||||
#include <boost/spirit/home/support/unused.hpp>
|
||||
#include <boost/spirit/home/support/detail/is_spirit_tag.hpp>
|
||||
#include <boost/preprocessor/tuple/elem.hpp>
|
||||
|
||||
#include <boost/spirit/home/support/terminal_expression.hpp>
|
||||
#include <boost/phoenix/core/as_actor.hpp>
|
||||
#include <boost/phoenix/core/is_actor.hpp>
|
||||
#include <boost/phoenix/core/terminal_fwd.hpp>
|
||||
#include <boost/phoenix/core/value.hpp> // includes as_actor specialization
|
||||
#include <boost/phoenix/function/function.hpp>
|
||||
#include <boost/preprocessor/tuple/elem.hpp>
|
||||
#include <boost/proto/extends.hpp>
|
||||
#include <boost/proto/traits.hpp>
|
||||
|
||||
namespace boost { namespace spirit
|
||||
{
|
||||
|
||||
@@ -41,6 +41,8 @@
|
||||
#include <boost/mpl/identity.hpp>
|
||||
#include <boost/mpl/int.hpp>
|
||||
#include <boost/mpl/vector.hpp>
|
||||
#include <boost/proto/extends.hpp>
|
||||
#include <boost/proto/traits.hpp>
|
||||
#include <boost/type_traits/add_reference.hpp>
|
||||
#include <boost/type_traits/is_same.hpp>
|
||||
#include <boost/type_traits/remove_reference.hpp>
|
||||
|
||||
@@ -41,6 +41,8 @@
|
||||
#include <boost/mpl/identity.hpp>
|
||||
#include <boost/mpl/int.hpp>
|
||||
#include <boost/mpl/vector.hpp>
|
||||
#include <boost/proto/extends.hpp>
|
||||
#include <boost/proto/traits.hpp>
|
||||
#include <boost/type_traits/add_reference.hpp>
|
||||
#include <boost/type_traits/is_same.hpp>
|
||||
#include <boost/type_traits/remove_reference.hpp>
|
||||
|
||||
@@ -41,6 +41,8 @@
|
||||
#include <boost/fusion/include/zip_view.hpp>
|
||||
#include <boost/fusion/include/as_vector.hpp>
|
||||
#include <boost/variant/static_visitor.hpp>
|
||||
#include <boost/proto/operators.hpp>
|
||||
#include <boost/proto/tags.hpp>
|
||||
#include <boost/type_traits/remove_const.hpp>
|
||||
#include <boost/type_traits/is_same.hpp>
|
||||
#include <boost/spirit/repository/home/qi/operator/detail/keywords.hpp>
|
||||
|
||||
@@ -12,6 +12,8 @@
|
||||
#include <boost/spirit/include/karma_generate.hpp>
|
||||
#include <boost/spirit/include/karma_directive.hpp>
|
||||
|
||||
#include <boost/phoenix/core/value.hpp>
|
||||
|
||||
#include "test.hpp"
|
||||
|
||||
using namespace spirit_test;
|
||||
|
||||
@@ -12,6 +12,9 @@
|
||||
#include <boost/spirit/include/karma_generate.hpp>
|
||||
#include <boost/spirit/include/karma_directive.hpp>
|
||||
|
||||
#include <boost/phoenix/core/reference.hpp>
|
||||
#include <boost/phoenix/core/value.hpp>
|
||||
|
||||
#include "test.hpp"
|
||||
|
||||
using namespace spirit_test;
|
||||
|
||||
@@ -6,6 +6,8 @@
|
||||
|
||||
#include "real.hpp"
|
||||
|
||||
#include <boost/phoenix/core/value.hpp>
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
int main()
|
||||
{
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
#include <boost/spirit/include/support_multi_pass.hpp>
|
||||
#include <boost/spirit/include/classic_position_iterator.hpp>
|
||||
#include <boost/spirit/include/lex_lexertl.hpp>
|
||||
#include <boost/phoenix/operator/self.hpp>
|
||||
|
||||
namespace spirit = boost::spirit;
|
||||
namespace lex = spirit::lex;
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
#include <boost/spirit/include/support_multi_pass.hpp>
|
||||
#include <boost/spirit/include/classic_position_iterator.hpp>
|
||||
#include <boost/spirit/include/lex_lexertl.hpp>
|
||||
#include <boost/phoenix/operator/self.hpp>
|
||||
|
||||
namespace spirit = boost::spirit;
|
||||
namespace lex = spirit::lex;
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
#include <boost/spirit/include/support_multi_pass.hpp>
|
||||
#include <boost/spirit/include/classic_position_iterator.hpp>
|
||||
#include <boost/spirit/include/lex_lexertl.hpp>
|
||||
#include <boost/phoenix/operator/self.hpp>
|
||||
|
||||
namespace spirit = boost::spirit;
|
||||
namespace lex = spirit::lex;
|
||||
|
||||
@@ -10,6 +10,8 @@
|
||||
#include <boost/spirit/include/support_multi_pass.hpp>
|
||||
#include <boost/spirit/include/classic_position_iterator.hpp>
|
||||
#include <boost/spirit/include/lex_lexertl.hpp>
|
||||
#include <boost/phoenix/operator/self.hpp>
|
||||
#include <boost/phoenix/statement/sequence.hpp>
|
||||
|
||||
namespace spirit = boost::spirit;
|
||||
namespace lex = spirit::lex;
|
||||
|
||||
@@ -14,6 +14,8 @@
|
||||
#include <boost/spirit/include/support_multi_pass.hpp>
|
||||
#include <boost/spirit/include/classic_position_iterator.hpp>
|
||||
#include <boost/spirit/include/lex_lexertl.hpp>
|
||||
#include <boost/phoenix/operator/self.hpp>
|
||||
#include <boost/phoenix/statement/sequence.hpp>
|
||||
|
||||
namespace spirit = boost::spirit;
|
||||
namespace lex = spirit::lex;
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
#include <boost/spirit/include/qi_grammar.hpp>
|
||||
#include <boost/spirit/include/qi_eoi.hpp>
|
||||
|
||||
#include <boost/phoenix/operator/self.hpp>
|
||||
#include <string>
|
||||
#include <iostream>
|
||||
#include <sstream>
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
#include <boost/spirit/include/lex_lexertl.hpp>
|
||||
#include <boost/spirit/include/phoenix_core.hpp>
|
||||
#include <boost/spirit/include/phoenix_function.hpp>
|
||||
#include <boost/phoenix/operator/self.hpp>
|
||||
|
||||
namespace lex = boost::spirit::lex;
|
||||
namespace phoenix = boost::phoenix;
|
||||
|
||||
@@ -8,6 +8,8 @@
|
||||
|
||||
#include "bool.hpp"
|
||||
|
||||
#include <boost/phoenix/core/reference.hpp>
|
||||
|
||||
int main()
|
||||
{
|
||||
using spirit_test::test_attr;
|
||||
|
||||
@@ -10,6 +10,8 @@
|
||||
|
||||
#include "real.hpp"
|
||||
|
||||
#include <boost/phoenix/core/reference.hpp>
|
||||
|
||||
int
|
||||
main()
|
||||
{
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
#include <boost/spirit/include/qi_operator.hpp>
|
||||
#include <boost/spirit/include/qi_eps.hpp>
|
||||
#include <boost/spirit/include/qi_nonterminal.hpp>
|
||||
#include <boost/phoenix/core/reference.hpp>
|
||||
#include <string>
|
||||
|
||||
int main()
|
||||
|
||||
Reference in New Issue
Block a user