Added boost header
This commit is contained in:
123
test/external/boost/phoenix/operator/detail/define_operator.hpp
vendored
Normal file
123
test/external/boost/phoenix/operator/detail/define_operator.hpp
vendored
Normal file
@@ -0,0 +1,123 @@
|
||||
/*==============================================================================
|
||||
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 BOOST_PHOENIX_DEFINE_OPERATOR_HPP
|
||||
#define BOOST_PHOENIX_DEFINE_OPERATOR_HPP
|
||||
|
||||
#include <boost/phoenix/core/meta_grammar.hpp>
|
||||
#include <boost/preprocessor/seq/for_each.hpp>
|
||||
|
||||
#define BOOST_PHOENIX_UNARY_EXPRESSION(__, ___, name) \
|
||||
template <typename Operand> \
|
||||
struct name \
|
||||
: expr<proto::tag::name, Operand> \
|
||||
{}; \
|
||||
/**/
|
||||
|
||||
#define BOOST_PHOENIX_UNARY_RULE(__, ___, name) \
|
||||
struct name \
|
||||
: expression::name<meta_grammar> \
|
||||
{}; \
|
||||
/**/
|
||||
|
||||
#define BOOST_PHOENIX_UNARY_FUNCTIONAL(__, ___, name) \
|
||||
namespace functional \
|
||||
{ \
|
||||
typedef \
|
||||
proto::functional::make_expr<proto::tag::name> \
|
||||
BOOST_PP_CAT(make_, name); \
|
||||
} \
|
||||
namespace result_of \
|
||||
{ \
|
||||
template <typename Operand> \
|
||||
struct BOOST_PP_CAT(make_, name) \
|
||||
: boost::result_of< \
|
||||
functional:: BOOST_PP_CAT(make_, name)( \
|
||||
Operand \
|
||||
) \
|
||||
> \
|
||||
{}; \
|
||||
} \
|
||||
template <typename Operand> \
|
||||
typename result_of::BOOST_PP_CAT(make_, name)<Operand>::type \
|
||||
inline BOOST_PP_CAT(make_, name)(Operand const & operand) \
|
||||
{ \
|
||||
return functional::BOOST_PP_CAT(make_, name)()(operand); \
|
||||
} \
|
||||
/**/
|
||||
|
||||
#define BOOST_PHOENIX_BINARY_EXPRESSION(__, ___, name) \
|
||||
template <typename Lhs, typename Rhs> \
|
||||
struct name \
|
||||
: expr<proto::tag::name, Lhs, Rhs> \
|
||||
{}; \
|
||||
/**/
|
||||
|
||||
#define BOOST_PHOENIX_BINARY_RULE(__, ___, name) \
|
||||
struct name \
|
||||
: expression::name<meta_grammar, meta_grammar> \
|
||||
{}; \
|
||||
/**/
|
||||
|
||||
#define BOOST_PHOENIX_BINARY_FUNCTIONAL(__, ___, name) \
|
||||
namespace functional \
|
||||
{ \
|
||||
typedef \
|
||||
proto::functional::make_expr<proto::tag::name> \
|
||||
BOOST_PP_CAT(make_, name); \
|
||||
} \
|
||||
namespace result_of \
|
||||
{ \
|
||||
template <typename Lhs, typename Rhs> \
|
||||
struct BOOST_PP_CAT(make_, name) \
|
||||
: boost::result_of< \
|
||||
functional:: BOOST_PP_CAT(make_, name)( \
|
||||
Lhs, Rhs \
|
||||
) \
|
||||
> \
|
||||
{}; \
|
||||
} \
|
||||
template <typename Rhs, typename Lhs> \
|
||||
typename result_of::BOOST_PP_CAT(make_, name)<Rhs, Lhs>::type \
|
||||
inline BOOST_PP_CAT(make_, name)(Lhs const & lhs, Rhs const & rhs) \
|
||||
{ \
|
||||
return functional::BOOST_PP_CAT(make_, name)()(lhs, rhs); \
|
||||
} \
|
||||
/**/
|
||||
|
||||
#define BOOST_PHOENIX_GRAMMAR(_, __, name) \
|
||||
template <typename Dummy> \
|
||||
struct meta_grammar::case_<proto::tag::name, Dummy> \
|
||||
: enable_rule<rule::name, Dummy> \
|
||||
{}; \
|
||||
/**/
|
||||
|
||||
#define BOOST_PHOENIX_UNARY_OPERATORS(ops) \
|
||||
namespace expression { \
|
||||
BOOST_PP_SEQ_FOR_EACH(BOOST_PHOENIX_UNARY_EXPRESSION, _, ops) \
|
||||
} \
|
||||
namespace rule { \
|
||||
BOOST_PP_SEQ_FOR_EACH(BOOST_PHOENIX_UNARY_RULE, _, ops) \
|
||||
} \
|
||||
BOOST_PP_SEQ_FOR_EACH(BOOST_PHOENIX_GRAMMAR, _, ops) \
|
||||
BOOST_PP_SEQ_FOR_EACH(BOOST_PHOENIX_UNARY_FUNCTIONAL, _, ops) \
|
||||
/**/
|
||||
|
||||
|
||||
#define BOOST_PHOENIX_BINARY_OPERATORS(ops) \
|
||||
namespace expression { \
|
||||
BOOST_PP_SEQ_FOR_EACH(BOOST_PHOENIX_BINARY_EXPRESSION, _, ops) \
|
||||
} \
|
||||
namespace rule { \
|
||||
BOOST_PP_SEQ_FOR_EACH(BOOST_PHOENIX_BINARY_RULE, _, ops) \
|
||||
} \
|
||||
BOOST_PP_SEQ_FOR_EACH(BOOST_PHOENIX_GRAMMAR, _, ops) \
|
||||
BOOST_PP_SEQ_FOR_EACH(BOOST_PHOENIX_BINARY_FUNCTIONAL, _, ops) \
|
||||
/**/
|
||||
|
||||
#endif
|
||||
56
test/external/boost/phoenix/operator/detail/mem_fun_ptr_eval_result_of.hpp
vendored
Normal file
56
test/external/boost/phoenix/operator/detail/mem_fun_ptr_eval_result_of.hpp
vendored
Normal file
@@ -0,0 +1,56 @@
|
||||
/*==============================================================================
|
||||
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)
|
||||
==============================================================================*/
|
||||
#if !BOOST_PHOENIX_IS_ITERATING
|
||||
|
||||
#ifndef BOOST_PHOENIX_OPERATOR_DETAIL_MEM_FUN_PTR_EVAL_RESULT_OF_HPP
|
||||
#define BOOST_PHOENIX_OPERATOR_DETAIL_MEM_FUN_PTR_EVAL_RESULT_OF_HPP
|
||||
|
||||
#define BOOST_PHOENIX_MEM_FUN_PTR_EVAL_RESULT_OF_CHILD(Z, N, D) \
|
||||
typedef \
|
||||
typename \
|
||||
evaluator::impl< \
|
||||
BOOST_PP_CAT(A, N) \
|
||||
, Context \
|
||||
, int \
|
||||
>::result_type \
|
||||
BOOST_PP_CAT(child, N); \
|
||||
/**/
|
||||
|
||||
#define BOOST_PHOENIX_ITERATION_PARAMS \
|
||||
(3, (2, BOOST_PHOENIX_LIMIT, \
|
||||
<boost/phoenix/operator/detail/mem_fun_ptr_eval_result_of.hpp>))
|
||||
#include BOOST_PHOENIX_ITERATE()
|
||||
|
||||
#undef BOOST_PHOENIX_MEM_FUN_PTR_EVAL_RESULT_OF_CHILD
|
||||
|
||||
#endif
|
||||
|
||||
#else
|
||||
|
||||
template <typename Context, BOOST_PHOENIX_typename_A>
|
||||
struct mem_fun_ptr_eval<Context, BOOST_PHOENIX_A>
|
||||
{
|
||||
BOOST_PP_REPEAT(
|
||||
BOOST_PHOENIX_ITERATION
|
||||
, BOOST_PHOENIX_MEM_FUN_PTR_EVAL_RESULT_OF_CHILD
|
||||
, _
|
||||
)
|
||||
|
||||
typedef
|
||||
typename boost::result_of<
|
||||
child1(
|
||||
BOOST_PP_ENUM_SHIFTED_PARAMS(
|
||||
BOOST_PHOENIX_ITERATION
|
||||
, child
|
||||
)
|
||||
)
|
||||
>::type
|
||||
type;
|
||||
};
|
||||
|
||||
#endif
|
||||
94
test/external/boost/phoenix/operator/detail/mem_fun_ptr_gen.hpp
vendored
Normal file
94
test/external/boost/phoenix/operator/detail/mem_fun_ptr_gen.hpp
vendored
Normal file
@@ -0,0 +1,94 @@
|
||||
|
||||
#if !BOOST_PHOENIX_IS_ITERATING
|
||||
|
||||
#ifndef BOOST_PHOENIX_OPERATOR_MEMBER_DETAIL_MEM_FUN_PTR_GEN_HPP
|
||||
#define BOOST_PHOENIX_OPERATOR_MEMBER_DETAIL_MEM_FUN_PTR_GEN_HPP
|
||||
|
||||
#include <boost/phoenix/core/limits.hpp>
|
||||
#include <boost/phoenix/support/iterate.hpp>
|
||||
#include <boost/phoenix/core/expression.hpp>
|
||||
|
||||
#if !defined(BOOST_PHOENIX_DONT_USE_PREPROCESSED_FILES)
|
||||
|
||||
#include <boost/phoenix/operator/detail/preprocessed/mem_fun_ptr_gen.hpp>
|
||||
|
||||
#else
|
||||
|
||||
#if defined(__WAVE__) && defined(BOOST_PHOENIX_CREATE_PREPROCESSED_FILES)
|
||||
#pragma wave option(preserve: 2, line: 0, output: "preprocessed/mem_fun_ptr_gen_" BOOST_PHOENIX_LIMIT_STR ".hpp")
|
||||
#endif
|
||||
|
||||
/*==============================================================================
|
||||
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)
|
||||
==============================================================================*/
|
||||
|
||||
#if defined(__WAVE__) && defined(BOOST_PHOENIX_CREATE_PREPROCESSED_FILES)
|
||||
#pragma wave option(preserve: 1)
|
||||
#endif
|
||||
|
||||
BOOST_PHOENIX_DEFINE_EXPRESSION_VARARG(
|
||||
(boost)(phoenix)(mem_fun_ptr)
|
||||
, (meta_grammar)
|
||||
(meta_grammar)
|
||||
, BOOST_PHOENIX_LIMIT
|
||||
)
|
||||
|
||||
namespace boost { namespace phoenix
|
||||
{
|
||||
namespace detail {
|
||||
template <typename Object, typename MemPtr>
|
||||
struct mem_fun_ptr_gen
|
||||
{
|
||||
mem_fun_ptr_gen(Object const& obj, MemPtr ptr)
|
||||
: obj(obj)
|
||||
, ptr(ptr)
|
||||
{}
|
||||
|
||||
typename phoenix::expression::mem_fun_ptr<Object, MemPtr>::type const
|
||||
operator()() const
|
||||
{
|
||||
return phoenix::expression::mem_fun_ptr<Object, MemPtr>::make(obj, ptr);
|
||||
}
|
||||
|
||||
#define BOOST_PHOENIX_ITERATION_PARAMS \
|
||||
(3, (1, BOOST_PHOENIX_MEMBER_LIMIT, \
|
||||
<boost/phoenix/operator/detail/mem_fun_ptr_gen.hpp>)) \
|
||||
|
||||
#include BOOST_PHOENIX_ITERATE()
|
||||
|
||||
Object const& obj;
|
||||
MemPtr ptr;
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
}}
|
||||
|
||||
#if defined(__WAVE__) && defined(BOOST_PHOENIX_CREATE_PREPROCESSED_FILES)
|
||||
#pragma wave option(output: null)
|
||||
#endif
|
||||
|
||||
#endif // BOOST_PHOENIX_DONT_USE_PREPROCESSED_FILES
|
||||
|
||||
#endif
|
||||
|
||||
#else
|
||||
template <BOOST_PHOENIX_typename_A>
|
||||
typename phoenix::expression::mem_fun_ptr<
|
||||
Object
|
||||
, MemPtr
|
||||
, BOOST_PHOENIX_A
|
||||
>::type const
|
||||
operator()(BOOST_PHOENIX_A_const_ref_a) const
|
||||
{
|
||||
return phoenix::expression::mem_fun_ptr<
|
||||
Object
|
||||
, MemPtr
|
||||
, BOOST_PHOENIX_A
|
||||
>::make(obj, ptr, BOOST_PHOENIX_a);
|
||||
}
|
||||
#endif
|
||||
25
test/external/boost/phoenix/operator/detail/preprocessed/mem_fun_ptr_gen.hpp
vendored
Normal file
25
test/external/boost/phoenix/operator/detail/preprocessed/mem_fun_ptr_gen.hpp
vendored
Normal file
@@ -0,0 +1,25 @@
|
||||
/*==============================================================================
|
||||
Copyright (c) 2011 Hartmut Kaiser
|
||||
|
||||
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_PHOENIX_PREPROCESSED_MEM_FUN_PTR_GEN)
|
||||
#define BOOST_PHOENIX_PREPROCESSED_MEM_FUN_PTR_GEN
|
||||
|
||||
#if BOOST_PHOENIX_LIMIT <= 10
|
||||
#include <boost/phoenix/operator/detail/preprocessed/mem_fun_ptr_gen_10.hpp>
|
||||
#elif BOOST_PHOENIX_LIMIT <= 20
|
||||
#include <boost/phoenix/operator/detail/preprocessed/mem_fun_ptr_gen_20.hpp>
|
||||
#elif BOOST_PHOENIX_LIMIT <= 30
|
||||
#include <boost/phoenix/operator/detail/preprocessed/mem_fun_ptr_gen_30.hpp>
|
||||
#elif BOOST_PHOENIX_LIMIT <= 40
|
||||
#include <boost/phoenix/operator/detail/preprocessed/mem_fun_ptr_gen_40.hpp>
|
||||
#elif BOOST_PHOENIX_LIMIT <= 50
|
||||
#include <boost/phoenix/operator/detail/preprocessed/mem_fun_ptr_gen_50.hpp>
|
||||
#else
|
||||
#error "BOOST_PHOENIX_LIMIT out of bounds for preprocessed headers"
|
||||
#endif
|
||||
|
||||
#endif
|
||||
217
test/external/boost/phoenix/operator/detail/preprocessed/mem_fun_ptr_gen_10.hpp
vendored
Normal file
217
test/external/boost/phoenix/operator/detail/preprocessed/mem_fun_ptr_gen_10.hpp
vendored
Normal file
File diff suppressed because one or more lines are too long
427
test/external/boost/phoenix/operator/detail/preprocessed/mem_fun_ptr_gen_20.hpp
vendored
Normal file
427
test/external/boost/phoenix/operator/detail/preprocessed/mem_fun_ptr_gen_20.hpp
vendored
Normal file
File diff suppressed because one or more lines are too long
637
test/external/boost/phoenix/operator/detail/preprocessed/mem_fun_ptr_gen_30.hpp
vendored
Normal file
637
test/external/boost/phoenix/operator/detail/preprocessed/mem_fun_ptr_gen_30.hpp
vendored
Normal file
File diff suppressed because one or more lines are too long
847
test/external/boost/phoenix/operator/detail/preprocessed/mem_fun_ptr_gen_40.hpp
vendored
Normal file
847
test/external/boost/phoenix/operator/detail/preprocessed/mem_fun_ptr_gen_40.hpp
vendored
Normal file
File diff suppressed because one or more lines are too long
1057
test/external/boost/phoenix/operator/detail/preprocessed/mem_fun_ptr_gen_50.hpp
vendored
Normal file
1057
test/external/boost/phoenix/operator/detail/preprocessed/mem_fun_ptr_gen_50.hpp
vendored
Normal file
File diff suppressed because one or more lines are too long
17
test/external/boost/phoenix/operator/detail/undef_operator.hpp
vendored
Normal file
17
test/external/boost/phoenix/operator/detail/undef_operator.hpp
vendored
Normal file
@@ -0,0 +1,17 @@
|
||||
/*==============================================================================
|
||||
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)
|
||||
==============================================================================*/
|
||||
|
||||
#undef BOOST_PHOENIX_UNARY_RULE
|
||||
#undef BOOST_PHOENIX_UNARY_FUNCTIONAL
|
||||
#undef BOOST_PHOENIX_BINARY_RULE
|
||||
#undef BOOST_PHOENIX_BINARY_FUNCTIONAL
|
||||
#undef BOOST_PHOENIX_UNARY_EXPRESSION
|
||||
#undef BOOST_PHOENIX_BINARY_EXPRESSION
|
||||
#undef BOOST_PHOENIX_GRAMMAR
|
||||
#undef BOOST_PHOENIX_UNARY_OPERATORS
|
||||
#undef BOOST_PHOENIX_BINARY_OPERATORS
|
||||
#undef BOOST_PHOENIX_DEFINE_OPERATOR_HPP
|
||||
Reference in New Issue
Block a user