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

Merge branch 'release-3.1.0'

This commit is contained in:
John Fletcher
2014-12-23 12:43:25 +00:00
9 changed files with 51 additions and 15 deletions

View File

@@ -43,6 +43,17 @@ Added test bug5875 - test withdrawn for further checking.
CHANGELOG
- DEVELOP
- V3.1.0
- Bump version number to 3.1.0 in version.hpp and branch for release.
- Add more cases to cmath test to test failures on some compilers.
- #7165 and #7166 Change tests to phoenix/core.hpp to reduce compiler load
- Testing fix for failures of tests as follows
bind_member_function_tests, bind_mf2_test, bind_test
with compilers including gcc 4.9.0 and clang 3.5
This involves use of boost::lazy_disable_if to resolve
the choice of overloaded bind functions in
bind/bind_member_variable.hpp
- #9742 New tests for_each and for_test to attempt to resolve this.
- V3.0.6

View File

@@ -1,13 +1,15 @@
/*=============================================================================
Copyright (c) 2001-2007 Joel de Guzman
Copyright (c) 2014 John Fletcher
Distributed under the Boost Software License, Version 1.0. (See accompanying
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_BIND_BIND_MEMBER_VARIABLE_HPP
#define PHOENIX_BIND_BIND_MEMBER_VARIABLE_HPP
#include <boost/utility/enable_if.hpp>
#include <boost/phoenix/core/expression.hpp>
#include <boost/phoenix/core/detail/function_eval.hpp>
#include <boost/phoenix/bind/detail/member_variable.hpp>
@@ -16,11 +18,12 @@ namespace boost { namespace phoenix
{
template <typename RT, typename ClassT, typename ClassA>
inline
typename
detail::expression::function_eval<
typename boost::lazy_disable_if<
boost::is_member_function_pointer<RT (ClassT::*)>,
typename detail::expression::function_eval<
detail::member_variable<RT, RT ClassT::*>
, ClassA
>::type const
, ClassA >//::type
>::type const
bind(RT ClassT::*mp, ClassA const& obj)
{
typedef detail::member_variable<RT, RT ClassT::*> mp_type;
@@ -31,10 +34,11 @@ namespace boost { namespace phoenix
template <typename RT, typename ClassT>
inline
typename
detail::expression::function_eval<
typename boost::lazy_disable_if<
boost::is_member_function_pointer<RT (ClassT::*)>,
typename detail::expression::function_eval<
detail::member_variable<RT, RT ClassT::*>
, ClassT
, ClassT >//::type
>::type const
bind(RT ClassT::*mp, ClassT& obj)
{

View File

@@ -42,6 +42,7 @@ namespace boost { namespace phoenix
using proto::exprns_::operator-=;
using proto::exprns_::operator*=;
using proto::exprns_::operator/=;
using proto::exprns_::operator%=;
using proto::exprns_::operator+;
using proto::exprns_::operator-;
using proto::exprns_::operator*;

View File

@@ -14,7 +14,7 @@
// This is the version of the library
//
///////////////////////////////////////////////////////////////////////////////
#define BOOST_PHOENIX_VERSION 0x3006 // 3.0.6
#define BOOST_PHOENIX_VERSION 0x3100 // 3.1.0
// boost/predef is not in Boost before 1.55.0
#include <boost/version.hpp>
@@ -26,7 +26,7 @@
#endif
#ifdef BOOST_PHOENIX_HAVE_BOOST_PREDEF
#define BOOST_PHOENIX_VERSION_NUMBER = BOOST_VERSION_NUMBER(3,0,6)
#define BOOST_PHOENIX_VERSION_NUMBER = BOOST_VERSION_NUMBER(3,1,0)
#endif
#endif

17
meta/libraries.json Normal file
View File

@@ -0,0 +1,17 @@
{
"key": "phoenix",
"name": "Phoenix",
"authors": [
"Joel de Guzman",
"Dan Marsden",
"Thomas Heller"
],
"description": "Define small unnamed function objects at the actual call site, and more.",
"category": [
"Function-objects"
],
"maintainers": [
"Joel de Guzman <joel -at- boost-consulting.com>",
"Thomas Heller <thom.heller -at- gmail.com>"
]
}

View File

@@ -19,7 +19,7 @@
#include BOOST_HASH_MAP_HEADER
#define BOOST_PHOENIX_HAS_HASH
#define BOOST_PHOENIX_HASH_NAMESPACE BOOST_STD_EXTENSION_NAMESPACE
#elif defined(BOOST_DINKUMWARE_STDLIB)
#elif defined(BOOST_DINKUMWARE_STDLIB) && (BOOST_DINKUMWARE_STDLIB < 610)
#include <hash_set>
#include <hash_map>
#define BOOST_PHOENIX_HAS_HASH

View File

@@ -8,7 +8,7 @@
==============================================================================*/
#define BOOST_PHOENIX_LIMIT 20
#include <boost/phoenix.hpp>
#include <boost/phoenix/core.hpp>
int main()
{

View File

@@ -9,7 +9,7 @@
#define BOOST_PROTO_MAX_ARITY 10
#define BOOST_PHOENIX_LIMIT 20
#include <boost/phoenix.hpp>
#include <boost/phoenix/core.hpp>
int main()
{

View File

@@ -18,9 +18,12 @@ int main()
using namespace boost::phoenix::arg_names;
boost::function<bool(double, double)> f = fabs(_1 - _2) < eps;
double x = boost::phoenix::pow(_1,_2)(2.,0.);
double x = boost::phoenix::pow(_1,_2)(2.,2.);
double y = boost::phoenix::atan2(_1,_2)(1.,1.);
double z = boost::phoenix::tan(_1)(y);
BOOST_TEST(f(0.0, 0 * eps));
BOOST_TEST(!f(0.0, eps));
BOOST_TEST(fabs(x-1.) < eps );
BOOST_TEST(fabs(x-4.) < eps );
BOOST_TEST(fabs(z-1.) < eps );
}