Compare commits

..

1 Commits

Author SHA1 Message Date
Ronald Garcia
7981ef509c Created a branch from trunk
[SVN r38959]
2007-08-26 05:34:35 +00:00
7 changed files with 14 additions and 12 deletions

View File

@@ -11,7 +11,6 @@
#include <boost/parameter/aux_/default.hpp>
#include <boost/parameter/aux_/parameter_requirements.hpp>
#include <boost/parameter/aux_/yesno.hpp>
#include <boost/parameter/aux_/maybe.hpp>
#include <boost/parameter/config.hpp>
#include <boost/mpl/apply.hpp>
@@ -159,6 +158,10 @@ no_tag operator*(empty_arg_list, KW*);
template <class KW, class T>
struct tagged_argument;
// Forward declaration for arg_list::operator[], with
// IS_XXX helper
struct maybe_base;
template <class T>
struct is_maybe
: is_base_and_derived<maybe_base, T>

View File

@@ -21,7 +21,7 @@
#define BOOST_PARAMETER_FUN_TEMPLATE_HEAD0(n)
#if ! defined(BOOST_NO_SFINAE) && ! BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x592))
#ifndef BOOST_NO_SFINAE
# define BOOST_PARAMETER_MATCH_TYPE(n, param) \
BOOST_PP_EXPR_IF(n, typename) param::match \

View File

@@ -16,8 +16,7 @@
# include <boost/mpl/placeholders.hpp>
# if !defined(BOOST_NO_SFINAE) \
&& !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \
&& !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x592))
&& !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
# include <boost/utility/enable_if.hpp>
# include <boost/mpl/lambda.hpp>

View File

@@ -725,7 +725,7 @@ struct parameters
// ::type).
#if ! defined(BOOST_NO_SFINAE) && ! BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x592))
#ifndef BOOST_NO_SFINAE
// If NamedList satisfies the PS0, PS1, ..., this is a
// metafunction returning parameters. Otherwise it
// has no nested ::type.
@@ -775,7 +775,7 @@ struct parameters
#endif
>
struct match
# if ! defined(BOOST_NO_SFINAE) && ! BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x592))
# ifndef BOOST_NO_SFINAE
: match_base<
typename aux::make_arg_list<
typename BOOST_PARAMETER_build_arg_list(

View File

@@ -38,7 +38,7 @@
namespace boost { namespace parameter { namespace aux {
# if ! defined(BOOST_NO_SFINAE) && ! BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x592))
# ifndef BOOST_NO_SFINAE
// Given Match, which is "void x" where x is an argument matching
// criterion, extract a corresponding MPL predicate.
@@ -353,7 +353,7 @@ struct funptr_predicate<void**>
template<BOOST_PP_ENUM_PARAMS_Z(z, n, class ParameterArgumentType)>
/**/
# if ! defined(BOOST_NO_SFINAE) && ! BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x592))
# ifndef BOOST_NO_SFINAE
# define BOOST_PARAMETER_FUNCTION_FWD_MATCH_Z(z, name, parameters, n) \
, typename boost::parameter::aux::match< \
parameters, BOOST_PP_ENUM_PARAMS(n, ParameterArgumentType) \

View File

@@ -453,7 +453,7 @@ int main()
, name = S("foo")
);
#if ! defined(BOOST_NO_SFINAE) && ! BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x592))
#ifndef BOOST_NO_SFINAE
assert(sfinae("foo") == 1);
assert(sfinae(1) == 0);

View File

@@ -9,7 +9,7 @@
#include <string>
#include <boost/type_traits/is_convertible.hpp>
#if ! defined(BOOST_NO_SFINAE) && ! BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x592))
#ifndef BOOST_NO_SFINAE
# include <boost/utility/enable_if.hpp>
# include <boost/type_traits/is_same.hpp>
#endif
@@ -70,7 +70,7 @@ namespace test
f_impl(args(a0, a1));
}
#if ! defined(BOOST_NO_SFINAE) && ! BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x592))
#ifndef BOOST_NO_SFINAE
// On compilers that actually support SFINAE, add another overload
// that is an equally good match and can only be in the overload set
// when the others are not. This tests that the SFINAE is actually
@@ -96,7 +96,7 @@ int main()
f("foo", 3.f);
f(value = 3.f, name = "foo");
#if ! defined(BOOST_NO_SFINAE) && ! BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x592))
#ifndef BOOST_NO_SFINAE
BOOST_TEST(f(3, 4) == 0);
#endif
return boost::report_errors();