Date: Wed, 9 Apr 2008 17:27:08 +0000
Subject: [PATCH 20/34] Rebuild the function types documentation.
[SVN r44131]
---
.../boost_functiontypes/about_tag_types.html | 23 +++--
.../boost_functiontypes/acknowledgements.html | 21 ++--
.../boost_functiontypes/introduction.html | 36 +++----
doc/html/boost_functiontypes/rationale.html | 91 ++++++++---------
doc/html/boost_functiontypes/reference.html | 24 +++--
.../reference/classification.html | 99 +++++++++----------
.../reference/decomposition.html | 58 +++++------
.../boost_functiontypes/reference/macros.html | 93 ++++++++---------
.../reference/synthesis.html | 66 ++++++-------
.../reference/tag_types.html | 98 +++++++++---------
doc/html/boost_functiontypes/use_cases.html | 26 ++---
doc/html/index.html | 16 +--
12 files changed, 336 insertions(+), 315 deletions(-)
diff --git a/doc/html/boost_functiontypes/about_tag_types.html b/doc/html/boost_functiontypes/about_tag_types.html
index d16c916..7d07a85 100644
--- a/doc/html/boost_functiontypes/about_tag_types.html
+++ b/doc/html/boost_functiontypes/about_tag_types.html
@@ -1,21 +1,21 @@
- About Tag Types
+About Tag Types
-
+
-
-
+
+
@@ -24,7 +24,8 @@
Boost.FunctionTypes uses tag types to encode properties that are not types
per se, such as calling convention or whether a function is variadic or cv-
@@ -84,7 +85,11 @@
-Copyright © 2004 -2007 Tobias Schwinger
+
diff --git a/doc/html/boost_functiontypes/acknowledgements.html b/doc/html/boost_functiontypes/acknowledgements.html
index 414b34e..b0498b7 100644
--- a/doc/html/boost_functiontypes/acknowledgements.html
+++ b/doc/html/boost_functiontypes/acknowledgements.html
@@ -1,20 +1,20 @@
-
Acknowledgements
+
Acknowledgements
-
+
-
+
@@ -23,7 +23,8 @@
Thanks go to the following people for supporting the development of this library
in one or the other way:
@@ -78,7 +79,11 @@
-Copyright © 2004 -2007 Tobias Schwinger
+
diff --git a/doc/html/boost_functiontypes/introduction.html b/doc/html/boost_functiontypes/introduction.html
index 8287622..cdaf6b1 100644
--- a/doc/html/boost_functiontypes/introduction.html
+++ b/doc/html/boost_functiontypes/introduction.html
@@ -1,21 +1,21 @@
-
Introduction
+
Introduction
-
+
-
+
@@ -24,7 +24,8 @@
Boost.FunctionTypes provides functionality to classify, decompose and synthesize
function, function pointer, function reference and pointer to member types.
@@ -56,35 +57,34 @@
constant called value
.
-is_function_pointer < bool (*)( int ) >:: value
Templates that encapsulate properties that are single types contain a type
member called type
.
-function_type < mpl :: vector < bool , int > >:: type
Templates that encapsulate properties that are type lists model an MPL-compatible
type sequence.
-parameter_types < bool ( int ) >
-Copyright © 2004 -2007 Tobias Schwinger
+
diff --git a/doc/html/boost_functiontypes/rationale.html b/doc/html/boost_functiontypes/rationale.html
index 475a795..5ba69d0 100644
--- a/doc/html/boost_functiontypes/rationale.html
+++ b/doc/html/boost_functiontypes/rationale.html
@@ -1,21 +1,21 @@
-
Rationale
+
Rationale
-
+
-
-
+
+
@@ -24,12 +24,13 @@
+
The library does not define the required members of class templates in case
of an error. This technique causes the compiler to stop displaying diagnostics
@@ -40,10 +41,10 @@
The library's components have limited error conditions, so problematic input
can be spotted easily.
-
+
MPL provides algorithms on Sequences, so transformations (such as turning by-value
parameter types into const references for optimized forwarding or computing
@@ -53,20 +54,20 @@
other Boost libraries (most importantly Fusion ),
so another reason is interoperability.
-
+
Despite their syntax, pointer to member object types can be seen as dereferencing
functionals.
-
-
- The
+
+
+ The
ClassTransform template parameter
-
+
This
-pointer, this
-reference or just
the object (or maybe even a smart pointer to the object) plus adjustments of
@@ -79,10 +80,10 @@
client to adjust the class type before the sequence is formed and then treat
all parameters uniformly.
-
-
- Why tag types?
-
+
+
+ Why tag types?
+
Let's consider the alternatives.
@@ -98,12 +99,12 @@
parameters do not work within MPL lambda expressions and can cause problems
with older compilers.
-
-
- Is
+
+
+ Is
it safe to have the synthesis templates take a callable builtin type or an
MPL sequence as the first template argument?
-
+
Yes, but it isn't immediately obvious as the set of possible MPL sequences
isn't inherently disjoint from the set of callable builtin types.
@@ -113,25 +114,23 @@
idea, because builtin types are accessible before the headers that make the
type a sequence have been included, which can easily violate the ODR.
-
-
- Why
+
+
+ Why
does the hidden this
parameter count for the function arity
of member functions?
-
+
It was found preferable that the following condition holds:
-mpl :: size < parameter_types < T > >:: value == function_arity < T >:: value
+mpl :: size < parameter_types < T > >:: value == function_arity < T >:: value
-
-
- Why
+
+
+ Why
ignore top-level cv-qualifiers on pointers?
-
+
A cv-qualified pointer is still a pointer. It usually doesn't matter and even
if it does, it's a job for Boost.TypeTraits .
@@ -139,7 +138,11 @@
-Copyright © 2004 -2007 Tobias Schwinger
+
diff --git a/doc/html/boost_functiontypes/reference.html b/doc/html/boost_functiontypes/reference.html
index 91fe6f3..eacf2d4 100644
--- a/doc/html/boost_functiontypes/reference.html
+++ b/doc/html/boost_functiontypes/reference.html
@@ -1,22 +1,21 @@
-
Reference
+
Reference
-
+
-
-
+
+
@@ -25,7 +24,8 @@
-Copyright © 2004 -2007 Tobias Schwinger
+
diff --git a/doc/html/boost_functiontypes/reference/classification.html b/doc/html/boost_functiontypes/reference/classification.html
index 699dae9..2f49b79 100644
--- a/doc/html/boost_functiontypes/reference/classification.html
+++ b/doc/html/boost_functiontypes/reference/classification.html
@@ -1,23 +1,21 @@
-
Class
- templates for type classification
+
Class templates for type classification
-
+
-
-
-
+
+
+
@@ -26,9 +24,9 @@
-template < typename T , typename Tag = null_tag >
+template < typename T , typename Tag = null_tag >
struct is_function ;
@@ -93,12 +90,11 @@
-template < typename T , typename Tag = null_tag >
+template < typename T , typename Tag = null_tag >
struct is_function_pointer ;
@@ -137,12 +133,11 @@
-template < typename T , typename Tag = null_tag >
+template < typename T , typename Tag = null_tag >
struct is_function_reference ;
@@ -181,12 +176,11 @@
-template < typename T , typename Tag = null_tag >
+template < typename T , typename Tag = null_tag >
struct is_member_pointer ;
@@ -225,9 +219,9 @@
template < typename T >
struct is_member_object_pointer ;
@@ -263,12 +257,11 @@
-template < typename T , typename Tag = null_tag >
+template < typename T , typename Tag = null_tag >
struct is_member_function_pointer ;
@@ -307,12 +300,11 @@
-template < typename T , typename Tag = null_tag >
+template < typename T , typename Tag = null_tag >
struct is_callable_builtin ;
@@ -351,12 +343,11 @@
-template < typename T , typename Tag = null_tag >
+template < typename T , typename Tag = null_tag >
struct is_nonmember_callable_builtin ;
@@ -397,7 +388,11 @@
-Copyright © 2004 -2007 Tobias Schwinger
+
diff --git a/doc/html/boost_functiontypes/reference/decomposition.html b/doc/html/boost_functiontypes/reference/decomposition.html
index bb1b431..b4447e4 100644
--- a/doc/html/boost_functiontypes/reference/decomposition.html
+++ b/doc/html/boost_functiontypes/reference/decomposition.html
@@ -1,24 +1,21 @@
-
Class templates
- for type decomposition
+
Class templates for type decomposition
-
+
-
-
-
+
+
+
@@ -27,9 +24,9 @@
template < typename F >
struct result_type ;
@@ -78,9 +75,9 @@
template < typename F , class ClassTransform = add_reference < _ > >
struct parameter_types ;
@@ -124,9 +121,9 @@
template < typename F >
struct function_arity ;
@@ -169,9 +166,9 @@
template < typename T , class ClassTransform = add_reference < _ > >
struct components ;
@@ -216,14 +213,17 @@
If T
is no callable builtin type, the component types
- are an empty sequence and the Tag's meaning is equivalent to the null_tag
.
+ are an empty sequence and the Tag's meaning is equivalent to the null_tag
.
-Copyright © 2004 -2007 Tobias Schwinger
+
diff --git a/doc/html/boost_functiontypes/reference/macros.html b/doc/html/boost_functiontypes/reference/macros.html
index 48cfda6..ea3f1eb 100644
--- a/doc/html/boost_functiontypes/reference/macros.html
+++ b/doc/html/boost_functiontypes/reference/macros.html
@@ -1,21 +1,21 @@
-
Macros
+
Macros
-
+
-
-
-
+
+
+
@@ -24,7 +24,8 @@
Expands to a numeric value that describes the maximum function arity supported
by the library.
@@ -66,17 +67,16 @@
Expands to a sequence
of ternary tuples
(these data types are defined in the documentation
of the Boost Preprocessor library ). Each sequence element describes
one calling convention specifier. The first element in each tuple is the
- macro suffix for BOOST_FT_CC_*
,
+ macro suffix for BOOST_FT_CC_*
,
the second element is the name of the tag that describes the calling convention
and the third is the name of the specifier. The specifier is allowed to
be an empty string, so the third tuple element is either BOOST_PP_EMPTY
@@ -106,15 +106,13 @@
- Enables a specific calling convention. * dentoes the macro suffix, as defined
- by BOOST_FT_CC_NAMES
- or BOOST_FT_BUILTIN_CC_NAMES
.
+ Enables a specific calling convention. * denotes the macro suffix, as defined
+ by BOOST_FT_CC_NAMES
+ or BOOST_FT_BUILTIN_CC_NAMES
.
The macro expands to a list of restrictions, separated by the |
@@ -149,9 +147,9 @@
Defining this macro causes the following macros to be defined, if not defined
already:
@@ -164,9 +162,9 @@
This macro allows to change the syntax of callable builtin types. It is
useful to handle the compiler specific placement of the calling convention
@@ -182,9 +180,9 @@
Set to void
for compilers that insist on a void
parameter for nullary function types, empty by default.
@@ -192,9 +190,9 @@
Disables support for cv-qualified function types. Cv-qualified function
types are illegal by the current standard version, but there is a pending
@@ -209,9 +207,9 @@
Makes the compiler preprocess as much as possible of the library code (rather
than loading already-preprocessed header files) if defined.
@@ -219,24 +217,27 @@
Makes the compiler preprocess the loop over possible names for custom calling
conventions (rather than loading an already-preprocessed header file) if
defined.
- This macro is defined automatically if BOOST_FT_CC_NAMES
+ This macro is defined automatically if BOOST_FT_CC_NAMES
has been defined.
-Copyright © 2004 -2007 Tobias Schwinger
+
diff --git a/doc/html/boost_functiontypes/reference/synthesis.html b/doc/html/boost_functiontypes/reference/synthesis.html
index f1bed9f..fdf12ab 100644
--- a/doc/html/boost_functiontypes/reference/synthesis.html
+++ b/doc/html/boost_functiontypes/reference/synthesis.html
@@ -1,23 +1,21 @@
-
Class templates
- for type synthesis
+
Class templates for type synthesis
-
+
-
-
-
+
+
+
@@ -26,9 +24,9 @@
-template < typename Types , typename Tag = null_tag >
+template < typename Types , typename Tag = null_tag >
struct function_type ;
@@ -84,12 +81,11 @@
-template < typename Types , typename Tag = null_tag >
+template < typename Types , typename Tag = null_tag >
struct function_pointer ;
@@ -127,12 +123,11 @@
-template < typename Types , typename Tag = null_tag >
+template < typename Types , typename Tag = null_tag >
struct function_reference ;
@@ -170,12 +165,11 @@
-template < typename Types , typename Tag = null_tag >
+template < typename Types , typename Tag = null_tag >
struct member_function_pointer ;
@@ -220,7 +214,11 @@
-Copyright © 2004 -2007 Tobias Schwinger
+
diff --git a/doc/html/boost_functiontypes/reference/tag_types.html b/doc/html/boost_functiontypes/reference/tag_types.html
index 955296b..847d74f 100644
--- a/doc/html/boost_functiontypes/reference/tag_types.html
+++ b/doc/html/boost_functiontypes/reference/tag_types.html
@@ -1,22 +1,21 @@
-
Tag Types
+
Tag Types
-
+
-
-
-
+
+
+
@@ -25,7 +24,8 @@
typedef unspecified variadic ;
@@ -73,9 +73,9 @@
typedef unspecified non_variadic ;
@@ -91,9 +91,9 @@
typedef unspecified default_cc ;
@@ -109,9 +109,9 @@
typedef unspecified const_qualified ;
@@ -127,9 +127,9 @@
typedef unspecified non_const ;
@@ -145,9 +145,9 @@
typedef unspecified volatile_qualified ;
@@ -163,9 +163,9 @@
typedef unspecified non_volatile ;
@@ -181,7 +181,8 @@
typedef unspecified non_cv ;
@@ -199,9 +200,9 @@
typedef unspecified const_non_volatile ;
@@ -219,9 +220,9 @@
typedef unspecified volatile_non_const ;
@@ -239,9 +240,9 @@
typedef unspecified cv_qualified ;
@@ -259,9 +260,9 @@
typedef unspecified null_tag ;
@@ -277,7 +278,8 @@
template < class Tag1 , class Tag2 ,
class Tag3 = null_tag , class Tag4 = null_tag >
@@ -310,7 +312,11 @@
-Copyright © 2004 -2007 Tobias Schwinger
+
diff --git a/doc/html/boost_functiontypes/use_cases.html b/doc/html/boost_functiontypes/use_cases.html
index 803b994..8cee449 100644
--- a/doc/html/boost_functiontypes/use_cases.html
+++ b/doc/html/boost_functiontypes/use_cases.html
@@ -1,21 +1,21 @@
-
Use Cases
+
Use Cases
-
+
-
-
+
+
@@ -24,7 +24,8 @@
Generic libraries that accept callable arguments are common in C++. Accepting
a callable argument of builin type often involves a lot of repetitive code
@@ -143,8 +144,7 @@
arguments from a type sequence in a single expression:
-static_cast < function_pointer < Seq >:: type >(& overloaded )
+static_cast < function_pointer < Seq >:: type >(& overloaded )
This technique can be occasionally more flexible than template argument deduction
@@ -165,7 +165,11 @@
-Copyright © 2004 -2007 Tobias Schwinger
+
diff --git a/doc/html/index.html b/doc/html/index.html
index 2f32aa2..c95f3f7 100644
--- a/doc/html/index.html
+++ b/doc/html/index.html
@@ -3,17 +3,17 @@
Chapter 1. Boost.FunctionTypes 2.5
-
+
-
+
@@ -27,7 +27,7 @@
Copyright © 2004 -2007 Tobias Schwinger
-Last revised: November 05, 2007 at 18:24:58 +0100
-
+Last revised: March 14, 2008 at 18:36:46 +0000
+
From 594c1595684db0af6a6271788123a54cfc902fb2 Mon Sep 17 00:00:00 2001
From: Hartmut Kaiser
Date: Sun, 20 Apr 2008 13:51:15 +0000
Subject: [PATCH 21/34] Added some parenthesis to disambiguate expressions.
[SVN r44631]
---
.../function_types/detail/pp_retag_default_cc/master.hpp | 4 ++--
.../detail/pp_retag_default_cc/preprocessed.hpp | 4 ++--
include/boost/function_types/detail/pp_tags/master.hpp | 2 +-
include/boost/function_types/detail/pp_tags/preprocessed.hpp | 2 +-
4 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/include/boost/function_types/detail/pp_retag_default_cc/master.hpp b/include/boost/function_types/detail/pp_retag_default_cc/master.hpp
index f97d385..865efce 100644
--- a/include/boost/function_types/detail/pp_retag_default_cc/master.hpp
+++ b/include/boost/function_types/detail/pp_retag_default_cc/master.hpp
@@ -30,8 +30,8 @@ namespace detail
# include BOOST_PP_ASSIGN_SLOT(1)
BOOST_STATIC_CONSTANT(bits_t, value = (
- ::boost::function_types::detail::bits::value & BOOST_FT_default_cc
- | ::boost::function_types::detail::bits::value & BOOST_PP_SLOT(1)
+ (::boost::function_types::detail::bits::value & BOOST_FT_default_cc)
+ | (::boost::function_types::detail::bits::value & BOOST_PP_SLOT(1))
));
};
diff --git a/include/boost/function_types/detail/pp_retag_default_cc/preprocessed.hpp b/include/boost/function_types/detail/pp_retag_default_cc/preprocessed.hpp
index c21a4fd..72666d0 100644
--- a/include/boost/function_types/detail/pp_retag_default_cc/preprocessed.hpp
+++ b/include/boost/function_types/detail/pp_retag_default_cc/preprocessed.hpp
@@ -15,8 +15,8 @@ namespace detail
template struct selector_bits
{
BOOST_STATIC_CONSTANT(bits_t, value = (
-::boost::function_types::detail::bits ::value & 0x00008000
-| ::boost::function_types::detail::bits ::value & 802
+(::boost::function_types::detail::bits ::value & 0x00008000)
+| (::boost::function_types::detail::bits ::value & 802)
));
};
template struct default_cc_tag;
diff --git a/include/boost/function_types/detail/pp_tags/master.hpp b/include/boost/function_types/detail/pp_tags/master.hpp
index 783b93c..9cce212 100644
--- a/include/boost/function_types/detail/pp_tags/master.hpp
+++ b/include/boost/function_types/detail/pp_tags/master.hpp
@@ -82,7 +82,7 @@ namespace detail {
);
BOOST_STATIC_CONSTANT(bits_t, combined_bits =
- LHS_bits & ~RHS_mask | RHS_bits
+ (LHS_bits & ~RHS_mask) | RHS_bits
);
BOOST_STATIC_CONSTANT(bits_t, combined_mask =
diff --git a/include/boost/function_types/detail/pp_tags/preprocessed.hpp b/include/boost/function_types/detail/pp_tags/preprocessed.hpp
index 811d62a..823c3cc 100644
--- a/include/boost/function_types/detail/pp_tags/preprocessed.hpp
+++ b/include/boost/function_types/detail/pp_tags/preprocessed.hpp
@@ -53,7 +53,7 @@ BOOST_STATIC_CONSTANT(bool, match =
RHS_bits == (LHS_bits & RHS_mask & (RHS_bits | ~0x000000ff))
);
BOOST_STATIC_CONSTANT(bits_t, combined_bits =
-LHS_bits & ~RHS_mask | RHS_bits
+(LHS_bits & ~RHS_mask) | RHS_bits
);
BOOST_STATIC_CONSTANT(bits_t, combined_mask =
LHS_mask | RHS_mask
From e60e1b82aaeb1e053d0776d4aa4d515997a189e8 Mon Sep 17 00:00:00 2001
From: "Michael A. Jackson"
Date: Sat, 1 Nov 2008 13:15:41 +0000
Subject: [PATCH 22/34] Continuing merge of CMake build system files into trunk
with the encouragement of Doug Gregor
[SVN r49510]
---
CMakeLists.txt | 21 +++++++++++++++
test/CMakeLists.txt | 63 +++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 84 insertions(+)
create mode 100644 CMakeLists.txt
create mode 100644 test/CMakeLists.txt
diff --git a/CMakeLists.txt b/CMakeLists.txt
new file mode 100644
index 0000000..d29e160
--- /dev/null
+++ b/CMakeLists.txt
@@ -0,0 +1,21 @@
+#----------------------------------------------------------------------------
+# This file was automatically generated from the original CMakeLists.txt file
+# Add a variable to hold the headers for the library
+set (lib_headers
+ function_types
+)
+
+# Add a library target to the build system
+boost_library_project(
+ function_types
+ # SRCDIRS
+ TESTDIRS test
+ HEADERS ${lib_headers}
+ # DOCDIRS
+ # DESCRIPTION
+ MODULARIZED
+ # AUTHORS
+ # MAINTAINERS
+)
+
+
diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
new file mode 100644
index 0000000..fffed17
--- /dev/null
+++ b/test/CMakeLists.txt
@@ -0,0 +1,63 @@
+boost_test_compile(is_function classification/is_function.cpp)
+boost_test_compile(is_function_pointer classification/is_function_pointer.cpp)
+boost_test_compile(is_function_reference classification/is_function_reference.cpp)
+boost_test_compile(is_member_function_pointer classification/is_member_function_pointer.cpp)
+boost_test_compile(is_member_object_pointer classification/is_member_object_pointer.cpp)
+boost_test_compile(is_callable_builtin classification/is_callable_builtin.cpp)
+boost_test_compile(is_nonmember_callable_builtin classification/is_nonmember_callable_builtin.cpp)
+boost_test_compile(is_member_pointer classification/is_member_pointer.cpp)
+
+boost_test_compile(is_cv_mem_func_ptr classification/is_cv_mem_func_ptr.cpp)
+boost_test_compile(is_variadic classification/is_variadic.cpp)
+boost_test_compile(is_cv_pointer classification/is_cv_pointer.cpp)
+ # [ compile classification/is_cv_function.cpp)
+
+# Decomposition
+
+boost_test_compile(components decomposition/components.cpp)
+boost_test_compile(result_type decomposition/result_type.cpp)
+boost_test_compile(function_arity decomposition/function_arity.cpp)
+boost_test_compile(parameter_types decomposition/parameter_types.cpp)
+
+boost_test_compile(components_seq decomposition/components_seq.cpp)
+boost_test_compile(class_type_transform decomposition/class_type_transform.cpp)
+
+boost_test_compile_fail(result_type_fail decomposition/result_type_fail.cpp)
+boost_test_compile_fail(parameter_types_fail decomposition/parameter_types_fail.cpp)
+boost_test_compile_fail(function_arity_fail decomposition/function_arity_fail.cpp)
+
+# Synthesis
+
+boost_test_compile(function_type synthesis/function_type.cpp)
+boost_test_compile(function_pointer synthesis/function_pointer.cpp)
+boost_test_compile(function_reference synthesis/function_reference.cpp)
+boost_test_compile(member_function_pointer synthesis/member_function_pointer.cpp)
+boost_test_compile(member_object_pointer synthesis/member_object_pointer.cpp)
+
+boost_test_compile(transformation synthesis/transformation.cpp)
+boost_test_compile(mem_func_ptr_cv1 synthesis/mem_func_ptr_cv1.cpp)
+boost_test_compile(mem_func_ptr_cv2 synthesis/mem_func_ptr_cv2.cpp)
+boost_test_compile(mem_func_ptr_cv_ptr_to_this synthesis/mem_func_ptr_cv_ptr_to_this.cpp)
+boost_test_compile(variadic_function_synthesis synthesis/variadic_function_synthesis.cpp)
+ # [ compile synthesis/cv_function_synthesis.cpp)
+
+# Reconfiguration
+
+boost_test_compile(preprocessing_mode reconfiguration/preprocessing_mode.cpp)
+boost_test_compile(partial_arity_preprocessing reconfiguration/partial_arity_preprocessing.cpp)
+boost_test_compile(cc_preprocessing reconfiguration/cc_preprocessing.cpp)
+
+# Custom calling conventions
+
+boost_test_compile(nonmember_ccs custom_ccs/nonmember_ccs.cpp)
+boost_test_compile(nonmember_ccs_exact custom_ccs/nonmember_ccs_exact.cpp)
+boost_test_compile(member_ccs custom_ccs/member_ccs.cpp)
+boost_test_compile(member_ccs_exact custom_ccs/member_ccs_exact.cpp)
+
+# Code from the examples
+
+boost_test_compile(interpreter_example ../example/interpreter_example.cpp)
+boost_test_compile(result_of_example ../example/result_of_example.cpp)
+boost_test_compile(interface_example ../example/interface_example.cpp)
+boost_test_compile(fast_mem_fn_example ../example/fast_mem_fn_example.cpp)
+boost_test_compile(macro_type_args_example ../example/macro_type_args_example.cpp)
From ee8ed76bc519af1eda7a6c66fc2aca18f54d19b4 Mon Sep 17 00:00:00 2001
From: "Michael A. Jackson"
Date: Fri, 7 Nov 2008 17:02:56 +0000
Subject: [PATCH 23/34] Updating CMake files to latest trunk. Added dependency
information for regression tests and a few new macros for internal use.
[SVN r49627]
---
test/CMakeLists.txt | 17 ++++++++++++-----
1 file changed, 12 insertions(+), 5 deletions(-)
diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
index fffed17..2f03877 100644
--- a/test/CMakeLists.txt
+++ b/test/CMakeLists.txt
@@ -1,3 +1,6 @@
+# Get the boost dependencies for the tests
+boost_additional_test_dependencies(function_types BOOST_DEPENDS test fusion)
+
boost_test_compile(is_function classification/is_function.cpp)
boost_test_compile(is_function_pointer classification/is_function_pointer.cpp)
boost_test_compile(is_function_reference classification/is_function_reference.cpp)
@@ -48,16 +51,20 @@ boost_test_compile(partial_arity_preprocessing reconfiguration/partial_arity_pre
boost_test_compile(cc_preprocessing reconfiguration/cc_preprocessing.cpp)
# Custom calling conventions
-
boost_test_compile(nonmember_ccs custom_ccs/nonmember_ccs.cpp)
boost_test_compile(nonmember_ccs_exact custom_ccs/nonmember_ccs_exact.cpp)
-boost_test_compile(member_ccs custom_ccs/member_ccs.cpp)
-boost_test_compile(member_ccs_exact custom_ccs/member_ccs_exact.cpp)
+message(STATUS "Function_Types/test/custom_ccs/member_ccs.cpp Needs love")
+#boost_test_compile(member_ccs custom_ccs/member_ccs.cpp)
+message(STATUS "Function_Types/test/custom_ccs/member_ccs_exact.cpp Needs love")
+#boost_test_compile(member_ccs_exact custom_ccs/member_ccs_exact.cpp)
+
# Code from the examples
-
+# Include the "example" directory
+include_directories("${CMAKE_CURRENT_SOURCE_DIR}/example")
boost_test_compile(interpreter_example ../example/interpreter_example.cpp)
boost_test_compile(result_of_example ../example/result_of_example.cpp)
boost_test_compile(interface_example ../example/interface_example.cpp)
-boost_test_compile(fast_mem_fn_example ../example/fast_mem_fn_example.cpp)
+message(STATUS "Function_Types/example/fast_mem_fn_example.cpp Needs love")
+#boost_test_compile(fast_mem_fn_example ../example/fast_mem_fn_example.cpp)
boost_test_compile(macro_type_args_example ../example/macro_type_args_example.cpp)
From 8554f430fe501d94bd34153909e200c4239e88a6 Mon Sep 17 00:00:00 2001
From: "Michael A. Jackson"
Date: Fri, 7 Nov 2008 17:05:27 +0000
Subject: [PATCH 24/34] Updating dependency information for modularized
libraries.
[SVN r49628]
---
module.cmake | 1 +
1 file changed, 1 insertion(+)
create mode 100644 module.cmake
diff --git a/module.cmake b/module.cmake
new file mode 100644
index 0000000..9943033
--- /dev/null
+++ b/module.cmake
@@ -0,0 +1 @@
+boost_module(function_types DEPENDS mpl detail)
\ No newline at end of file
From b7da1bd1ab1f58c21c83ca2df3fc1d6a12c642de Mon Sep 17 00:00:00 2001
From: Tobias Schwinger
Date: Fri, 28 Nov 2008 11:38:38 +0000
Subject: [PATCH 25/34] adds tests with const result
[SVN r49980]
---
test/decomposition/result_type.cpp | 47 ++++++++++++++++++++++++++----
1 file changed, 41 insertions(+), 6 deletions(-)
diff --git a/test/decomposition/result_type.cpp b/test/decomposition/result_type.cpp
index 8f1157d..f55eb85 100644
--- a/test/decomposition/result_type.cpp
+++ b/test/decomposition/result_type.cpp
@@ -16,12 +16,19 @@ namespace ft = boost::function_types;
class C;
typedef C func();
+typedef C const c_func();
typedef C (*func_ptr)();
+typedef C const (*c_func_ptr)();
typedef C (&func_ref)();
+typedef C const (&c_func_ref)();
typedef C (C::*mem_func_ptr)();
-typedef C (C::*c_mem_func_ptr)() const;
-typedef C (C::*v_mem_func_ptr)() volatile;
-typedef C (C::*cv_mem_func_ptr)() const volatile;
+typedef C const (C::*c_mem_func_ptr)();
+typedef C (C::*mem_func_ptr_c)() const;
+typedef C const (C::*c_mem_func_ptr_c)() const;
+typedef C (C::*mem_func_ptr_v)() volatile;
+typedef C const (C::*c_mem_func_ptr_v)() volatile;
+typedef C (C::*mem_func_ptr_cv)() const volatile;
+typedef C const (C::*c_mem_func_ptr_cv)() const volatile;
typedef int C::* mem_ptr;
typedef int const C::* c_mem_ptr;
@@ -29,28 +36,56 @@ BOOST_MPL_ASSERT((
boost::is_same::type,C>
));
+BOOST_MPL_ASSERT((
+ boost::is_same::type,C const>
+));
+
BOOST_MPL_ASSERT((
boost::is_same::type,C>
));
+BOOST_MPL_ASSERT((
+ boost::is_same::type,C const>
+));
+
BOOST_MPL_ASSERT((
boost::is_same::type,C>
));
+BOOST_MPL_ASSERT((
+ boost::is_same::type,C const>
+));
+
BOOST_MPL_ASSERT((
boost::is_same::type,C>
));
BOOST_MPL_ASSERT((
- boost::is_same::type,C>
+ boost::is_same::type,C const>
));
BOOST_MPL_ASSERT((
- boost::is_same::type,C>
+ boost::is_same::type,C>
));
BOOST_MPL_ASSERT((
- boost::is_same::type,C>
+ boost::is_same::type,C const>
+));
+
+BOOST_MPL_ASSERT((
+ boost::is_same::type,C>
+));
+
+BOOST_MPL_ASSERT((
+ boost::is_same::type,C const>
+));
+
+BOOST_MPL_ASSERT((
+ boost::is_same::type,C>
+));
+
+BOOST_MPL_ASSERT((
+ boost::is_same::type,C const>
));
BOOST_MPL_ASSERT((
From 1b4fdee6ff8822e495aa2405993bde362b40ca6c Mon Sep 17 00:00:00 2001
From: Vladimir Prus
Date: Thu, 4 Jun 2009 09:36:17 +0000
Subject: [PATCH 26/34] Cleanup function_types Jamfile.
Make it directly depends on Wave target. Simplify naming
of targets. Addresses #1653
[SVN r53619]
---
build/Jamfile | 28 +++++++++++-----------------
1 file changed, 11 insertions(+), 17 deletions(-)
diff --git a/build/Jamfile b/build/Jamfile
index bace553..38b185a 100644
--- a/build/Jamfile
+++ b/build/Jamfile
@@ -6,31 +6,25 @@
# Generates preprocessed files with wave.
-rule wave
-{
- Depends $1 : $2 ;
-}
-
actions wave
{
- ../../../dist/bin/wave -S../../.. $(>) -o $(<)
+ $(>[1]) -S../../.. $(>[2]) -o $(<)
}
-make ../../../libs/function_types/build/timestamps/arity_loops
- : preprocess_arity_loops.cpp : wave
+W = ../../../tools/wave/build//wave ;
+
+make arity_loops
+ : preprocess_arity_loops.cpp $(W) : wave : build/timestamps
;
-explicit ../../../libs/function_types/build/timestamps/arity_loops ;
-
-make ../../../libs/function_types/build/timestamps/encoding
- : preprocess_encoding.cpp : wave
+make encoding
+ : preprocess_encoding.cpp $(W) : wave : build/timestamps
;
-explicit ../../../libs/function_types/build/timestamps/encoding ;
-make ../../../libs/function_types/build/timestamps/cc_names
- : preprocess_cc_names.cpp : wave
+make cc_names
+ : preprocess_cc_names.cpp $(W) : wave : build/timestamps
;
-
-explicit ../../../libs/function_types/build/timestamps/cc_names ;
+
+explicit arity_loops encoding cc_names ;
From 0bf0587f589fa40c61642cdc4da343b00a78cd41 Mon Sep 17 00:00:00 2001
From: "Troy D. Straszheim"
Date: Sun, 26 Jul 2009 00:49:56 +0000
Subject: [PATCH 27/34] Copyrights on CMakeLists.txt to keep them from clogging
up the inspect reports. This is essentially the same commit as r55095 on the
release branch.
[SVN r55159]
---
CMakeLists.txt | 6 ++++++
test/CMakeLists.txt | 6 ++++++
2 files changed, 12 insertions(+)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index d29e160..6e83c47 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,3 +1,9 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
#----------------------------------------------------------------------------
# This file was automatically generated from the original CMakeLists.txt file
# Add a variable to hold the headers for the library
diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
index 2f03877..1a5a0c3 100644
--- a/test/CMakeLists.txt
+++ b/test/CMakeLists.txt
@@ -1,3 +1,9 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
# Get the boost dependencies for the tests
boost_additional_test_dependencies(function_types BOOST_DEPENDS test fusion)
From d3b53cbdf8834e90ece9652e3e551d9f437ad214 Mon Sep 17 00:00:00 2001
From: Stefan Seefeld
Date: Sat, 19 Sep 2009 02:32:41 +0000
Subject: [PATCH 28/34] Merged 2009 GSoC work from sandbox-branches/bhy/py3k
branch back into trunk.
[SVN r56305]
---
.../detail/components_impl/arity10_0.hpp | 1 -
.../detail/components_impl/arity10_1.hpp | 1 -
.../detail/components_impl/arity20_0.hpp | 1 -
.../detail/components_impl/arity20_1.hpp | 1 -
.../detail/components_impl/arity30_0.hpp | 1 -
.../detail/components_impl/arity30_1.hpp | 1 -
.../detail/components_impl/arity40_0.hpp | 1 -
.../detail/components_impl/arity40_1.hpp | 1 -
.../detail/components_impl/arity50_0.hpp | 1 -
.../detail/components_impl/arity50_1.hpp | 1 -
.../detail/synthesize_impl/arity10_0.hpp | 1 -
.../detail/synthesize_impl/arity20_0.hpp | 339 +---------------
.../detail/synthesize_impl/arity30_0.hpp | 384 +-----------------
13 files changed, 2 insertions(+), 732 deletions(-)
diff --git a/include/boost/function_types/detail/components_impl/arity10_0.hpp b/include/boost/function_types/detail/components_impl/arity10_0.hpp
index f96c6a9..e60d254 100644
--- a/include/boost/function_types/detail/components_impl/arity10_0.hpp
+++ b/include/boost/function_types/detail/components_impl/arity10_0.hpp
@@ -129,4 +129,3 @@ typedef components_mpl_sequence_tag tag;
typedef mpl::integral_c function_arity;
typedef mpl::vector11< R , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 > types;
};
-
diff --git a/include/boost/function_types/detail/components_impl/arity10_1.hpp b/include/boost/function_types/detail/components_impl/arity10_1.hpp
index 1b06a97..28e0762 100644
--- a/include/boost/function_types/detail/components_impl/arity10_1.hpp
+++ b/include/boost/function_types/detail/components_impl/arity10_1.hpp
@@ -119,4 +119,3 @@ typedef components_mpl_sequence_tag tag;
typedef mpl::integral_c function_arity;
typedef mpl::vector11< R, typename class_transform ::type , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 > types;
};
-
diff --git a/include/boost/function_types/detail/components_impl/arity20_0.hpp b/include/boost/function_types/detail/components_impl/arity20_0.hpp
index f6b2ca8..ab5f7c8 100644
--- a/include/boost/function_types/detail/components_impl/arity20_0.hpp
+++ b/include/boost/function_types/detail/components_impl/arity20_0.hpp
@@ -120,4 +120,3 @@ typedef components_mpl_sequence_tag tag;
typedef mpl::integral_c function_arity;
typedef mpl::vector21< R , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 > types;
};
-
diff --git a/include/boost/function_types/detail/components_impl/arity20_1.hpp b/include/boost/function_types/detail/components_impl/arity20_1.hpp
index 1688e6b..1275d90 100644
--- a/include/boost/function_types/detail/components_impl/arity20_1.hpp
+++ b/include/boost/function_types/detail/components_impl/arity20_1.hpp
@@ -120,4 +120,3 @@ typedef components_mpl_sequence_tag tag;
typedef mpl::integral_c function_arity;
typedef mpl::vector21< R, typename class_transform ::type , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 > types;
};
-
diff --git a/include/boost/function_types/detail/components_impl/arity30_0.hpp b/include/boost/function_types/detail/components_impl/arity30_0.hpp
index e85eb3a..827470b 100644
--- a/include/boost/function_types/detail/components_impl/arity30_0.hpp
+++ b/include/boost/function_types/detail/components_impl/arity30_0.hpp
@@ -120,4 +120,3 @@ typedef components_mpl_sequence_tag tag;
typedef mpl::integral_c function_arity;
typedef mpl::vector31< R , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 > types;
};
-
diff --git a/include/boost/function_types/detail/components_impl/arity30_1.hpp b/include/boost/function_types/detail/components_impl/arity30_1.hpp
index 290d21e..9071815 100644
--- a/include/boost/function_types/detail/components_impl/arity30_1.hpp
+++ b/include/boost/function_types/detail/components_impl/arity30_1.hpp
@@ -120,4 +120,3 @@ typedef components_mpl_sequence_tag tag;
typedef mpl::integral_c function_arity;
typedef mpl::vector31< R, typename class_transform ::type , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 > types;
};
-
diff --git a/include/boost/function_types/detail/components_impl/arity40_0.hpp b/include/boost/function_types/detail/components_impl/arity40_0.hpp
index f1a2410..45c678f 100644
--- a/include/boost/function_types/detail/components_impl/arity40_0.hpp
+++ b/include/boost/function_types/detail/components_impl/arity40_0.hpp
@@ -120,4 +120,3 @@ typedef components_mpl_sequence_tag tag;
typedef mpl::integral_c function_arity;
typedef mpl::vector41< R , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 > types;
};
-
diff --git a/include/boost/function_types/detail/components_impl/arity40_1.hpp b/include/boost/function_types/detail/components_impl/arity40_1.hpp
index e1741cb..132ec52 100644
--- a/include/boost/function_types/detail/components_impl/arity40_1.hpp
+++ b/include/boost/function_types/detail/components_impl/arity40_1.hpp
@@ -120,4 +120,3 @@ typedef components_mpl_sequence_tag tag;
typedef mpl::integral_c function_arity;
typedef mpl::vector41< R, typename class_transform ::type , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 > types;
};
-
diff --git a/include/boost/function_types/detail/components_impl/arity50_0.hpp b/include/boost/function_types/detail/components_impl/arity50_0.hpp
index 693a05d..54e64e1 100644
--- a/include/boost/function_types/detail/components_impl/arity50_0.hpp
+++ b/include/boost/function_types/detail/components_impl/arity50_0.hpp
@@ -120,4 +120,3 @@ typedef components_mpl_sequence_tag tag;
typedef mpl::integral_c function_arity;
typedef mpl::vector51< R , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 , T48 , T49 > types;
};
-
diff --git a/include/boost/function_types/detail/components_impl/arity50_1.hpp b/include/boost/function_types/detail/components_impl/arity50_1.hpp
index 9bc1616..d9da37b 100644
--- a/include/boost/function_types/detail/components_impl/arity50_1.hpp
+++ b/include/boost/function_types/detail/components_impl/arity50_1.hpp
@@ -120,4 +120,3 @@ typedef components_mpl_sequence_tag tag;
typedef mpl::integral_c function_arity;
typedef mpl::vector51< R, typename class_transform ::type , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 , T48 , T49 > types;
};
-
diff --git a/include/boost/function_types/detail/synthesize_impl/arity10_0.hpp b/include/boost/function_types/detail/synthesize_impl/arity10_0.hpp
index ad22e50..0e6c64b 100644
--- a/include/boost/function_types/detail/synthesize_impl/arity10_0.hpp
+++ b/include/boost/function_types/detail/synthesize_impl/arity10_0.hpp
@@ -331,4 +331,3 @@ typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,10)
};
# undef BOOST_FT_make_type
# undef BOOST_FT_make_type_impl
-
diff --git a/include/boost/function_types/detail/synthesize_impl/arity20_0.hpp b/include/boost/function_types/detail/synthesize_impl/arity20_0.hpp
index cb62e69..15f1aeb 100644
--- a/include/boost/function_types/detail/synthesize_impl/arity20_0.hpp
+++ b/include/boost/function_types/detail/synthesize_impl/arity20_0.hpp
@@ -177,341 +177,4 @@ typedef typename mpl::next< iter_13 > ::type iter_14;
public:
typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,14)
< typename mpl::deref< iter_0 > ::type
-, typename mpl::deref< iter_1 > ::type
-, typename mpl::deref< iter_2 > ::type
-, typename mpl::deref< iter_3 > ::type
-, typename mpl::deref< iter_4 > ::type
-, typename mpl::deref< iter_5 > ::type
-, typename mpl::deref< iter_6 > ::type
-, typename mpl::deref< iter_7 > ::type
-, typename mpl::deref< iter_8 > ::type
-, typename mpl::deref< iter_9 > ::type
-, typename mpl::deref< iter_10 > ::type
-, typename mpl::deref< iter_11 > ::type
-, typename mpl::deref< iter_12 > ::type
-, typename mpl::deref< iter_13 > ::type
-, typename mpl::deref< iter_14 > ::type
-> ::type type;
-};
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,15)
-{
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 BOOST_FT_ell) BOOST_FT_cv ;
-};
-template< >
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 16 >
-{
-template struct synthesize_impl_i
-{
-private:
-typedef typename mpl::begin ::type iter_0;
-typedef typename mpl::next< iter_0 > ::type iter_1;
-typedef typename mpl::next< iter_1 > ::type iter_2;
-typedef typename mpl::next< iter_2 > ::type iter_3;
-typedef typename mpl::next< iter_3 > ::type iter_4;
-typedef typename mpl::next< iter_4 > ::type iter_5;
-typedef typename mpl::next< iter_5 > ::type iter_6;
-typedef typename mpl::next< iter_6 > ::type iter_7;
-typedef typename mpl::next< iter_7 > ::type iter_8;
-typedef typename mpl::next< iter_8 > ::type iter_9;
-typedef typename mpl::next< iter_9 > ::type iter_10;
-typedef typename mpl::next< iter_10 > ::type iter_11;
-typedef typename mpl::next< iter_11 > ::type iter_12;
-typedef typename mpl::next< iter_12 > ::type iter_13;
-typedef typename mpl::next< iter_13 > ::type iter_14;
-typedef typename mpl::next< iter_14 > ::type iter_15;
-public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,15)
-< typename mpl::deref< iter_0 > ::type
-, typename mpl::deref< iter_1 > ::type
-, typename mpl::deref< iter_2 > ::type
-, typename mpl::deref< iter_3 > ::type
-, typename mpl::deref< iter_4 > ::type
-, typename mpl::deref< iter_5 > ::type
-, typename mpl::deref< iter_6 > ::type
-, typename mpl::deref< iter_7 > ::type
-, typename mpl::deref< iter_8 > ::type
-, typename mpl::deref< iter_9 > ::type
-, typename mpl::deref< iter_10 > ::type
-, typename mpl::deref< iter_11 > ::type
-, typename mpl::deref< iter_12 > ::type
-, typename mpl::deref< iter_13 > ::type
-, typename mpl::deref< iter_14 > ::type
-, typename mpl::deref< iter_15 > ::type
-> ::type type;
-};
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,16)
-{
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 BOOST_FT_ell) BOOST_FT_cv ;
-};
-template< >
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 17 >
-{
-template struct synthesize_impl_i
-{
-private:
-typedef typename mpl::begin ::type iter_0;
-typedef typename mpl::next< iter_0 > ::type iter_1;
-typedef typename mpl::next< iter_1 > ::type iter_2;
-typedef typename mpl::next< iter_2 > ::type iter_3;
-typedef typename mpl::next< iter_3 > ::type iter_4;
-typedef typename mpl::next< iter_4 > ::type iter_5;
-typedef typename mpl::next< iter_5 > ::type iter_6;
-typedef typename mpl::next< iter_6 > ::type iter_7;
-typedef typename mpl::next< iter_7 > ::type iter_8;
-typedef typename mpl::next< iter_8 > ::type iter_9;
-typedef typename mpl::next< iter_9 > ::type iter_10;
-typedef typename mpl::next< iter_10 > ::type iter_11;
-typedef typename mpl::next< iter_11 > ::type iter_12;
-typedef typename mpl::next< iter_12 > ::type iter_13;
-typedef typename mpl::next< iter_13 > ::type iter_14;
-typedef typename mpl::next< iter_14 > ::type iter_15;
-typedef typename mpl::next< iter_15 > ::type iter_16;
-public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,16)
-< typename mpl::deref< iter_0 > ::type
-, typename mpl::deref< iter_1 > ::type
-, typename mpl::deref< iter_2 > ::type
-, typename mpl::deref< iter_3 > ::type
-, typename mpl::deref< iter_4 > ::type
-, typename mpl::deref< iter_5 > ::type
-, typename mpl::deref< iter_6 > ::type
-, typename mpl::deref< iter_7 > ::type
-, typename mpl::deref< iter_8 > ::type
-, typename mpl::deref< iter_9 > ::type
-, typename mpl::deref< iter_10 > ::type
-, typename mpl::deref< iter_11 > ::type
-, typename mpl::deref< iter_12 > ::type
-, typename mpl::deref< iter_13 > ::type
-, typename mpl::deref< iter_14 > ::type
-, typename mpl::deref< iter_15 > ::type
-, typename mpl::deref< iter_16 > ::type
-> ::type type;
-};
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,17)
-{
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 BOOST_FT_ell) BOOST_FT_cv ;
-};
-template< >
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 18 >
-{
-template struct synthesize_impl_i
-{
-private:
-typedef typename mpl::begin ::type iter_0;
-typedef typename mpl::next< iter_0 > ::type iter_1;
-typedef typename mpl::next< iter_1 > ::type iter_2;
-typedef typename mpl::next< iter_2 > ::type iter_3;
-typedef typename mpl::next< iter_3 > ::type iter_4;
-typedef typename mpl::next< iter_4 > ::type iter_5;
-typedef typename mpl::next< iter_5 > ::type iter_6;
-typedef typename mpl::next< iter_6 > ::type iter_7;
-typedef typename mpl::next< iter_7 > ::type iter_8;
-typedef typename mpl::next< iter_8 > ::type iter_9;
-typedef typename mpl::next< iter_9 > ::type iter_10;
-typedef typename mpl::next< iter_10 > ::type iter_11;
-typedef typename mpl::next< iter_11 > ::type iter_12;
-typedef typename mpl::next< iter_12 > ::type iter_13;
-typedef typename mpl::next< iter_13 > ::type iter_14;
-typedef typename mpl::next< iter_14 > ::type iter_15;
-typedef typename mpl::next< iter_15 > ::type iter_16;
-typedef typename mpl::next< iter_16 > ::type iter_17;
-public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,17)
-< typename mpl::deref< iter_0 > ::type
-, typename mpl::deref< iter_1 > ::type
-, typename mpl::deref< iter_2 > ::type
-, typename mpl::deref< iter_3 > ::type
-, typename mpl::deref< iter_4 > ::type
-, typename mpl::deref< iter_5 > ::type
-, typename mpl::deref< iter_6 > ::type
-, typename mpl::deref< iter_7 > ::type
-, typename mpl::deref< iter_8 > ::type
-, typename mpl::deref< iter_9 > ::type
-, typename mpl::deref< iter_10 > ::type
-, typename mpl::deref< iter_11 > ::type
-, typename mpl::deref< iter_12 > ::type
-, typename mpl::deref< iter_13 > ::type
-, typename mpl::deref< iter_14 > ::type
-, typename mpl::deref< iter_15 > ::type
-, typename mpl::deref< iter_16 > ::type
-, typename mpl::deref< iter_17 > ::type
-> ::type type;
-};
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,18)
-{
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 BOOST_FT_ell) BOOST_FT_cv ;
-};
-template< >
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 19 >
-{
-template struct synthesize_impl_i
-{
-private:
-typedef typename mpl::begin ::type iter_0;
-typedef typename mpl::next< iter_0 > ::type iter_1;
-typedef typename mpl::next< iter_1 > ::type iter_2;
-typedef typename mpl::next< iter_2 > ::type iter_3;
-typedef typename mpl::next< iter_3 > ::type iter_4;
-typedef typename mpl::next< iter_4 > ::type iter_5;
-typedef typename mpl::next< iter_5 > ::type iter_6;
-typedef typename mpl::next< iter_6 > ::type iter_7;
-typedef typename mpl::next< iter_7 > ::type iter_8;
-typedef typename mpl::next< iter_8 > ::type iter_9;
-typedef typename mpl::next< iter_9 > ::type iter_10;
-typedef typename mpl::next< iter_10 > ::type iter_11;
-typedef typename mpl::next< iter_11 > ::type iter_12;
-typedef typename mpl::next< iter_12 > ::type iter_13;
-typedef typename mpl::next< iter_13 > ::type iter_14;
-typedef typename mpl::next< iter_14 > ::type iter_15;
-typedef typename mpl::next< iter_15 > ::type iter_16;
-typedef typename mpl::next< iter_16 > ::type iter_17;
-typedef typename mpl::next< iter_17 > ::type iter_18;
-public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,18)
-< typename mpl::deref< iter_0 > ::type
-, typename mpl::deref< iter_1 > ::type
-, typename mpl::deref< iter_2 > ::type
-, typename mpl::deref< iter_3 > ::type
-, typename mpl::deref< iter_4 > ::type
-, typename mpl::deref< iter_5 > ::type
-, typename mpl::deref< iter_6 > ::type
-, typename mpl::deref< iter_7 > ::type
-, typename mpl::deref< iter_8 > ::type
-, typename mpl::deref< iter_9 > ::type
-, typename mpl::deref< iter_10 > ::type
-, typename mpl::deref< iter_11 > ::type
-, typename mpl::deref< iter_12 > ::type
-, typename mpl::deref< iter_13 > ::type
-, typename mpl::deref< iter_14 > ::type
-, typename mpl::deref< iter_15 > ::type
-, typename mpl::deref< iter_16 > ::type
-, typename mpl::deref< iter_17 > ::type
-, typename mpl::deref< iter_18 > ::type
-> ::type type;
-};
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,19)
-{
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 BOOST_FT_ell) BOOST_FT_cv ;
-};
-template< >
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 20 >
-{
-template struct synthesize_impl_i
-{
-private:
-typedef typename mpl::begin ::type iter_0;
-typedef typename mpl::next< iter_0 > ::type iter_1;
-typedef typename mpl::next< iter_1 > ::type iter_2;
-typedef typename mpl::next< iter_2 > ::type iter_3;
-typedef typename mpl::next< iter_3 > ::type iter_4;
-typedef typename mpl::next< iter_4 > ::type iter_5;
-typedef typename mpl::next< iter_5 > ::type iter_6;
-typedef typename mpl::next< iter_6 > ::type iter_7;
-typedef typename mpl::next< iter_7 > ::type iter_8;
-typedef typename mpl::next< iter_8 > ::type iter_9;
-typedef typename mpl::next< iter_9 > ::type iter_10;
-typedef typename mpl::next< iter_10 > ::type iter_11;
-typedef typename mpl::next< iter_11 > ::type iter_12;
-typedef typename mpl::next< iter_12 > ::type iter_13;
-typedef typename mpl::next< iter_13 > ::type iter_14;
-typedef typename mpl::next< iter_14 > ::type iter_15;
-typedef typename mpl::next< iter_15 > ::type iter_16;
-typedef typename mpl::next< iter_16 > ::type iter_17;
-typedef typename mpl::next< iter_17 > ::type iter_18;
-typedef typename mpl::next< iter_18 > ::type iter_19;
-public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,19)
-< typename mpl::deref< iter_0 > ::type
-, typename mpl::deref< iter_1 > ::type
-, typename mpl::deref< iter_2 > ::type
-, typename mpl::deref< iter_3 > ::type
-, typename mpl::deref< iter_4 > ::type
-, typename mpl::deref< iter_5 > ::type
-, typename mpl::deref< iter_6 > ::type
-, typename mpl::deref< iter_7 > ::type
-, typename mpl::deref< iter_8 > ::type
-, typename mpl::deref< iter_9 > ::type
-, typename mpl::deref< iter_10 > ::type
-, typename mpl::deref< iter_11 > ::type
-, typename mpl::deref< iter_12 > ::type
-, typename mpl::deref< iter_13 > ::type
-, typename mpl::deref< iter_14 > ::type
-, typename mpl::deref< iter_15 > ::type
-, typename mpl::deref< iter_16 > ::type
-, typename mpl::deref< iter_17 > ::type
-, typename mpl::deref< iter_18 > ::type
-, typename mpl::deref< iter_19 > ::type
-> ::type type;
-};
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,20)
-{
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 BOOST_FT_ell) BOOST_FT_cv ;
-};
-template< >
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 21 >
-{
-template struct synthesize_impl_i
-{
-private:
-typedef typename mpl::begin ::type iter_0;
-typedef typename mpl::next< iter_0 > ::type iter_1;
-typedef typename mpl::next< iter_1 > ::type iter_2;
-typedef typename mpl::next< iter_2 > ::type iter_3;
-typedef typename mpl::next< iter_3 > ::type iter_4;
-typedef typename mpl::next< iter_4 > ::type iter_5;
-typedef typename mpl::next< iter_5 > ::type iter_6;
-typedef typename mpl::next< iter_6 > ::type iter_7;
-typedef typename mpl::next< iter_7 > ::type iter_8;
-typedef typename mpl::next< iter_8 > ::type iter_9;
-typedef typename mpl::next< iter_9 > ::type iter_10;
-typedef typename mpl::next< iter_10 > ::type iter_11;
-typedef typename mpl::next< iter_11 > ::type iter_12;
-typedef typename mpl::next< iter_12 > ::type iter_13;
-typedef typename mpl::next< iter_13 > ::type iter_14;
-typedef typename mpl::next< iter_14 > ::type iter_15;
-typedef typename mpl::next< iter_15 > ::type iter_16;
-typedef typename mpl::next< iter_16 > ::type iter_17;
-typedef typename mpl::next< iter_17 > ::type iter_18;
-typedef typename mpl::next< iter_18 > ::type iter_19;
-typedef typename mpl::next< iter_19 > ::type iter_20;
-public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,20)
-< typename mpl::deref< iter_0 > ::type
-, typename mpl::deref< iter_1 > ::type
-, typename mpl::deref< iter_2 > ::type
-, typename mpl::deref< iter_3 > ::type
-, typename mpl::deref< iter_4 > ::type
-, typename mpl::deref< iter_5 > ::type
-, typename mpl::deref< iter_6 > ::type
-, typename mpl::deref< iter_7 > ::type
-, typename mpl::deref< iter_8 > ::type
-, typename mpl::deref< iter_9 > ::type
-, typename mpl::deref< iter_10 > ::type
-, typename mpl::deref< iter_11 > ::type
-, typename mpl::deref< iter_12 > ::type
-, typename mpl::deref< iter_13 > ::type
-, typename mpl::deref< iter_14 > ::type
-, typename mpl::deref< iter_15 > ::type
-, typename mpl::deref< iter_16 > ::type
-, typename mpl::deref< iter_17 > ::type
-, typename mpl::deref< iter_18 > ::type
-, typename mpl::deref< iter_19 > ::type
-, typename mpl::deref< iter_20 > ::type
-> ::type type;
-};
-};
-# undef BOOST_FT_make_type
-# undef BOOST_FT_make_type_impl
-
+, typename mpl::deref< iter_1 > ::type
\ No newline at end of file
diff --git a/include/boost/function_types/detail/synthesize_impl/arity30_0.hpp b/include/boost/function_types/detail/synthesize_impl/arity30_0.hpp
index 63a64f0..c1f1194 100644
--- a/include/boost/function_types/detail/synthesize_impl/arity30_0.hpp
+++ b/include/boost/function_types/detail/synthesize_impl/arity30_0.hpp
@@ -332,386 +332,4 @@ typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,25)
, typename mpl::deref< iter_16 > ::type
, typename mpl::deref< iter_17 > ::type
, typename mpl::deref< iter_18 > ::type
-, typename mpl::deref< iter_19 > ::type
-, typename mpl::deref< iter_20 > ::type
-, typename mpl::deref< iter_21 > ::type
-, typename mpl::deref< iter_22 > ::type
-, typename mpl::deref< iter_23 > ::type
-, typename mpl::deref< iter_24 > ::type
-, typename mpl::deref< iter_25 > ::type
-> ::type type;
-};
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,26)
-{
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 BOOST_FT_ell) BOOST_FT_cv ;
-};
-template< >
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 27 >
-{
-template struct synthesize_impl_i
-{
-private:
-typedef typename mpl::begin ::type iter_0;
-typedef typename mpl::next< iter_0 > ::type iter_1;
-typedef typename mpl::next< iter_1 > ::type iter_2;
-typedef typename mpl::next< iter_2 > ::type iter_3;
-typedef typename mpl::next< iter_3 > ::type iter_4;
-typedef typename mpl::next< iter_4 > ::type iter_5;
-typedef typename mpl::next< iter_5 > ::type iter_6;
-typedef typename mpl::next< iter_6 > ::type iter_7;
-typedef typename mpl::next< iter_7 > ::type iter_8;
-typedef typename mpl::next< iter_8 > ::type iter_9;
-typedef typename mpl::next< iter_9 > ::type iter_10;
-typedef typename mpl::next< iter_10 > ::type iter_11;
-typedef typename mpl::next< iter_11 > ::type iter_12;
-typedef typename mpl::next< iter_12 > ::type iter_13;
-typedef typename mpl::next< iter_13 > ::type iter_14;
-typedef typename mpl::next< iter_14 > ::type iter_15;
-typedef typename mpl::next< iter_15 > ::type iter_16;
-typedef typename mpl::next< iter_16 > ::type iter_17;
-typedef typename mpl::next< iter_17 > ::type iter_18;
-typedef typename mpl::next< iter_18 > ::type iter_19;
-typedef typename mpl::next< iter_19 > ::type iter_20;
-typedef typename mpl::next< iter_20 > ::type iter_21;
-typedef typename mpl::next< iter_21 > ::type iter_22;
-typedef typename mpl::next< iter_22 > ::type iter_23;
-typedef typename mpl::next< iter_23 > ::type iter_24;
-typedef typename mpl::next< iter_24 > ::type iter_25;
-typedef typename mpl::next< iter_25 > ::type iter_26;
-public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,26)
-< typename mpl::deref< iter_0 > ::type
-, typename mpl::deref< iter_1 > ::type
-, typename mpl::deref< iter_2 > ::type
-, typename mpl::deref< iter_3 > ::type
-, typename mpl::deref< iter_4 > ::type
-, typename mpl::deref< iter_5 > ::type
-, typename mpl::deref< iter_6 > ::type
-, typename mpl::deref< iter_7 > ::type
-, typename mpl::deref< iter_8 > ::type
-, typename mpl::deref< iter_9 > ::type
-, typename mpl::deref< iter_10 > ::type
-, typename mpl::deref< iter_11 > ::type
-, typename mpl::deref< iter_12 > ::type
-, typename mpl::deref< iter_13 > ::type
-, typename mpl::deref< iter_14 > ::type
-, typename mpl::deref< iter_15 > ::type
-, typename mpl::deref< iter_16 > ::type
-, typename mpl::deref< iter_17 > ::type
-, typename mpl::deref< iter_18 > ::type
-, typename mpl::deref< iter_19 > ::type
-, typename mpl::deref< iter_20 > ::type
-, typename mpl::deref< iter_21 > ::type
-, typename mpl::deref< iter_22 > ::type
-, typename mpl::deref< iter_23 > ::type
-, typename mpl::deref< iter_24 > ::type
-, typename mpl::deref< iter_25 > ::type
-, typename mpl::deref< iter_26 > ::type
-> ::type type;
-};
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,27)
-{
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 BOOST_FT_ell) BOOST_FT_cv ;
-};
-template< >
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 28 >
-{
-template struct synthesize_impl_i
-{
-private:
-typedef typename mpl::begin ::type iter_0;
-typedef typename mpl::next< iter_0 > ::type iter_1;
-typedef typename mpl::next< iter_1 > ::type iter_2;
-typedef typename mpl::next< iter_2 > ::type iter_3;
-typedef typename mpl::next< iter_3 > ::type iter_4;
-typedef typename mpl::next< iter_4 > ::type iter_5;
-typedef typename mpl::next< iter_5 > ::type iter_6;
-typedef typename mpl::next< iter_6 > ::type iter_7;
-typedef typename mpl::next< iter_7 > ::type iter_8;
-typedef typename mpl::next< iter_8 > ::type iter_9;
-typedef typename mpl::next< iter_9 > ::type iter_10;
-typedef typename mpl::next< iter_10 > ::type iter_11;
-typedef typename mpl::next< iter_11 > ::type iter_12;
-typedef typename mpl::next< iter_12 > ::type iter_13;
-typedef typename mpl::next< iter_13 > ::type iter_14;
-typedef typename mpl::next< iter_14 > ::type iter_15;
-typedef typename mpl::next< iter_15 > ::type iter_16;
-typedef typename mpl::next< iter_16 > ::type iter_17;
-typedef typename mpl::next< iter_17 > ::type iter_18;
-typedef typename mpl::next< iter_18 > ::type iter_19;
-typedef typename mpl::next< iter_19 > ::type iter_20;
-typedef typename mpl::next< iter_20 > ::type iter_21;
-typedef typename mpl::next< iter_21 > ::type iter_22;
-typedef typename mpl::next< iter_22 > ::type iter_23;
-typedef typename mpl::next< iter_23 > ::type iter_24;
-typedef typename mpl::next< iter_24 > ::type iter_25;
-typedef typename mpl::next< iter_25 > ::type iter_26;
-typedef typename mpl::next< iter_26 > ::type iter_27;
-public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,27)
-< typename mpl::deref< iter_0 > ::type
-, typename mpl::deref< iter_1 > ::type
-, typename mpl::deref< iter_2 > ::type
-, typename mpl::deref< iter_3 > ::type
-, typename mpl::deref< iter_4 > ::type
-, typename mpl::deref< iter_5 > ::type
-, typename mpl::deref< iter_6 > ::type
-, typename mpl::deref< iter_7 > ::type
-, typename mpl::deref< iter_8 > ::type
-, typename mpl::deref< iter_9 > ::type
-, typename mpl::deref< iter_10 > ::type
-, typename mpl::deref< iter_11 > ::type
-, typename mpl::deref< iter_12 > ::type
-, typename mpl::deref< iter_13 > ::type
-, typename mpl::deref< iter_14 > ::type
-, typename mpl::deref< iter_15 > ::type
-, typename mpl::deref< iter_16 > ::type
-, typename mpl::deref< iter_17 > ::type
-, typename mpl::deref< iter_18 > ::type
-, typename mpl::deref< iter_19 > ::type
-, typename mpl::deref< iter_20 > ::type
-, typename mpl::deref< iter_21 > ::type
-, typename mpl::deref< iter_22 > ::type
-, typename mpl::deref< iter_23 > ::type
-, typename mpl::deref< iter_24 > ::type
-, typename mpl::deref< iter_25 > ::type
-, typename mpl::deref< iter_26 > ::type
-, typename mpl::deref< iter_27 > ::type
-> ::type type;
-};
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,28)
-{
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 BOOST_FT_ell) BOOST_FT_cv ;
-};
-template< >
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 29 >
-{
-template struct synthesize_impl_i
-{
-private:
-typedef typename mpl::begin ::type iter_0;
-typedef typename mpl::next< iter_0 > ::type iter_1;
-typedef typename mpl::next< iter_1 > ::type iter_2;
-typedef typename mpl::next< iter_2 > ::type iter_3;
-typedef typename mpl::next< iter_3 > ::type iter_4;
-typedef typename mpl::next< iter_4 > ::type iter_5;
-typedef typename mpl::next< iter_5 > ::type iter_6;
-typedef typename mpl::next< iter_6 > ::type iter_7;
-typedef typename mpl::next< iter_7 > ::type iter_8;
-typedef typename mpl::next< iter_8 > ::type iter_9;
-typedef typename mpl::next< iter_9 > ::type iter_10;
-typedef typename mpl::next< iter_10 > ::type iter_11;
-typedef typename mpl::next< iter_11 > ::type iter_12;
-typedef typename mpl::next< iter_12 > ::type iter_13;
-typedef typename mpl::next< iter_13 > ::type iter_14;
-typedef typename mpl::next< iter_14 > ::type iter_15;
-typedef typename mpl::next< iter_15 > ::type iter_16;
-typedef typename mpl::next< iter_16 > ::type iter_17;
-typedef typename mpl::next< iter_17 > ::type iter_18;
-typedef typename mpl::next< iter_18 > ::type iter_19;
-typedef typename mpl::next< iter_19 > ::type iter_20;
-typedef typename mpl::next< iter_20 > ::type iter_21;
-typedef typename mpl::next< iter_21 > ::type iter_22;
-typedef typename mpl::next< iter_22 > ::type iter_23;
-typedef typename mpl::next< iter_23 > ::type iter_24;
-typedef typename mpl::next< iter_24 > ::type iter_25;
-typedef typename mpl::next< iter_25 > ::type iter_26;
-typedef typename mpl::next< iter_26 > ::type iter_27;
-typedef typename mpl::next< iter_27 > ::type iter_28;
-public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,28)
-< typename mpl::deref< iter_0 > ::type
-, typename mpl::deref< iter_1 > ::type
-, typename mpl::deref< iter_2 > ::type
-, typename mpl::deref< iter_3 > ::type
-, typename mpl::deref< iter_4 > ::type
-, typename mpl::deref< iter_5 > ::type
-, typename mpl::deref< iter_6 > ::type
-, typename mpl::deref< iter_7 > ::type
-, typename mpl::deref< iter_8 > ::type
-, typename mpl::deref< iter_9 > ::type
-, typename mpl::deref< iter_10 > ::type
-, typename mpl::deref< iter_11 > ::type
-, typename mpl::deref< iter_12 > ::type
-, typename mpl::deref< iter_13 > ::type
-, typename mpl::deref< iter_14 > ::type
-, typename mpl::deref< iter_15 > ::type
-, typename mpl::deref< iter_16 > ::type
-, typename mpl::deref< iter_17 > ::type
-, typename mpl::deref< iter_18 > ::type
-, typename mpl::deref< iter_19 > ::type
-, typename mpl::deref< iter_20 > ::type
-, typename mpl::deref< iter_21 > ::type
-, typename mpl::deref< iter_22 > ::type
-, typename mpl::deref< iter_23 > ::type
-, typename mpl::deref< iter_24 > ::type
-, typename mpl::deref< iter_25 > ::type
-, typename mpl::deref< iter_26 > ::type
-, typename mpl::deref< iter_27 > ::type
-, typename mpl::deref< iter_28 > ::type
-> ::type type;
-};
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,29)
-{
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 BOOST_FT_ell) BOOST_FT_cv ;
-};
-template< >
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 30 >
-{
-template struct synthesize_impl_i
-{
-private:
-typedef typename mpl::begin ::type iter_0;
-typedef typename mpl::next< iter_0 > ::type iter_1;
-typedef typename mpl::next< iter_1 > ::type iter_2;
-typedef typename mpl::next< iter_2 > ::type iter_3;
-typedef typename mpl::next< iter_3 > ::type iter_4;
-typedef typename mpl::next< iter_4 > ::type iter_5;
-typedef typename mpl::next< iter_5 > ::type iter_6;
-typedef typename mpl::next< iter_6 > ::type iter_7;
-typedef typename mpl::next< iter_7 > ::type iter_8;
-typedef typename mpl::next< iter_8 > ::type iter_9;
-typedef typename mpl::next< iter_9 > ::type iter_10;
-typedef typename mpl::next< iter_10 > ::type iter_11;
-typedef typename mpl::next< iter_11 > ::type iter_12;
-typedef typename mpl::next< iter_12 > ::type iter_13;
-typedef typename mpl::next< iter_13 > ::type iter_14;
-typedef typename mpl::next< iter_14 > ::type iter_15;
-typedef typename mpl::next< iter_15 > ::type iter_16;
-typedef typename mpl::next< iter_16 > ::type iter_17;
-typedef typename mpl::next< iter_17 > ::type iter_18;
-typedef typename mpl::next< iter_18 > ::type iter_19;
-typedef typename mpl::next< iter_19 > ::type iter_20;
-typedef typename mpl::next< iter_20 > ::type iter_21;
-typedef typename mpl::next< iter_21 > ::type iter_22;
-typedef typename mpl::next< iter_22 > ::type iter_23;
-typedef typename mpl::next< iter_23 > ::type iter_24;
-typedef typename mpl::next< iter_24 > ::type iter_25;
-typedef typename mpl::next< iter_25 > ::type iter_26;
-typedef typename mpl::next< iter_26 > ::type iter_27;
-typedef typename mpl::next< iter_27 > ::type iter_28;
-typedef typename mpl::next< iter_28 > ::type iter_29;
-public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,29)
-< typename mpl::deref< iter_0 > ::type
-, typename mpl::deref< iter_1 > ::type
-, typename mpl::deref< iter_2 > ::type
-, typename mpl::deref< iter_3 > ::type
-, typename mpl::deref< iter_4 > ::type
-, typename mpl::deref< iter_5 > ::type
-, typename mpl::deref< iter_6 > ::type
-, typename mpl::deref< iter_7 > ::type
-, typename mpl::deref< iter_8 > ::type
-, typename mpl::deref< iter_9 > ::type
-, typename mpl::deref< iter_10 > ::type
-, typename mpl::deref< iter_11 > ::type
-, typename mpl::deref< iter_12 > ::type
-, typename mpl::deref< iter_13 > ::type
-, typename mpl::deref< iter_14 > ::type
-, typename mpl::deref< iter_15 > ::type
-, typename mpl::deref< iter_16 > ::type
-, typename mpl::deref< iter_17 > ::type
-, typename mpl::deref< iter_18 > ::type
-, typename mpl::deref< iter_19 > ::type
-, typename mpl::deref< iter_20 > ::type
-, typename mpl::deref< iter_21 > ::type
-, typename mpl::deref< iter_22 > ::type
-, typename mpl::deref< iter_23 > ::type
-, typename mpl::deref< iter_24 > ::type
-, typename mpl::deref< iter_25 > ::type
-, typename mpl::deref< iter_26 > ::type
-, typename mpl::deref< iter_27 > ::type
-, typename mpl::deref< iter_28 > ::type
-, typename mpl::deref< iter_29 > ::type
-> ::type type;
-};
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,30)
-{
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 BOOST_FT_ell) BOOST_FT_cv ;
-};
-template< >
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 31 >
-{
-template struct synthesize_impl_i
-{
-private:
-typedef typename mpl::begin ::type iter_0;
-typedef typename mpl::next< iter_0 > ::type iter_1;
-typedef typename mpl::next< iter_1 > ::type iter_2;
-typedef typename mpl::next< iter_2 > ::type iter_3;
-typedef typename mpl::next< iter_3 > ::type iter_4;
-typedef typename mpl::next< iter_4 > ::type iter_5;
-typedef typename mpl::next< iter_5 > ::type iter_6;
-typedef typename mpl::next< iter_6 > ::type iter_7;
-typedef typename mpl::next< iter_7 > ::type iter_8;
-typedef typename mpl::next< iter_8 > ::type iter_9;
-typedef typename mpl::next< iter_9 > ::type iter_10;
-typedef typename mpl::next< iter_10 > ::type iter_11;
-typedef typename mpl::next< iter_11 > ::type iter_12;
-typedef typename mpl::next< iter_12 > ::type iter_13;
-typedef typename mpl::next< iter_13 > ::type iter_14;
-typedef typename mpl::next< iter_14 > ::type iter_15;
-typedef typename mpl::next< iter_15 > ::type iter_16;
-typedef typename mpl::next< iter_16 > ::type iter_17;
-typedef typename mpl::next< iter_17 > ::type iter_18;
-typedef typename mpl::next< iter_18 > ::type iter_19;
-typedef typename mpl::next< iter_19 > ::type iter_20;
-typedef typename mpl::next< iter_20 > ::type iter_21;
-typedef typename mpl::next< iter_21 > ::type iter_22;
-typedef typename mpl::next< iter_22 > ::type iter_23;
-typedef typename mpl::next< iter_23 > ::type iter_24;
-typedef typename mpl::next< iter_24 > ::type iter_25;
-typedef typename mpl::next< iter_25 > ::type iter_26;
-typedef typename mpl::next< iter_26 > ::type iter_27;
-typedef typename mpl::next< iter_27 > ::type iter_28;
-typedef typename mpl::next< iter_28 > ::type iter_29;
-typedef typename mpl::next< iter_29 > ::type iter_30;
-public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,30)
-< typename mpl::deref< iter_0 > ::type
-, typename mpl::deref< iter_1 > ::type
-, typename mpl::deref< iter_2 > ::type
-, typename mpl::deref< iter_3 > ::type
-, typename mpl::deref< iter_4 > ::type
-, typename mpl::deref< iter_5 > ::type
-, typename mpl::deref< iter_6 > ::type
-, typename mpl::deref< iter_7 > ::type
-, typename mpl::deref< iter_8 > ::type
-, typename mpl::deref< iter_9 > ::type
-, typename mpl::deref< iter_10 > ::type
-, typename mpl::deref< iter_11 > ::type
-, typename mpl::deref< iter_12 > ::type
-, typename mpl::deref< iter_13 > ::type
-, typename mpl::deref< iter_14 > ::type
-, typename mpl::deref< iter_15 > ::type
-, typename mpl::deref< iter_16 > ::type
-, typename mpl::deref< iter_17 > ::type
-, typename mpl::deref< iter_18 > ::type
-, typename mpl::deref< iter_19 > ::type
-, typename mpl::deref< iter_20 > ::type
-, typename mpl::deref< iter_21 > ::type
-, typename mpl::deref< iter_22 > ::type
-, typename mpl::deref< iter_23 > ::type
-, typename mpl::deref< iter_24 > ::type
-, typename mpl::deref< iter_25 > ::type
-, typename mpl::deref< iter_26 > ::type
-, typename mpl::deref< iter_27 > ::type
-, typename mpl::deref< iter_28 > ::type
-, typename mpl::deref< iter_29 > ::type
-, typename mpl::deref< iter_30 > ::type
-> ::type type;
-};
-};
-# undef BOOST_FT_make_type
-# undef BOOST_FT_make_type_impl
-
+, typename mpl::deref< iter_19
\ No newline at end of file
From 64776ee43cb339a4fbbc747d1d8e3e69449106f6 Mon Sep 17 00:00:00 2001
From: "Troy D. Straszheim"
Date: Sat, 17 Oct 2009 02:07:38 +0000
Subject: [PATCH 29/34] rm cmake from trunk. I'm not entirely sure this is
necessary to satisfy the inspect script, but I'm not taking any chances, and
it is easy to put back
[SVN r56942]
---
CMakeLists.txt | 27 ----------------
module.cmake | 1 -
test/CMakeLists.txt | 76 ---------------------------------------------
3 files changed, 104 deletions(-)
delete mode 100644 CMakeLists.txt
delete mode 100644 module.cmake
delete mode 100644 test/CMakeLists.txt
diff --git a/CMakeLists.txt b/CMakeLists.txt
deleted file mode 100644
index 6e83c47..0000000
--- a/CMakeLists.txt
+++ /dev/null
@@ -1,27 +0,0 @@
-#
-# Copyright Troy D. Straszheim
-#
-# Distributed under the Boost Software License, Version 1.0.
-# See http://www.boost.org/LICENSE_1_0.txt
-#
-#----------------------------------------------------------------------------
-# This file was automatically generated from the original CMakeLists.txt file
-# Add a variable to hold the headers for the library
-set (lib_headers
- function_types
-)
-
-# Add a library target to the build system
-boost_library_project(
- function_types
- # SRCDIRS
- TESTDIRS test
- HEADERS ${lib_headers}
- # DOCDIRS
- # DESCRIPTION
- MODULARIZED
- # AUTHORS
- # MAINTAINERS
-)
-
-
diff --git a/module.cmake b/module.cmake
deleted file mode 100644
index 9943033..0000000
--- a/module.cmake
+++ /dev/null
@@ -1 +0,0 @@
-boost_module(function_types DEPENDS mpl detail)
\ No newline at end of file
diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
deleted file mode 100644
index 1a5a0c3..0000000
--- a/test/CMakeLists.txt
+++ /dev/null
@@ -1,76 +0,0 @@
-#
-# Copyright Troy D. Straszheim
-#
-# Distributed under the Boost Software License, Version 1.0.
-# See http://www.boost.org/LICENSE_1_0.txt
-#
-# Get the boost dependencies for the tests
-boost_additional_test_dependencies(function_types BOOST_DEPENDS test fusion)
-
-boost_test_compile(is_function classification/is_function.cpp)
-boost_test_compile(is_function_pointer classification/is_function_pointer.cpp)
-boost_test_compile(is_function_reference classification/is_function_reference.cpp)
-boost_test_compile(is_member_function_pointer classification/is_member_function_pointer.cpp)
-boost_test_compile(is_member_object_pointer classification/is_member_object_pointer.cpp)
-boost_test_compile(is_callable_builtin classification/is_callable_builtin.cpp)
-boost_test_compile(is_nonmember_callable_builtin classification/is_nonmember_callable_builtin.cpp)
-boost_test_compile(is_member_pointer classification/is_member_pointer.cpp)
-
-boost_test_compile(is_cv_mem_func_ptr classification/is_cv_mem_func_ptr.cpp)
-boost_test_compile(is_variadic classification/is_variadic.cpp)
-boost_test_compile(is_cv_pointer classification/is_cv_pointer.cpp)
- # [ compile classification/is_cv_function.cpp)
-
-# Decomposition
-
-boost_test_compile(components decomposition/components.cpp)
-boost_test_compile(result_type decomposition/result_type.cpp)
-boost_test_compile(function_arity decomposition/function_arity.cpp)
-boost_test_compile(parameter_types decomposition/parameter_types.cpp)
-
-boost_test_compile(components_seq decomposition/components_seq.cpp)
-boost_test_compile(class_type_transform decomposition/class_type_transform.cpp)
-
-boost_test_compile_fail(result_type_fail decomposition/result_type_fail.cpp)
-boost_test_compile_fail(parameter_types_fail decomposition/parameter_types_fail.cpp)
-boost_test_compile_fail(function_arity_fail decomposition/function_arity_fail.cpp)
-
-# Synthesis
-
-boost_test_compile(function_type synthesis/function_type.cpp)
-boost_test_compile(function_pointer synthesis/function_pointer.cpp)
-boost_test_compile(function_reference synthesis/function_reference.cpp)
-boost_test_compile(member_function_pointer synthesis/member_function_pointer.cpp)
-boost_test_compile(member_object_pointer synthesis/member_object_pointer.cpp)
-
-boost_test_compile(transformation synthesis/transformation.cpp)
-boost_test_compile(mem_func_ptr_cv1 synthesis/mem_func_ptr_cv1.cpp)
-boost_test_compile(mem_func_ptr_cv2 synthesis/mem_func_ptr_cv2.cpp)
-boost_test_compile(mem_func_ptr_cv_ptr_to_this synthesis/mem_func_ptr_cv_ptr_to_this.cpp)
-boost_test_compile(variadic_function_synthesis synthesis/variadic_function_synthesis.cpp)
- # [ compile synthesis/cv_function_synthesis.cpp)
-
-# Reconfiguration
-
-boost_test_compile(preprocessing_mode reconfiguration/preprocessing_mode.cpp)
-boost_test_compile(partial_arity_preprocessing reconfiguration/partial_arity_preprocessing.cpp)
-boost_test_compile(cc_preprocessing reconfiguration/cc_preprocessing.cpp)
-
-# Custom calling conventions
-boost_test_compile(nonmember_ccs custom_ccs/nonmember_ccs.cpp)
-boost_test_compile(nonmember_ccs_exact custom_ccs/nonmember_ccs_exact.cpp)
-message(STATUS "Function_Types/test/custom_ccs/member_ccs.cpp Needs love")
-#boost_test_compile(member_ccs custom_ccs/member_ccs.cpp)
-message(STATUS "Function_Types/test/custom_ccs/member_ccs_exact.cpp Needs love")
-#boost_test_compile(member_ccs_exact custom_ccs/member_ccs_exact.cpp)
-
-
-# Code from the examples
-# Include the "example" directory
-include_directories("${CMAKE_CURRENT_SOURCE_DIR}/example")
-boost_test_compile(interpreter_example ../example/interpreter_example.cpp)
-boost_test_compile(result_of_example ../example/result_of_example.cpp)
-boost_test_compile(interface_example ../example/interface_example.cpp)
-message(STATUS "Function_Types/example/fast_mem_fn_example.cpp Needs love")
-#boost_test_compile(fast_mem_fn_example ../example/fast_mem_fn_example.cpp)
-boost_test_compile(macro_type_args_example ../example/macro_type_args_example.cpp)
From e39914bddd4f40582be94c9c202877291bd8444f Mon Sep 17 00:00:00 2001
From: "Troy D. Straszheim"
Date: Thu, 3 Dec 2009 22:20:47 +0000
Subject: [PATCH 30/34] Undo r56305
[SVN r58129]
---
.../detail/components_impl/arity10_0.hpp | 1 +
.../detail/components_impl/arity10_1.hpp | 1 +
.../detail/components_impl/arity20_0.hpp | 1 +
.../detail/components_impl/arity20_1.hpp | 1 +
.../detail/components_impl/arity30_0.hpp | 1 +
.../detail/components_impl/arity30_1.hpp | 1 +
.../detail/components_impl/arity40_0.hpp | 1 +
.../detail/components_impl/arity40_1.hpp | 1 +
.../detail/components_impl/arity50_0.hpp | 1 +
.../detail/components_impl/arity50_1.hpp | 1 +
.../detail/synthesize_impl/arity10_0.hpp | 1 +
.../detail/synthesize_impl/arity20_0.hpp | 339 +++++++++++++++-
.../detail/synthesize_impl/arity30_0.hpp | 384 +++++++++++++++++-
13 files changed, 732 insertions(+), 2 deletions(-)
diff --git a/include/boost/function_types/detail/components_impl/arity10_0.hpp b/include/boost/function_types/detail/components_impl/arity10_0.hpp
index e60d254..f96c6a9 100644
--- a/include/boost/function_types/detail/components_impl/arity10_0.hpp
+++ b/include/boost/function_types/detail/components_impl/arity10_0.hpp
@@ -129,3 +129,4 @@ typedef components_mpl_sequence_tag tag;
typedef mpl::integral_c function_arity;
typedef mpl::vector11< R , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 > types;
};
+
diff --git a/include/boost/function_types/detail/components_impl/arity10_1.hpp b/include/boost/function_types/detail/components_impl/arity10_1.hpp
index 28e0762..1b06a97 100644
--- a/include/boost/function_types/detail/components_impl/arity10_1.hpp
+++ b/include/boost/function_types/detail/components_impl/arity10_1.hpp
@@ -119,3 +119,4 @@ typedef components_mpl_sequence_tag tag;
typedef mpl::integral_c function_arity;
typedef mpl::vector11< R, typename class_transform ::type , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 > types;
};
+
diff --git a/include/boost/function_types/detail/components_impl/arity20_0.hpp b/include/boost/function_types/detail/components_impl/arity20_0.hpp
index ab5f7c8..f6b2ca8 100644
--- a/include/boost/function_types/detail/components_impl/arity20_0.hpp
+++ b/include/boost/function_types/detail/components_impl/arity20_0.hpp
@@ -120,3 +120,4 @@ typedef components_mpl_sequence_tag tag;
typedef mpl::integral_c function_arity;
typedef mpl::vector21< R , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 > types;
};
+
diff --git a/include/boost/function_types/detail/components_impl/arity20_1.hpp b/include/boost/function_types/detail/components_impl/arity20_1.hpp
index 1275d90..1688e6b 100644
--- a/include/boost/function_types/detail/components_impl/arity20_1.hpp
+++ b/include/boost/function_types/detail/components_impl/arity20_1.hpp
@@ -120,3 +120,4 @@ typedef components_mpl_sequence_tag tag;
typedef mpl::integral_c function_arity;
typedef mpl::vector21< R, typename class_transform ::type , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 > types;
};
+
diff --git a/include/boost/function_types/detail/components_impl/arity30_0.hpp b/include/boost/function_types/detail/components_impl/arity30_0.hpp
index 827470b..e85eb3a 100644
--- a/include/boost/function_types/detail/components_impl/arity30_0.hpp
+++ b/include/boost/function_types/detail/components_impl/arity30_0.hpp
@@ -120,3 +120,4 @@ typedef components_mpl_sequence_tag tag;
typedef mpl::integral_c function_arity;
typedef mpl::vector31< R , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 > types;
};
+
diff --git a/include/boost/function_types/detail/components_impl/arity30_1.hpp b/include/boost/function_types/detail/components_impl/arity30_1.hpp
index 9071815..290d21e 100644
--- a/include/boost/function_types/detail/components_impl/arity30_1.hpp
+++ b/include/boost/function_types/detail/components_impl/arity30_1.hpp
@@ -120,3 +120,4 @@ typedef components_mpl_sequence_tag tag;
typedef mpl::integral_c function_arity;
typedef mpl::vector31< R, typename class_transform ::type , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 > types;
};
+
diff --git a/include/boost/function_types/detail/components_impl/arity40_0.hpp b/include/boost/function_types/detail/components_impl/arity40_0.hpp
index 45c678f..f1a2410 100644
--- a/include/boost/function_types/detail/components_impl/arity40_0.hpp
+++ b/include/boost/function_types/detail/components_impl/arity40_0.hpp
@@ -120,3 +120,4 @@ typedef components_mpl_sequence_tag tag;
typedef mpl::integral_c function_arity;
typedef mpl::vector41< R , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 > types;
};
+
diff --git a/include/boost/function_types/detail/components_impl/arity40_1.hpp b/include/boost/function_types/detail/components_impl/arity40_1.hpp
index 132ec52..e1741cb 100644
--- a/include/boost/function_types/detail/components_impl/arity40_1.hpp
+++ b/include/boost/function_types/detail/components_impl/arity40_1.hpp
@@ -120,3 +120,4 @@ typedef components_mpl_sequence_tag tag;
typedef mpl::integral_c function_arity;
typedef mpl::vector41< R, typename class_transform ::type , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 > types;
};
+
diff --git a/include/boost/function_types/detail/components_impl/arity50_0.hpp b/include/boost/function_types/detail/components_impl/arity50_0.hpp
index 54e64e1..693a05d 100644
--- a/include/boost/function_types/detail/components_impl/arity50_0.hpp
+++ b/include/boost/function_types/detail/components_impl/arity50_0.hpp
@@ -120,3 +120,4 @@ typedef components_mpl_sequence_tag tag;
typedef mpl::integral_c function_arity;
typedef mpl::vector51< R , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 , T48 , T49 > types;
};
+
diff --git a/include/boost/function_types/detail/components_impl/arity50_1.hpp b/include/boost/function_types/detail/components_impl/arity50_1.hpp
index d9da37b..9bc1616 100644
--- a/include/boost/function_types/detail/components_impl/arity50_1.hpp
+++ b/include/boost/function_types/detail/components_impl/arity50_1.hpp
@@ -120,3 +120,4 @@ typedef components_mpl_sequence_tag tag;
typedef mpl::integral_c function_arity;
typedef mpl::vector51< R, typename class_transform ::type , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 , T48 , T49 > types;
};
+
diff --git a/include/boost/function_types/detail/synthesize_impl/arity10_0.hpp b/include/boost/function_types/detail/synthesize_impl/arity10_0.hpp
index 0e6c64b..ad22e50 100644
--- a/include/boost/function_types/detail/synthesize_impl/arity10_0.hpp
+++ b/include/boost/function_types/detail/synthesize_impl/arity10_0.hpp
@@ -331,3 +331,4 @@ typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,10)
};
# undef BOOST_FT_make_type
# undef BOOST_FT_make_type_impl
+
diff --git a/include/boost/function_types/detail/synthesize_impl/arity20_0.hpp b/include/boost/function_types/detail/synthesize_impl/arity20_0.hpp
index 15f1aeb..cb62e69 100644
--- a/include/boost/function_types/detail/synthesize_impl/arity20_0.hpp
+++ b/include/boost/function_types/detail/synthesize_impl/arity20_0.hpp
@@ -177,4 +177,341 @@ typedef typename mpl::next< iter_13 > ::type iter_14;
public:
typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,14)
< typename mpl::deref< iter_0 > ::type
-, typename mpl::deref< iter_1 > ::type
\ No newline at end of file
+, typename mpl::deref< iter_1 > ::type
+, typename mpl::deref< iter_2 > ::type
+, typename mpl::deref< iter_3 > ::type
+, typename mpl::deref< iter_4 > ::type
+, typename mpl::deref< iter_5 > ::type
+, typename mpl::deref< iter_6 > ::type
+, typename mpl::deref< iter_7 > ::type
+, typename mpl::deref< iter_8 > ::type
+, typename mpl::deref< iter_9 > ::type
+, typename mpl::deref< iter_10 > ::type
+, typename mpl::deref< iter_11 > ::type
+, typename mpl::deref< iter_12 > ::type
+, typename mpl::deref< iter_13 > ::type
+, typename mpl::deref< iter_14 > ::type
+> ::type type;
+};
+};
+template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 >
+struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,15)
+{
+typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 BOOST_FT_ell) BOOST_FT_cv ;
+};
+template< >
+struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 16 >
+{
+template struct synthesize_impl_i
+{
+private:
+typedef typename mpl::begin ::type iter_0;
+typedef typename mpl::next< iter_0 > ::type iter_1;
+typedef typename mpl::next< iter_1 > ::type iter_2;
+typedef typename mpl::next< iter_2 > ::type iter_3;
+typedef typename mpl::next< iter_3 > ::type iter_4;
+typedef typename mpl::next< iter_4 > ::type iter_5;
+typedef typename mpl::next< iter_5 > ::type iter_6;
+typedef typename mpl::next< iter_6 > ::type iter_7;
+typedef typename mpl::next< iter_7 > ::type iter_8;
+typedef typename mpl::next< iter_8 > ::type iter_9;
+typedef typename mpl::next< iter_9 > ::type iter_10;
+typedef typename mpl::next< iter_10 > ::type iter_11;
+typedef typename mpl::next< iter_11 > ::type iter_12;
+typedef typename mpl::next< iter_12 > ::type iter_13;
+typedef typename mpl::next< iter_13 > ::type iter_14;
+typedef typename mpl::next< iter_14 > ::type iter_15;
+public:
+typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,15)
+< typename mpl::deref< iter_0 > ::type
+, typename mpl::deref< iter_1 > ::type
+, typename mpl::deref< iter_2 > ::type
+, typename mpl::deref< iter_3 > ::type
+, typename mpl::deref< iter_4 > ::type
+, typename mpl::deref< iter_5 > ::type
+, typename mpl::deref< iter_6 > ::type
+, typename mpl::deref< iter_7 > ::type
+, typename mpl::deref< iter_8 > ::type
+, typename mpl::deref< iter_9 > ::type
+, typename mpl::deref< iter_10 > ::type
+, typename mpl::deref< iter_11 > ::type
+, typename mpl::deref< iter_12 > ::type
+, typename mpl::deref< iter_13 > ::type
+, typename mpl::deref< iter_14 > ::type
+, typename mpl::deref< iter_15 > ::type
+> ::type type;
+};
+};
+template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 >
+struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,16)
+{
+typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 BOOST_FT_ell) BOOST_FT_cv ;
+};
+template< >
+struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 17 >
+{
+template struct synthesize_impl_i
+{
+private:
+typedef typename mpl::begin ::type iter_0;
+typedef typename mpl::next< iter_0 > ::type iter_1;
+typedef typename mpl::next< iter_1 > ::type iter_2;
+typedef typename mpl::next< iter_2 > ::type iter_3;
+typedef typename mpl::next< iter_3 > ::type iter_4;
+typedef typename mpl::next< iter_4 > ::type iter_5;
+typedef typename mpl::next< iter_5 > ::type iter_6;
+typedef typename mpl::next< iter_6 > ::type iter_7;
+typedef typename mpl::next< iter_7 > ::type iter_8;
+typedef typename mpl::next< iter_8 > ::type iter_9;
+typedef typename mpl::next< iter_9 > ::type iter_10;
+typedef typename mpl::next< iter_10 > ::type iter_11;
+typedef typename mpl::next< iter_11 > ::type iter_12;
+typedef typename mpl::next< iter_12 > ::type iter_13;
+typedef typename mpl::next< iter_13 > ::type iter_14;
+typedef typename mpl::next< iter_14 > ::type iter_15;
+typedef typename mpl::next< iter_15 > ::type iter_16;
+public:
+typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,16)
+< typename mpl::deref< iter_0 > ::type
+, typename mpl::deref< iter_1 > ::type
+, typename mpl::deref< iter_2 > ::type
+, typename mpl::deref< iter_3 > ::type
+, typename mpl::deref< iter_4 > ::type
+, typename mpl::deref< iter_5 > ::type
+, typename mpl::deref< iter_6 > ::type
+, typename mpl::deref< iter_7 > ::type
+, typename mpl::deref< iter_8 > ::type
+, typename mpl::deref< iter_9 > ::type
+, typename mpl::deref< iter_10 > ::type
+, typename mpl::deref< iter_11 > ::type
+, typename mpl::deref< iter_12 > ::type
+, typename mpl::deref< iter_13 > ::type
+, typename mpl::deref< iter_14 > ::type
+, typename mpl::deref< iter_15 > ::type
+, typename mpl::deref< iter_16 > ::type
+> ::type type;
+};
+};
+template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 >
+struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,17)
+{
+typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 BOOST_FT_ell) BOOST_FT_cv ;
+};
+template< >
+struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 18 >
+{
+template struct synthesize_impl_i
+{
+private:
+typedef typename mpl::begin