Index: boost/bind/placeholders.hpp =================================================================== RCS file: /cvsroot/boost/boost/boost/bind/placeholders.hpp,v retrieving revision 1.14 diff -d -u -r1.14 placeholders.hpp --- boost/bind/placeholders.hpp 6 Oct 2005 19:03:19 -0000 1.14 +++ boost/bind/placeholders.hpp 26 Apr 2007 22:36:47 -0000 @@ -25,7 +25,7 @@ namespace { -#if defined(__BORLANDC__) || defined(__GNUC__) +#if defined(BOOST_BIND_ENABLE_INLINE_PLACEHOLDERS) static inline boost::arg<1> _1() { return boost::arg<1>(); } static inline boost::arg<2> _2() { return boost::arg<2>(); } Index: libs/bind/bind.html =================================================================== RCS file: /cvsroot/boost/boost/libs/bind/bind.html,v retrieving revision 1.36 diff -d -u -r1.36 bind.html --- libs/bind/bind.html 9 Nov 2006 19:29:41 -0000 1.36 +++ libs/bind/bind.html 26 Apr 2007 22:37:22 -0000 @@ -76,7 +76,7 @@

Implementation

Files

Dependencies

-

Number of Arguments

+

Arguments

"__stdcall", "__cdecl", "__fastcall", and "pascal" Support

visit_each support

@@ -818,9 +818,21 @@
  • boost/type.hpp
  • -

    Number of Arguments

    +

    Arguments

    This implementation supports function objects with up to nine arguments. This is an implementation detail, not an inherent limitation of the design.

    +

    The placeholder arguments, _1 ... _9, are implemented as objects + with internal linkage by default. Some compilers support an inline + placeholder implementation, which avoids defining data in a header file at + the cost of not supporting the TR1 (3.6.4) CopyConstructible requirement. + To enable inline placeholders define the macro + BOOST_BIND_ENABLE_INLINE_PLACEHOLDERS before including + <boost/bind.hpp>. Note that inline placeholders may be necessary on + some compilers when using non-standard features such as precompiled headers. + If you are not using placeholders at all, you can disable them entirely by + defining the macro BOOST_BIND_NO_PLACEHOLDERS. Note that defining + the placeholder macros makes bind less compliant with the TR1 specification + and may cause compatibility problems.

    "__stdcall", "__cdecl", "__fastcall", and "pascal" Support

    Some platforms allow several types of (member) functions that differ by their calling convention (the rules by which the function is invoked: how are