forked from boostorg/function_types
Compare commits
5 Commits
svn-branch
...
boost-1.36
Author | SHA1 | Date | |
---|---|---|---|
f66562676a | |||
6f100429eb | |||
51aca6c98c | |||
291304b704 | |||
e04f655cc7 |
@ -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 ;
|
||||
|
||||
|
@ -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).
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
|
@ -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).
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
|
@ -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).
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
|
@ -1,2 +1 @@
|
||||
timestamp 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
|
||||
|
@ -1099,6 +1099,7 @@ library in one or the other way:
|
||||
* Jonathan Turkanis
|
||||
* Pavel Vozenilek
|
||||
* Steven Watanabe
|
||||
* K. Noel Belcourt
|
||||
|
||||
[endsect]
|
||||
|
||||
|
@ -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">
|
||||
|
@ -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>
|
||||
|
@ -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">
|
||||
|
@ -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"><</span><span class="identifier">T</span><span class="special">>::</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>
|
||||
|
@ -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">
|
||||
|
@ -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">
|
||||
|
@ -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">
|
||||
|
@ -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">
|
||||
|
@ -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">
|
||||
|
@ -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">
|
||||
|
@ -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">
|
||||
|
@ -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>
|
||||
|
@ -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;
|
||||
|
||||
|
@ -8,6 +8,7 @@
|
||||
// See interface.hpp in this directory for details.
|
||||
|
||||
#include <iostream>
|
||||
#include <typeinfo>
|
||||
|
||||
#include "interface.hpp"
|
||||
|
||||
|
@ -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>()) );
|
||||
}
|
||||
};
|
||||
|
@ -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>
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
@ -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( \
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
Reference in New Issue
Block a user