Compare commits

...

5 Commits

Author SHA1 Message Date
f66562676a 1.36.0
[SVN r48100]
2008-08-12 12:44:50 +00:00
6f100429eb stages trunk version for boost 1.35
[SVN r43684]
2008-03-17 21:42:41 +00:00
51aca6c98c Rebuild a lot of documentation.
[SVN r43650]
2008-03-16 11:38:32 +00:00
291304b704 Full merge from trunk at revision 41356 of entire boost-root tree.
[SVN r41370]
2007-11-25 18:38:02 +00:00
e04f655cc7 Full merge from trunk at revision 41356 of entire boost-root tree.
[SVN r41369]
2007-11-25 18:07:19 +00:00
36 changed files with 171 additions and 145 deletions

View File

@ -2,7 +2,7 @@
# (C) Copyright Tobias Schwinger
#
# Use modification and distribution are subject to the boost Software License,
# Version 1.0. (See http:/\/www.boost.org/LICENSE_1_0.txt).
# Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt).
# Generates preprocessed files with wave.
@ -13,18 +13,24 @@ rule wave
actions wave
{
$(BOOST_ROOT)/dist/bin/wave -S$(BOOST_ROOT) $(>) -o $(<)
../../../dist/bin/wave -S../../.. $(>) -o $(<)
}
make $(BOOST_ROOT)/libs/function_types/build/timestamps/arity_loops
make ../../../libs/function_types/build/timestamps/arity_loops
: preprocess_arity_loops.cpp : wave
;
make $(BOOST_ROOT)/libs/function_types/build/timestamps/encoding
explicit ../../../libs/function_types/build/timestamps/arity_loops ;
make ../../../libs/function_types/build/timestamps/encoding
: preprocess_encoding.cpp : wave
;
make $(BOOST_ROOT)/libs/function_types/build/timestamps/cc_names
explicit ../../../libs/function_types/build/timestamps/encoding ;
make ../../../libs/function_types/build/timestamps/cc_names
: preprocess_cc_names.cpp : wave
;
explicit ../../../libs/function_types/build/timestamps/cc_names ;

View File

@ -2,7 +2,7 @@
// (C) Copyright Tobias Schwinger
//
// Use modification and distribution are subject to the boost Software License,
// Version 1.0. (See http:/\/www.boost.org/LICENSE_1_0.txt).
// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt).
//------------------------------------------------------------------------------

View File

@ -2,7 +2,7 @@
// (C) Copyright Tobias Schwinger
//
// Use modification and distribution are subject to the boost Software License,
// Version 1.0. (See http:/\/www.boost.org/LICENSE_1_0.txt).
// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt).
//------------------------------------------------------------------------------

View File

@ -2,7 +2,7 @@
// (C) Copyright Tobias Schwinger
//
// Use modification and distribution are subject to the boost Software License,
// Version 1.0. (See http:/\/www.boost.org/LICENSE_1_0.txt).
// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt).
//------------------------------------------------------------------------------

View File

@ -1,2 +1 @@
timestamp file

View File

@ -2,7 +2,7 @@
# (C) Copyright Tobias Schwinger
#
# Use modification and distribution are subject to the boost Software License,
# Version 1.0. (See http:/\/www.boost.org/LICENSE_1_0.txt).
# Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt).
using quickbook ;
@ -13,6 +13,7 @@ boostbook standalone
:
<xsl:param>boost.root=../../../..
<xsl:param>boost.libraries=../../../libraries.htm
<xsl:param>html.stylesheet=../../../../doc/html/boostbook.css
<xsl:param>chunk.first.sections=1
<xsl:param>chunk.section.depth=2
<xsl:param>generate.section.toc.level=2

View File

@ -1099,6 +1099,7 @@ library in one or the other way:
* Jonathan Turkanis
* Pavel Vozenilek
* Steven Watanabe
* K. Noel Belcourt
[endsect]

View File

@ -2,7 +2,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title> About Tag Types</title>
<link rel="stylesheet" href="../boostbook.css" type="text/css">
<link rel="stylesheet" href="../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<link rel="start" href="../index.html" title="Chapter<65>1.<2E>Boost.FunctionTypes 2.5">
<link rel="up" href="../index.html" title="Chapter<65>1.<2E>Boost.FunctionTypes 2.5">

View File

@ -2,7 +2,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title> Acknowledgements</title>
<link rel="stylesheet" href="../boostbook.css" type="text/css">
<link rel="stylesheet" href="../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<link rel="start" href="../index.html" title="Chapter<65>1.<2E>Boost.FunctionTypes 2.5">
<link rel="up" href="../index.html" title="Chapter<65>1.<2E>Boost.FunctionTypes 2.5">
@ -71,6 +71,9 @@
<li>
Steven Watanabe
</li>
<li>
K. Noel Belcourt
</li>
</ul></div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>

View File

@ -2,7 +2,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title> Introduction</title>
<link rel="stylesheet" href="../boostbook.css" type="text/css">
<link rel="stylesheet" href="../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<link rel="start" href="../index.html" title="Chapter<65>1.<2E>Boost.FunctionTypes 2.5">
<link rel="up" href="../index.html" title="Chapter<65>1.<2E>Boost.FunctionTypes 2.5">

View File

@ -2,7 +2,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title> Rationale</title>
<link rel="stylesheet" href="../boostbook.css" type="text/css">
<link rel="stylesheet" href="../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<link rel="start" href="../index.html" title="Chapter<65>1.<2E>Boost.FunctionTypes 2.5">
<link rel="up" href="../index.html" title="Chapter<65>1.<2E>Boost.FunctionTypes 2.5">
@ -26,7 +26,7 @@
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="boost_functiontypes.rationale"></a><a href="rationale.html" title=" Rationale"> Rationale</a></h2></div></div></div>
<a name="boost_functiontypes.rationale.error_handling_rationale"></a><h3>
<a name="id932131"></a>
<a name="id932133"></a>
<a href="rationale.html#boost_functiontypes.rationale.error_handling_rationale">Error
handling rationale</a>
</h3>
@ -41,7 +41,7 @@
can be spotted easily.
</p>
<a name="boost_functiontypes.rationale.why_mpl_sequences_"></a><h3>
<a name="id932169"></a>
<a name="id932170"></a>
<a href="rationale.html#boost_functiontypes.rationale.why_mpl_sequences_">Why MPL Sequences?</a>
</h3>
<p>
@ -54,7 +54,7 @@
so another reason is interoperability.
</p>
<a name="boost_functiontypes.rationale.pointer_to_member_object_types"></a><h3>
<a name="id932226"></a>
<a name="id932228"></a>
<a href="rationale.html#boost_functiontypes.rationale.pointer_to_member_object_types">Pointer
to member object types</a>
</h3>
@ -63,7 +63,7 @@
functionals.
</p>
<a name="boost_functiontypes.rationale.the_classtransform_template_parameter"></a><h3>
<a name="id932258"></a>
<a name="id932259"></a>
<a href="rationale.html#boost_functiontypes.rationale.the_classtransform_template_parameter">The
ClassTransform template parameter</a>
</h3>
@ -80,7 +80,7 @@
all parameters uniformly.
</p>
<a name="boost_functiontypes.rationale.why_tag_types_"></a><h3>
<a name="id932313"></a>
<a name="id932315"></a>
<a href="rationale.html#boost_functiontypes.rationale.why_tag_types_">Why tag types?</a>
</h3>
<p>
@ -99,7 +99,7 @@
with older compilers.
</p>
<a name="boost_functiontypes.rationale.is_it_safe_to_have_the_synthesis_templates_take_a_callable__builtin_type_or_an_mpl_sequence_as_the_first_template_argument_"></a><h3>
<a name="id932364"></a>
<a name="id932365"></a>
<a href="rationale.html#boost_functiontypes.rationale.is_it_safe_to_have_the_synthesis_templates_take_a_callable__builtin_type_or_an_mpl_sequence_as_the_first_template_argument_">Is
it safe to have the synthesis templates take a callable builtin type or an
MPL sequence as the first template argument?</a>
@ -114,7 +114,7 @@
type a sequence have been included, which can easily violate the ODR.
</p>
<a name="boost_functiontypes.rationale.why_does_the_hidden__literal_this__literal__parameter_count_for_the__function_arity_of_member_functions_"></a><h3>
<a name="id932412"></a>
<a name="id932413"></a>
<a href="rationale.html#boost_functiontypes.rationale.why_does_the_hidden__literal_this__literal__parameter_count_for_the__function_arity_of_member_functions_">Why
does the hidden <code class="literal">this</code> parameter count for the function arity
of member functions?</a>
@ -128,7 +128,7 @@
function_arity">function_arity</a><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">value</span>
</pre>
<a name="boost_functiontypes.rationale.why_ignore_top_level_cv_qualifiers_on_pointers_"></a><h3>
<a name="id932539"></a>
<a name="id932540"></a>
<a href="rationale.html#boost_functiontypes.rationale.why_ignore_top_level_cv_qualifiers_on_pointers_">Why
ignore top-level cv-qualifiers on pointers?</a>
</h3>

View File

@ -2,7 +2,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title> Reference</title>
<link rel="stylesheet" href="../boostbook.css" type="text/css">
<link rel="stylesheet" href="../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<link rel="start" href="../index.html" title="Chapter<65>1.<2E>Boost.FunctionTypes 2.5">
<link rel="up" href="../index.html" title="Chapter<65>1.<2E>Boost.FunctionTypes 2.5">

View File

@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title> Class
templates for type classification</title>
<link rel="stylesheet" href="../../boostbook.css" type="text/css">
<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>Boost.FunctionTypes 2.5">
<link rel="up" href="../reference.html" title=" Reference">

View File

@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title> Class templates
for type decomposition</title>
<link rel="stylesheet" href="../../boostbook.css" type="text/css">
<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>Boost.FunctionTypes 2.5">
<link rel="up" href="../reference.html" title=" Reference">

View File

@ -2,7 +2,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title> Macros</title>
<link rel="stylesheet" href="../../boostbook.css" type="text/css">
<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>Boost.FunctionTypes 2.5">
<link rel="up" href="../reference.html" title=" Reference">

View File

@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title> Class templates
for type synthesis</title>
<link rel="stylesheet" href="../../boostbook.css" type="text/css">
<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>Boost.FunctionTypes 2.5">
<link rel="up" href="../reference.html" title=" Reference">

View File

@ -2,7 +2,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title> Tag Types</title>
<link rel="stylesheet" href="../../boostbook.css" type="text/css">
<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>Boost.FunctionTypes 2.5">
<link rel="up" href="../reference.html" title=" Reference">

View File

@ -2,7 +2,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title> Use Cases</title>
<link rel="stylesheet" href="../boostbook.css" type="text/css">
<link rel="stylesheet" href="../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<link rel="start" href="../index.html" title="Chapter<65>1.<2E>Boost.FunctionTypes 2.5">
<link rel="up" href="../index.html" title="Chapter<65>1.<2E>Boost.FunctionTypes 2.5">

View File

@ -2,7 +2,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Chapter<EFBFBD>1.<2E>Boost.FunctionTypes 2.5</title>
<link rel="stylesheet" href="boostbook.css" type="text/css">
<link rel="stylesheet" href="../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<link rel="start" href="index.html" title="Chapter<65>1.<2E>Boost.FunctionTypes 2.5">
<link rel="next" href="boost_functiontypes/introduction.html" title=" Introduction">
@ -27,7 +27,7 @@
</h3></div></div>
<div><p class="copyright">Copyright <20> 2004 -2007 Tobias Schwinger</p></div>
<div><div class="legalnotice">
<a name="id905079"></a><p>
<a name="id905080"></a><p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
@ -46,7 +46,7 @@
</div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"><p><small>Last revised: May 13, 2007 at 13:12:48 GMT</small></p></td>
<td align="left"><p><small>Last revised: November 05, 2007 at 18:24:58 +0100</small></p></td>
<td align="right"><small></small></td>
</tr></table>
<hr>

View File

@ -101,7 +101,11 @@ int main()
setup_test(v);
t.restart();
#if !BOOST_WORKAROUND(BOOST_MSVC, < 1400)
do_test(v, BOOST_EXAMPLE_FAST_MEM_FN(& test::id));
#else // MSVC<8 does not like the implementation of the deduction macro:
do_test(v, ::example::fast_mem_fn< int (test::*)() const, & test::id >());
#endif
time1 = t.elapsed();
std::cout << "fast_mem_fn | " << time1 << std::endl;

View File

@ -8,6 +8,7 @@
// See interface.hpp in this directory for details.
#include <iostream>
#include <typeinfo>
#include "interface.hpp"

View File

@ -133,8 +133,9 @@ namespace example
void apply(Function func, token_parser & parser, Args const & args)
{
typedef typename mpl::deref<From>::type arg_type;
typedef typename mpl::next<From>::type next_iter_type;
invoker<Function, typename mpl::next<From>::type, To>::apply
interpreter::invoker<Function, next_iter_type, To>::apply
( func, parser, fusion::push_back(args, parser.get<arg_type>()) );
}
};

View File

@ -120,13 +120,14 @@ namespace boost
template
< typename Components
, typename IfTagged
, typename ThenTag
, typename ThenTag
, typename DefaultBase = components_non_func_base
>
struct retagged_if
: mpl::if_
< detail::represents_impl<Components, IfTagged>
, detail::changed_tag<Components,IfTagged,ThenTag>
, components_non_func_base
, DefaultBase
>::type
{ };
@ -213,14 +214,71 @@ namespace boost
: components_impl<T,L>
{ };
#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x565))
template<typename T, class C>
struct member_obj_ptr_result
{ typedef T & type; };
template<typename T, class C>
struct member_obj_ptr_result<T, C const>
{ typedef T const & type; };
template<typename T, class C>
struct member_obj_ptr_result<T, C volatile>
{ typedef T volatile & type; };
template<typename T, class C>
struct member_obj_ptr_result<T, C const volatile>
{ typedef T const volatile & type; };
template<typename T, class C>
struct member_obj_ptr_result<T &, C>
{ typedef T & type; };
template<typename T, class C>
struct member_obj_ptr_result<T &, C const>
{ typedef T & type; };
template<typename T, class C>
struct member_obj_ptr_result<T &, C volatile>
{ typedef T & type; };
template<typename T, class C>
struct member_obj_ptr_result<T &, C const volatile>
{ typedef T & type; };
template<typename T, class C, typename L>
struct member_obj_ptr_components
: member_object_pointer_base
{
typedef function_types::components<T C::*, L> type;
typedef components_mpl_sequence_tag tag;
typedef mpl::integral_c<std::size_t,1> function_arity;
typedef mpl::vector2< typename detail::member_obj_ptr_result<T,C>::type,
typename detail::class_transform<C,L>::type > types;
};
#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x565))
# define BOOST_FT_variations BOOST_FT_pointer|BOOST_FT_member_pointer
template<typename T, class C, typename L>
struct components_impl<T C::*, L>
: member_obj_ptr_components<T,C,L>
{ };
#else
# define BOOST_FT_variations BOOST_FT_pointer
// This workaround removes the member pointer from the type to allow
// detection of member function pointers with BCC.
template<typename T, typename C, typename L>
struct components_impl<T C::*, L>
: detail::retagged_if
< detail::components_impl<typename boost::remove_cv<T>::type *, L>
, pointer_tag, /* --> */ member_pointer_tag >
, pointer_tag, /* --> */ member_function_pointer_tag
, member_obj_ptr_components<T,C,L> >
{ };
// BCC lets us test the cv-qualification of a function type by template
@ -349,65 +407,13 @@ namespace boost
struct components_bcc
: mpl::if_
< detail::represents_impl< detail::components_impl<T,L>
, member_pointer_tag>
, member_function_pointer_tag>
, detail::mfp_components<detail::components_impl<T,L>,T,OrigT,L>
, detail::components_impl<T,L>
>::type
{ };
// TODO: add data member support for Borland
# define BOOST_FT_variations BOOST_FT_pointer
#else // end of BORLAND WORKAROUND
# define BOOST_FT_variations BOOST_FT_pointer|BOOST_FT_member_pointer
template<typename T, class C>
struct member_obj_ptr_result
{ typedef T & type; };
template<typename T, class C>
struct member_obj_ptr_result<T, C const>
{ typedef T const & type; };
template<typename T, class C>
struct member_obj_ptr_result<T, C volatile>
{ typedef T volatile & type; };
template<typename T, class C>
struct member_obj_ptr_result<T, C const volatile>
{ typedef T const volatile & type; };
template<typename T, class C>
struct member_obj_ptr_result<T &, C>
{ typedef T & type; };
template<typename T, class C>
struct member_obj_ptr_result<T &, C const>
{ typedef T & type; };
template<typename T, class C>
struct member_obj_ptr_result<T &, C volatile>
{ typedef T & type; };
template<typename T, class C>
struct member_obj_ptr_result<T &, C const volatile>
{ typedef T & type; };
template<typename T, class C, typename L>
struct components_impl<T C::*, L>
: member_object_pointer_base
{
typedef function_types::components<T C::*, L> type;
typedef components_mpl_sequence_tag tag;
typedef mpl::integral_c<std::size_t,1> function_arity;
typedef mpl::vector2< typename detail::member_obj_ptr_result<T,C>::type,
typename detail::class_transform<C,L>::type > types;
};
#endif
#endif // end of BORLAND WORKAROUND
#define BOOST_FT_al_path boost/function_types/detail/components_impl
#include <boost/function_types/detail/pp_loop.hpp>

View File

@ -12,7 +12,8 @@
#include <cstddef>
#include <boost/detail/workaround.hpp>
#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \
|| BOOST_WORKAROUND(__BORLANDC__, <= 0x582)
# include <boost/type_traits/remove_cv.hpp>
# include <boost/type_traits/remove_pointer.hpp>
# include <boost/type_traits/remove_reference.hpp>
@ -22,10 +23,8 @@
namespace boost { namespace function_types { namespace detail {
namespace ft = boost::function_types;
#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
#if ! (defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \
|| BOOST_WORKAROUND(__BORLANDC__, <= 0x582))
template<typename T> struct cv_traits
{ typedef non_cv tag; typedef T type; };
@ -109,12 +108,13 @@ struct cv_code
{
static T _t;
BOOST_STATIC_CONSTANT(std::size_t, value =
sizeof(ft::detail::switch_cv(ft::detail::ref_to_ptr(_t) ) ));
sizeof(::boost::function_types::detail::switch_cv(
::boost::function_types::detail::ref_to_ptr(_t) ) ));
};
template<typename T> struct cv_traits
{
typedef typename ft::detail::cv_tag_impl<
typedef typename boost::function_types::detail::cv_tag_impl<
::boost::function_types::detail::cv_code<T>::value >::type
tag;

View File

@ -81,14 +81,16 @@ BOOST_PP_EXPAND(#) include BOOST_FT_AL_PREPROCESSED
# include <boost/preprocessor/repetition/enum_trailing_params.hpp>
# endif
# define BOOST_FT_AL_INCLUDE_FILE <BOOST_FT_al_path/master.hpp>
# define BOOST_FT_ARITY_LOOP_PREFIX 1
# include BOOST_PP_EXPAND(<BOOST_FT_al_path/master.hpp>)
# include BOOST_FT_AL_INCLUDE_FILE
# undef BOOST_FT_ARITY_LOOP_PREFIX
# if !BOOST_PP_IS_ITERATING
# define BOOST_PP_FILENAME_1 <BOOST_FT_al_path/master.hpp>
# define BOOST_PP_FILENAME_1 BOOST_FT_AL_INCLUDE_FILE
# elif BOOST_PP_ITERATION_DEPTH() == 1
# define BOOST_PP_FILENAME_2 <BOOST_FT_al_path/master.hpp>
# define BOOST_PP_FILENAME_2 BOOST_FT_AL_INCLUDE_FILE
# else
# error "loops nested too deeply"
# endif
@ -133,8 +135,10 @@ BOOST_PP_EXPAND(#) include BOOST_FT_AL_PREPROCESSED
# undef BOOST_FT_type
# define BOOST_FT_ARITY_LOOP_SUFFIX 1
# include BOOST_PP_EXPAND(<BOOST_FT_al_path/master.hpp>)
# include BOOST_FT_AL_INCLUDE_FILE
# undef BOOST_FT_ARITY_LOOP_SUFFIX
# undef BOOST_FT_AL_INCLUDE_FILE
# endif
# undef BOOST_FT_FROM_ARITY

View File

@ -42,7 +42,7 @@
# define BOOST_FT_cc_name implicit_cc
# define BOOST_FT_cc BOOST_PP_EMPTY
# define BOOST_FT_cond callable_builtin
# include BOOST_PP_EXPAND ( <BOOST_FT_cc_file> )
# include BOOST_FT_cc_file
# undef BOOST_FT_cond
# undef BOOST_FT_cc_name
# undef BOOST_FT_cc
@ -54,7 +54,7 @@ BOOST_PP_EXPAND(#) define BOOST_FT_cc_name implicit_cc
BOOST_PP_EXPAND(#) define BOOST_FT_cc BOOST_PP_EMPTY
BOOST_PP_EXPAND(#) define BOOST_FT_cond callable_builtin
#define _()
BOOST_PP_EXPAND(#) include BOOST_PP_EXPAND _()( <BOOST_FT_cc_file> )
BOOST_PP_EXPAND(#) include BOOST_FT_cc_file
#undef _
BOOST_PP_EXPAND(#) undef BOOST_FT_cond
BOOST_PP_EXPAND(#) undef BOOST_FT_cc_name
@ -85,7 +85,7 @@ BOOST_PP_EXPAND(#) endif
# if BOOST_FT_cond
# define BOOST_FT_config_valid 1
# include BOOST_PP_EXPAND(<BOOST_FT_cc_file>)
# include BOOST_FT_cc_file
# endif
# undef BOOST_FT_cond
@ -121,7 +121,7 @@ BOOST_PP_EXPAND(#) define BOOST_FT_cond BOOST_FT_cc_cond_v
BOOST_PP_EXPAND(#) if BOOST_FT_cond
BOOST_PP_EXPAND(#) define BOOST_FT_config_valid 1
#define _()
BOOST_PP_EXPAND(#) include BOOST_PP_EXPAND _()(<BOOST_FT_cc_file>)
BOOST_PP_EXPAND(#) include BOOST_FT_cc_file
#undef _
BOOST_PP_EXPAND(#) endif

View File

@ -15,7 +15,7 @@
# define BOOST_FT_cond BOOST_FT_CC_IMPLICIT
# if BOOST_FT_cond
# define BOOST_FT_config_valid 1
# include BOOST_PP_EXPAND ( <BOOST_FT_cc_file> )
# include BOOST_FT_cc_file
# endif
# undef BOOST_FT_cond
# undef BOOST_FT_cc_name
@ -27,7 +27,7 @@
# define BOOST_FT_cond BOOST_FT_CC_CDECL
# if BOOST_FT_cond
# define BOOST_FT_config_valid 1
# include BOOST_PP_EXPAND ( <BOOST_FT_cc_file> )
# include BOOST_FT_cc_file
# endif
# undef BOOST_FT_cond
# undef BOOST_FT_cc_name
@ -39,7 +39,7 @@
# define BOOST_FT_cond BOOST_FT_CC_STDCALL
# if BOOST_FT_cond
# define BOOST_FT_config_valid 1
# include BOOST_PP_EXPAND ( <BOOST_FT_cc_file> )
# include BOOST_FT_cc_file
# endif
# undef BOOST_FT_cond
# undef BOOST_FT_cc_name
@ -51,7 +51,7 @@
# define BOOST_FT_cond BOOST_FT_CC_PASCAL
# if BOOST_FT_cond
# define BOOST_FT_config_valid 1
# include BOOST_PP_EXPAND ( <BOOST_FT_cc_file> )
# include BOOST_FT_cc_file
# endif
# undef BOOST_FT_cond
# undef BOOST_FT_cc_name
@ -63,7 +63,7 @@
# define BOOST_FT_cond BOOST_FT_CC_FASTCALL
# if BOOST_FT_cond
# define BOOST_FT_config_valid 1
# include BOOST_PP_EXPAND ( <BOOST_FT_cc_file> )
# include BOOST_FT_cc_file
# endif
# undef BOOST_FT_cond
# undef BOOST_FT_cc_name
@ -75,7 +75,7 @@
# define BOOST_FT_cond BOOST_FT_CC_CLRCALL
# if BOOST_FT_cond
# define BOOST_FT_config_valid 1
# include BOOST_PP_EXPAND ( <BOOST_FT_cc_file> )
# include BOOST_FT_cc_file
# endif
# undef BOOST_FT_cond
# undef BOOST_FT_cc_name
@ -87,7 +87,7 @@
# define BOOST_FT_cond BOOST_FT_CC_THISCALL
# if BOOST_FT_cond
# define BOOST_FT_config_valid 1
# include BOOST_PP_EXPAND ( <BOOST_FT_cc_file> )
# include BOOST_FT_cc_file
# endif
# undef BOOST_FT_cond
# undef BOOST_FT_cc_name
@ -99,7 +99,7 @@
# define BOOST_FT_cond BOOST_FT_CC_IMPLICIT_THISCALL
# if BOOST_FT_cond
# define BOOST_FT_config_valid 1
# include BOOST_PP_EXPAND ( <BOOST_FT_cc_file> )
# include BOOST_FT_cc_file
# endif
# undef BOOST_FT_cond
# undef BOOST_FT_cc_name
@ -110,7 +110,7 @@
# define BOOST_FT_cc_name implicit_cc
# define BOOST_FT_cc BOOST_PP_EMPTY
# define BOOST_FT_cond 0x00000001
# include BOOST_PP_EXPAND ( <BOOST_FT_cc_file> )
# include BOOST_FT_cc_file
# undef BOOST_FT_cond
# undef BOOST_FT_cc_name
# undef BOOST_FT_cc

View File

@ -28,9 +28,9 @@
#if defined(BOOST_FT_al_path)
# define BOOST_FT_cc_file \
boost/function_types/detail/pp_variate_loop/preprocessed.hpp
<boost/function_types/detail/pp_variate_loop/preprocessed.hpp>
# define BOOST_FT_variate_file \
boost/function_types/detail/pp_arity_loop.hpp
<boost/function_types/detail/pp_arity_loop.hpp>
# ifndef BOOST_FT_type_function
# define BOOST_FT_type_function(cc,name) BOOST_FT_SYNTAX( \

View File

@ -140,7 +140,7 @@ BOOST_PP_EXPAND(#) define BOOST_FT_cv const volatile
# endif
# endif
BOOST_PP_EXPAND(#) define BOOST_FT_flags BOOST_PP_SLOT(1)
BOOST_PP_EXPAND(#) include BOOST_PP_EXPAND BOOST_PP_EMPTY()(<BOOST_FT_variate_file>)
BOOST_PP_EXPAND(#) include BOOST_FT_variate_file
BOOST_PP_EXPAND(#) undef BOOST_FT_cv
BOOST_PP_EXPAND(#) undef BOOST_FT_ell

View File

@ -15,7 +15,7 @@
# define BOOST_FT_nullary_param BOOST_FT_NULLARY_PARAM
# define BOOST_FT_cv
# define BOOST_FT_flags 519
# include BOOST_PP_EXPAND ( <BOOST_FT_variate_file> )
# include BOOST_FT_variate_file
# undef BOOST_FT_cv
# undef BOOST_FT_ell
# undef BOOST_FT_nullary_param
@ -28,7 +28,7 @@
# define BOOST_FT_nullary_param
# define BOOST_FT_cv
# define BOOST_FT_flags 263
# include BOOST_PP_EXPAND ( <BOOST_FT_variate_file> )
# include BOOST_FT_variate_file
# undef BOOST_FT_cv
# undef BOOST_FT_ell
# undef BOOST_FT_nullary_param
@ -42,7 +42,7 @@
# define BOOST_FT_nullary_param BOOST_FT_NULLARY_PARAM
# define BOOST_FT_cv const
# define BOOST_FT_flags 1543
# include BOOST_PP_EXPAND ( <BOOST_FT_variate_file> )
# include BOOST_FT_variate_file
# undef BOOST_FT_cv
# undef BOOST_FT_ell
# undef BOOST_FT_nullary_param
@ -55,7 +55,7 @@
# define BOOST_FT_nullary_param
# define BOOST_FT_cv const
# define BOOST_FT_flags 1287
# include BOOST_PP_EXPAND ( <BOOST_FT_variate_file> )
# include BOOST_FT_variate_file
# undef BOOST_FT_cv
# undef BOOST_FT_ell
# undef BOOST_FT_nullary_param
@ -68,7 +68,7 @@
# define BOOST_FT_nullary_param BOOST_FT_NULLARY_PARAM
# define BOOST_FT_cv volatile
# define BOOST_FT_flags 2567
# include BOOST_PP_EXPAND ( <BOOST_FT_variate_file> )
# include BOOST_FT_variate_file
# undef BOOST_FT_cv
# undef BOOST_FT_ell
# undef BOOST_FT_nullary_param
@ -81,7 +81,7 @@
# define BOOST_FT_nullary_param
# define BOOST_FT_cv volatile
# define BOOST_FT_flags 2311
# include BOOST_PP_EXPAND ( <BOOST_FT_variate_file> )
# include BOOST_FT_variate_file
# undef BOOST_FT_cv
# undef BOOST_FT_ell
# undef BOOST_FT_nullary_param
@ -94,7 +94,7 @@
# define BOOST_FT_nullary_param BOOST_FT_NULLARY_PARAM
# define BOOST_FT_cv const volatile
# define BOOST_FT_flags 3591
# include BOOST_PP_EXPAND ( <BOOST_FT_variate_file> )
# include BOOST_FT_variate_file
# undef BOOST_FT_cv
# undef BOOST_FT_ell
# undef BOOST_FT_nullary_param
@ -107,7 +107,7 @@
# define BOOST_FT_nullary_param
# define BOOST_FT_cv const volatile
# define BOOST_FT_flags 3335
# include BOOST_PP_EXPAND ( <BOOST_FT_variate_file> )
# include BOOST_FT_variate_file
# undef BOOST_FT_cv
# undef BOOST_FT_ell
# undef BOOST_FT_nullary_param
@ -123,7 +123,7 @@
# define BOOST_FT_nullary_param BOOST_FT_NULLARY_PARAM
# define BOOST_FT_cv
# define BOOST_FT_flags 523
# include BOOST_PP_EXPAND ( <BOOST_FT_variate_file> )
# include BOOST_FT_variate_file
# undef BOOST_FT_cv
# undef BOOST_FT_ell
# undef BOOST_FT_nullary_param
@ -136,7 +136,7 @@
# define BOOST_FT_nullary_param
# define BOOST_FT_cv
# define BOOST_FT_flags 267
# include BOOST_PP_EXPAND ( <BOOST_FT_variate_file> )
# include BOOST_FT_variate_file
# undef BOOST_FT_cv
# undef BOOST_FT_ell
# undef BOOST_FT_nullary_param
@ -151,7 +151,7 @@
# define BOOST_FT_nullary_param BOOST_FT_NULLARY_PARAM
# define BOOST_FT_cv
# define BOOST_FT_flags 531
# include BOOST_PP_EXPAND ( <BOOST_FT_variate_file> )
# include BOOST_FT_variate_file
# undef BOOST_FT_cv
# undef BOOST_FT_ell
# undef BOOST_FT_nullary_param
@ -164,7 +164,7 @@
# define BOOST_FT_nullary_param
# define BOOST_FT_cv
# define BOOST_FT_flags 275
# include BOOST_PP_EXPAND ( <BOOST_FT_variate_file> )
# include BOOST_FT_variate_file
# undef BOOST_FT_cv
# undef BOOST_FT_ell
# undef BOOST_FT_nullary_param
@ -181,7 +181,7 @@
# define BOOST_FT_nullary_param BOOST_FT_NULLARY_PARAM
# define BOOST_FT_cv
# define BOOST_FT_flags 609
# include BOOST_PP_EXPAND ( <BOOST_FT_variate_file> )
# include BOOST_FT_variate_file
# undef BOOST_FT_cv
# undef BOOST_FT_ell
# undef BOOST_FT_nullary_param
@ -194,7 +194,7 @@
# define BOOST_FT_nullary_param
# define BOOST_FT_cv
# define BOOST_FT_flags 353
# include BOOST_PP_EXPAND ( <BOOST_FT_variate_file> )
# include BOOST_FT_variate_file
# undef BOOST_FT_cv
# undef BOOST_FT_ell
# undef BOOST_FT_nullary_param
@ -207,7 +207,7 @@
# define BOOST_FT_nullary_param BOOST_FT_NULLARY_PARAM
# define BOOST_FT_cv const
# define BOOST_FT_flags 1633
# include BOOST_PP_EXPAND ( <BOOST_FT_variate_file> )
# include BOOST_FT_variate_file
# undef BOOST_FT_cv
# undef BOOST_FT_ell
# undef BOOST_FT_nullary_param
@ -220,7 +220,7 @@
# define BOOST_FT_nullary_param
# define BOOST_FT_cv const
# define BOOST_FT_flags 1377
# include BOOST_PP_EXPAND ( <BOOST_FT_variate_file> )
# include BOOST_FT_variate_file
# undef BOOST_FT_cv
# undef BOOST_FT_ell
# undef BOOST_FT_nullary_param
@ -233,7 +233,7 @@
# define BOOST_FT_nullary_param BOOST_FT_NULLARY_PARAM
# define BOOST_FT_cv volatile
# define BOOST_FT_flags 2657
# include BOOST_PP_EXPAND ( <BOOST_FT_variate_file> )
# include BOOST_FT_variate_file
# undef BOOST_FT_cv
# undef BOOST_FT_ell
# undef BOOST_FT_nullary_param
@ -246,7 +246,7 @@
# define BOOST_FT_nullary_param
# define BOOST_FT_cv volatile
# define BOOST_FT_flags 2401
# include BOOST_PP_EXPAND ( <BOOST_FT_variate_file> )
# include BOOST_FT_variate_file
# undef BOOST_FT_cv
# undef BOOST_FT_ell
# undef BOOST_FT_nullary_param
@ -259,7 +259,7 @@
# define BOOST_FT_nullary_param BOOST_FT_NULLARY_PARAM
# define BOOST_FT_cv const volatile
# define BOOST_FT_flags 3681
# include BOOST_PP_EXPAND ( <BOOST_FT_variate_file> )
# include BOOST_FT_variate_file
# undef BOOST_FT_cv
# undef BOOST_FT_ell
# undef BOOST_FT_nullary_param
@ -272,7 +272,7 @@
# define BOOST_FT_nullary_param
# define BOOST_FT_cv const volatile
# define BOOST_FT_flags 3425
# include BOOST_PP_EXPAND ( <BOOST_FT_variate_file> )
# include BOOST_FT_variate_file
# undef BOOST_FT_cv
# undef BOOST_FT_ell
# undef BOOST_FT_nullary_param

View File

@ -24,10 +24,10 @@ namespace boost
< function_types::components<T>
, detail::member_object_pointer_tag >
{
BOOST_MPL_AUX_LAMBDA_SUPPORT(2,is_member_object_pointer,(T,Tag))
BOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_member_object_pointer,(T))
};
}
BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(2,function_types::is_member_object_pointer)
BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(1,function_types::is_member_object_pointer)
}
#endif

View File

@ -141,7 +141,7 @@ template<class Tag, class QueryTag> struct extract
#include <boost/function_types/detail/pp_tags/preprocessed.hpp>
namespace boost { namespace function_types {
#define BOOST_FT_cc_file boost/function_types/detail/pp_tags/cc_tag.hpp
#define BOOST_FT_cc_file <boost/function_types/detail/pp_tags/cc_tag.hpp>
#include <boost/function_types/detail/pp_loop.hpp>
} } // namespace boost::function_types

View File

@ -14,7 +14,7 @@
#include <boost/function_types/is_callable_builtin.hpp>
#ifndef BOOST_FT_CC_STDCALL
# error "test not supported with this compiler"
# error "test not supported with this compiler/platform"
#endif
namespace ft = boost::function_types;

View File

@ -14,7 +14,7 @@
#include <boost/function_types/is_callable_builtin.hpp>
#ifndef BOOST_FT_CC_STDCALL
# error "test not supported with this compiler"
# error "test not supported with this compiler/platform"
#endif
namespace ft = boost::function_types;

View File

@ -16,7 +16,7 @@
#include <boost/function_types/is_callable_builtin.hpp>
#ifndef BOOST_FT_CC_STDCALL
# error "test not supported with this compiler"
# error "test not supported with this compiler/platform"
#endif
namespace ft = boost::function_types;

View File

@ -16,7 +16,7 @@
#include <boost/function_types/is_callable_builtin.hpp>
#ifndef BOOST_FT_CC_STDCALL
# error "test not supported with this compiler"
# error "test not supported with this compiler/platform"
#endif
namespace ft = boost::function_types;