diff --git a/doc/function_types.qbk b/doc/function_types.qbk index 598a7b5..2d97d32 100644 --- a/doc/function_types.qbk +++ b/doc/function_types.qbk @@ -897,7 +897,7 @@ definition of [^BOOST_FT_CC_NAMES]: [section:BOOST_FT_CC BOOST_FT\_CC\_*] -Enables a specific calling convention. * denotes the macro suffix, as +Enables a specific calling convention. * dentoes the macro suffix, as defined by [link boost_functiontypes.reference.macros.BOOST_FT_CC_NAMES [^BOOST_FT_CC_NAMES]] or diff --git a/doc/html/boost_functiontypes/about_tag_types.html b/doc/html/boost_functiontypes/about_tag_types.html index 7d07a85..d16c916 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 - + - - + + - + - - + +
Boost C++ LibrariesHomeHome LibrariesPeopleFAQPeopleFAQ More

@@ -24,8 +24,7 @@

- About Tag Types -

+ About Tag Types

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- @@ -85,11 +84,7 @@ - +
Copyright © 2004 -2007 Tobias Schwinger


diff --git a/doc/html/boost_functiontypes/acknowledgements.html b/doc/html/boost_functiontypes/acknowledgements.html index b0498b7..414b34e 100644 --- a/doc/html/boost_functiontypes/acknowledgements.html +++ b/doc/html/boost_functiontypes/acknowledgements.html @@ -1,20 +1,20 @@ -Acknowledgements + Acknowledgements - + - + - + - - + +
Boost C++ LibrariesHomeHome LibrariesPeopleFAQPeopleFAQ More

@@ -23,8 +23,7 @@

- Acknowledgements -

+ Acknowledgements

Thanks go to the following people for supporting the development of this library in one or the other way: @@ -79,11 +78,7 @@ - +
Copyright © 2004 -2007 Tobias Schwinger


diff --git a/doc/html/boost_functiontypes/introduction.html b/doc/html/boost_functiontypes/introduction.html index cdaf6b1..8287622 100644 --- a/doc/html/boost_functiontypes/introduction.html +++ b/doc/html/boost_functiontypes/introduction.html @@ -1,21 +1,21 @@ -Introduction + Introduction - + - + - + - - + +
Boost C++ LibrariesHomeHome LibrariesPeopleFAQPeopleFAQ More

@@ -24,8 +24,7 @@

- Introduction -

+ Introduction

Boost.FunctionTypes provides functionality to classify, decompose and synthesize function, function pointer, function reference and pointer to member types. @@ -57,34 +56,35 @@ constant called value.

-is_function_pointer< bool(*)(int) >::value // == true 
+is_function_pointer< bool(*)(int) >::value // == true 
 
-function_arity< bool(*)(int) >::value // == 1
+function_arity< bool(*)(int) >::value // == 1
 

Templates that encapsulate properties that are single types contain a type member called type.

-function_type< mpl::vector<bool,int> >::type // is bool(int)
+function_type< mpl::vector<bool,int> >::type // is bool(int)
 
-result_type< bool(&)(int) >::type // is bool
+result_type< bool(&)(int) >::type // is bool
 

Templates that encapsulate properties that are type lists model an MPL-compatible type sequence.

-parameter_types< bool(int) > // models an MPL sequence
+parameter_types< bool(int) > // models an MPL sequence
 
- +
Copyright © 2004 -2007 Tobias Schwinger

diff --git a/doc/html/boost_functiontypes/rationale.html b/doc/html/boost_functiontypes/rationale.html index 5ba69d0..475a795 100644 --- a/doc/html/boost_functiontypes/rationale.html +++ b/doc/html/boost_functiontypes/rationale.html @@ -1,21 +1,21 @@ -Rationale + Rationale - + - - + + - + - - + +
Boost C++ LibrariesHomeHome LibrariesPeopleFAQPeopleFAQ More

@@ -24,13 +24,12 @@

- Rationale -

-

- - Error + Rationale

+

+ + Error handling rationale -

+

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 @@ -41,10 +40,10 @@ The library's components have limited error conditions, so problematic input can be spotted easily.

-

- - Why MPL Sequences? -

+

+ + Why MPL Sequences? +

MPL provides algorithms on Sequences, so transformations (such as turning by-value parameter types into const references for optimized forwarding or computing @@ -54,20 +53,20 @@ other Boost libraries (most importantly Fusion), so another reason is interoperability.

-

- - Pointer +

+ + Pointer to member object types -

+

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 @@ -80,10 +79,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.

@@ -99,12 +98,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. @@ -114,23 +113,25 @@ 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. @@ -138,11 +139,7 @@ - +
Copyright © 2004 -2007 Tobias Schwinger


diff --git a/doc/html/boost_functiontypes/reference.html b/doc/html/boost_functiontypes/reference.html index eacf2d4..91fe6f3 100644 --- a/doc/html/boost_functiontypes/reference.html +++ b/doc/html/boost_functiontypes/reference.html @@ -1,21 +1,22 @@ -Reference + Reference - + - - + + - + - - + +
Boost C++ LibrariesHomeHome LibrariesPeopleFAQPeopleFAQ More

@@ -24,8 +25,7 @@

- Reference -

+ Reference
Class templates for type classification
@@ -39,11 +39,7 @@
- +
Copyright © 2004 -2007 Tobias Schwinger

diff --git a/doc/html/boost_functiontypes/reference/classification.html b/doc/html/boost_functiontypes/reference/classification.html index 2f49b79..699dae9 100644 --- a/doc/html/boost_functiontypes/reference/classification.html +++ b/doc/html/boost_functiontypes/reference/classification.html @@ -1,21 +1,23 @@ -Class templates for type classification + Class + templates for type classification - + - - - + + + - + - - + +
Boost C++ LibrariesHomeHome LibrariesPeopleFAQPeopleFAQ More

@@ -24,9 +26,9 @@

- Class - templates for type classification -

+ Class + templates for type classification
is_function
@@ -47,11 +49,12 @@

- - is_function -

+ + is_function
-template<typename T, typename Tag = null_tag>
+template<typename T, typename Tag = null_tag>
 struct is_function;
 

@@ -90,11 +93,12 @@

- - is_function_pointer -

+ + is_function_pointer
-template<typename T, typename Tag = null_tag>
+template<typename T, typename Tag = null_tag>
 struct is_function_pointer;
 

@@ -133,11 +137,12 @@

- - is_function_reference -

+ + is_function_reference
-template<typename T, typename Tag = null_tag>
+template<typename T, typename Tag = null_tag>
 struct is_function_reference;
 

@@ -176,11 +181,12 @@

- - is_member_pointer -

+ + is_member_pointer
-template<typename T, typename Tag = null_tag>
+template<typename T, typename Tag = null_tag>
 struct is_member_pointer;
 

@@ -219,9 +225,9 @@

- - is_member_object_pointer -

+ + is_member_object_pointer
 template<typename T>
 struct is_member_object_pointer;
@@ -257,11 +263,12 @@
 
 
+ + is_member_function_pointer
-template<typename T, typename Tag = null_tag>
+template<typename T, typename Tag = null_tag>
 struct is_member_function_pointer;
 

@@ -300,11 +307,12 @@

+ + is_callable_builtin
-template<typename T, typename Tag = null_tag>
+template<typename T, typename Tag = null_tag>
 struct is_callable_builtin;
 

@@ -343,11 +351,12 @@

+ + is_nonmember_callable_builtin
-template<typename T, typename Tag = null_tag>
+template<typename T, typename Tag = null_tag>
 struct is_nonmember_callable_builtin;
 

@@ -388,11 +397,7 @@ - +
Copyright © 2004 -2007 Tobias Schwinger


diff --git a/doc/html/boost_functiontypes/reference/decomposition.html b/doc/html/boost_functiontypes/reference/decomposition.html index b4447e4..bb1b431 100644 --- a/doc/html/boost_functiontypes/reference/decomposition.html +++ b/doc/html/boost_functiontypes/reference/decomposition.html @@ -1,21 +1,24 @@ -Class templates for type decomposition + Class templates + for type decomposition - + - - - + + + - + - - + +
Boost C++ LibrariesHomeHome LibrariesPeopleFAQPeopleFAQ More

@@ -24,9 +27,9 @@
+ Class templates + for type decomposition
result_type
@@ -39,9 +42,9 @@
+ + result_type
 template<typename F>
 struct result_type;
@@ -75,9 +78,9 @@
 
 
 
 template<typename F, class ClassTransform = add_reference<_> >
 struct parameter_types;
@@ -121,9 +124,9 @@
 
 
 
 template<typename F>
 struct function_arity;
@@ -166,9 +169,9 @@
 
 
 
 template<typename T, class ClassTransform = add_reference<_> >
 struct components;
@@ -213,17 +216,14 @@
         

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 ea3f1eb..48cfda6 100644 --- a/doc/html/boost_functiontypes/reference/macros.html +++ b/doc/html/boost_functiontypes/reference/macros.html @@ -1,21 +1,21 @@ -Macros + Macros - + - - - + + + - + - - + +
Boost C++ LibrariesHomeHome LibrariesPeopleFAQPeopleFAQ More

@@ -24,8 +24,7 @@
BOOST_FT_MAX_ARITY
@@ -48,9 +47,9 @@

Expands to a numeric value that describes the maximum function arity supported by the library. @@ -67,16 +66,17 @@

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,13 +106,15 @@

- Enables a specific calling convention. * denotes the macro suffix, as defined - by BOOST_FT_CC_NAMES - or BOOST_FT_BUILTIN_CC_NAMES. + Enables a specific calling convention. * dentoes 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 | @@ -147,9 +149,9 @@

Defining this macro causes the following macros to be defined, if not defined already: @@ -162,9 +164,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 @@ -180,9 +182,9 @@

Set to void for compilers that insist on a void parameter for nullary function types, empty by default. @@ -190,9 +192,9 @@

Disables support for cv-qualified function types. Cv-qualified function types are illegal by the current standard version, but there is a pending @@ -207,9 +209,9 @@

Makes the compiler preprocess as much as possible of the library code (rather than loading already-preprocessed header files) if defined. @@ -217,27 +219,24 @@

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 fdf12ab..f1bed9f 100644 --- a/doc/html/boost_functiontypes/reference/synthesis.html +++ b/doc/html/boost_functiontypes/reference/synthesis.html @@ -1,21 +1,23 @@ -Class templates for type synthesis + Class templates + for type synthesis - + - - - + + + - + - - + +
Boost C++ LibrariesHomeHome LibrariesPeopleFAQPeopleFAQ More

@@ -24,9 +26,9 @@
function_type
@@ -39,11 +41,12 @@
-template<typename Types, typename Tag = null_tag> 
+template<typename Types, typename Tag = null_tag> 
 struct function_type;
 

@@ -81,11 +84,12 @@

-template<typename Types, typename Tag = null_tag> 
+template<typename Types, typename Tag = null_tag> 
 struct function_pointer;
 

@@ -123,11 +127,12 @@

-template<typename Types, typename Tag = null_tag> 
+template<typename Types, typename Tag = null_tag> 
 struct function_reference;
 

@@ -165,11 +170,12 @@

-template<typename Types, typename Tag = null_tag> 
+template<typename Types, typename Tag = null_tag> 
 struct member_function_pointer;
 

@@ -214,11 +220,7 @@ - +
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 847d74f..955296b 100644 --- a/doc/html/boost_functiontypes/reference/tag_types.html +++ b/doc/html/boost_functiontypes/reference/tag_types.html @@ -1,21 +1,22 @@ -Tag Types + Tag Types - + - - - + + + - + - - + +
Boost C++ LibrariesHomeHome LibrariesPeopleFAQPeopleFAQ More

@@ -24,8 +25,7 @@
variadic
@@ -54,9 +54,9 @@
 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,8 +181,7 @@
 typedef unspecified non_cv;
 
@@ -200,9 +199,9 @@
 typedef unspecified const_non_volatile;
 
@@ -220,9 +219,9 @@
 typedef unspecified volatile_non_const;
 
@@ -240,9 +239,9 @@
 typedef unspecified cv_qualified;
 
@@ -260,9 +259,9 @@
 typedef unspecified null_tag;
 
@@ -278,8 +277,7 @@

- tag -

+ tag
 template<class Tag1, class Tag2, 
     class Tag3 = null_tag, class Tag4 = null_tag>
@@ -312,11 +310,7 @@
 
 
-
+
Copyright © 2004 -2007 Tobias Schwinger

diff --git a/doc/html/boost_functiontypes/use_cases.html b/doc/html/boost_functiontypes/use_cases.html index 8cee449..803b994 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 - + - - + + - + - - + +
Boost C++ LibrariesHomeHome LibrariesPeopleFAQPeopleFAQ More

@@ -24,8 +24,7 @@

Generic libraries that accept callable arguments are common in C++. Accepting a callable argument of builin type often involves a lot of repetitive code @@ -144,7 +143,8 @@ 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,11 +165,7 @@ - +
Copyright © 2004 -2007 Tobias Schwinger


diff --git a/doc/html/index.html b/doc/html/index.html index c95f3f7..2f32aa2 100644 --- a/doc/html/index.html +++ b/doc/html/index.html @@ -3,17 +3,17 @@ Chapter 1. Boost.FunctionTypes 2.5 - + - + - + - - + +
Boost C++ LibrariesHomeHome LibrariesPeopleFAQPeopleFAQ More

@@ -27,7 +27,7 @@
-

+

Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

@@ -46,8 +46,8 @@
- - + +

Last revised: March 14, 2008 at 18:36:46 +0000

Last revised: November 05, 2007 at 18:24:58 +0100


Next
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 865efce..f97d385 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 72666d0..c21a4fd 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 9cce212..783b93c 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 823c3cc..811d62a 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