forked from boostorg/bind
Made the Boost logo link to the home page
[SVN r31114]
This commit is contained in:
1 parent
0c96dbe3f1
commit
b85adc3a58
2 files changed
+237
-241
No files matched your search
+24
-27
@@ -7,8 +7,7 @@
|
||||
<body bgcolor="white" style="MARGIN-LEFT: 5%; MARGIN-RIGHT: 5%">
|
||||
<table border="0" width="100%">
|
||||
<tr>
|
||||
<td width="277">
|
||||
<img src="../../boost.png" alt="boost.png (6897 bytes)" width="277" height="86">
|
||||
<td width="277"><A href="../../index.htm"> <img src="../../boost.png" alt="boost.png (6897 bytes)" width="277" height="86" border="0"></A>
|
||||
</td>
|
||||
<td align="center">
|
||||
<h1>mem_fn.hpp</h1>
|
||||
@@ -168,13 +167,12 @@ void k(std::vector<boost::shared_ptr<X> > const & v)
|
||||
</p>
|
||||
<h3><a name="Q4">Why isn't BOOST_MEM_FN_ENABLE_STDCALL defined automatically?</a></h3>
|
||||
<p>
|
||||
Non-portable extensions, in general, should default to
|
||||
off to prevent vendor lock-in. Had BOOST_MEM_FN_ENABLE_STDCALL been defined
|
||||
automatically, you could have accidentally taken advantage of
|
||||
it without realizing that your code is, perhaps, no longer portable.
|
||||
In addition, it is possible for the default
|
||||
calling convention to be __stdcall, in which case enabling __stdcall support will
|
||||
result in duplicate definitions.
|
||||
Non-portable extensions, in general, should default to off to prevent vendor
|
||||
lock-in. Had BOOST_MEM_FN_ENABLE_STDCALL been defined automatically, you could
|
||||
have accidentally taken advantage of it without realizing that your code is,
|
||||
perhaps, no longer portable. In addition, it is possible for the default
|
||||
calling convention to be __stdcall, in which case enabling __stdcall support
|
||||
will result in duplicate definitions.
|
||||
</p>
|
||||
<h2><a name="Interface">Interface</a></h2>
|
||||
<h3><a name="Synopsis">Synopsis</a></h3>
|
||||
@@ -358,8 +356,8 @@ template<class R, class T, class A1, class A2> <i>unspecified-6</i> <a hre
|
||||
</p>
|
||||
<p>
|
||||
For example, Windows API functions and COM interface member functions use a
|
||||
calling convention known as <b>__stdcall</b>. Borland VCL components use <STRONG>__fastcall</STRONG>. UDK, the component model of
|
||||
OpenOffice.org, uses <STRONG>__cdecl</STRONG>.
|
||||
calling convention known as <b>__stdcall</b>. Borland VCL components use <STRONG>__fastcall</STRONG>.
|
||||
UDK, the component model of OpenOffice.org, uses <STRONG>__cdecl</STRONG>.
|
||||
</p>
|
||||
<p>
|
||||
To use <b>mem_fn</b> with <b>__stdcall</b> member functions, <b>#define</b> the
|
||||
@@ -367,18 +365,17 @@ OpenOffice.org, uses <STRONG>__cdecl</STRONG>.
|
||||
indirectly, <b><boost/mem_fn.hpp></b>.
|
||||
</p>
|
||||
<P>To use <B>mem_fn</B> with <B>__fastcall</B> member functions, <B>#define</B> the
|
||||
macro <B>BOOST_MEM_FN_ENABLE_FASTCALL</B> before
|
||||
including <B><boost/mem_fn.hpp></B>.
|
||||
macro <B>BOOST_MEM_FN_ENABLE_FASTCALL</B> before including <B><boost/mem_fn.hpp></B>.
|
||||
</P>
|
||||
<P>To use <B>mem_fn</B> with <B>__cdecl</B> member functions, <B>#define</B> the
|
||||
macro <B>BOOST_MEM_FN_ENABLE_CDECL</B> before including <B><boost/mem_fn.hpp></B>.
|
||||
</P>
|
||||
<P><STRONG>It is best to define these macros in the project options, via -D on the
|
||||
command line, or as the first line in the translation unit (.cpp file) where
|
||||
mem_fn is used.</STRONG> Not following this rule can lead to obscure errors
|
||||
when a header includes mem_fn.hpp before the macro has been defined.</P>
|
||||
<P>[Note: this is a non-portable extension. It is not part of the interface.]
|
||||
</P>
|
||||
<P>To use <B>mem_fn</B> with <B>__cdecl</B> member functions, <B>#define</B> the
|
||||
macro <B>BOOST_MEM_FN_ENABLE_CDECL</B> before including
|
||||
<B><boost/mem_fn.hpp></B>. </P>
|
||||
<P><STRONG>It is best to define these macros in the project options, via -D
|
||||
on the command line, or as the first line in the translation unit (.cpp file)
|
||||
where mem_fn is used.</STRONG> Not following this rule can lead to obscure
|
||||
errors when a header includes mem_fn.hpp before the macro has been defined.</P>
|
||||
<P>[Note: this is a non-portable extension. It is not part of the interface.]
|
||||
</P>
|
||||
<p>
|
||||
[Note: Some compilers provide only minimal support for the <b>__stdcall</b> keyword.]
|
||||
</p>
|
||||
@@ -401,10 +398,10 @@ errors when a header includes mem_fn.hpp before the macro has been defined.</P>
|
||||
<p>Daniel Boelzle pointed out that UDK uses <STRONG>__cdecl</STRONG>.<br>
|
||||
<br>
|
||||
<br>
|
||||
<small>Copyright © 2001, 2002 by Peter Dimov and Multi Media Ltd. Copyright 2003-2005 Peter Dimov. Permission
|
||||
to copy, use, modify, sell and distribute this document is granted provided
|
||||
this copyright notice appears in all copies. This document is provided "as is"
|
||||
without express or implied warranty, and with no claim as to its suitability
|
||||
for any purpose.</small></p>
|
||||
<small>Copyright © 2001, 2002 by Peter Dimov and Multi Media Ltd. Copyright
|
||||
2003-2005 Peter Dimov. Permission to copy, use, modify, sell and distribute
|
||||
this document is granted provided this copyright notice appears in all copies.
|
||||
This document is provided "as is" without express or implied warranty, and with
|
||||
no claim as to its suitability for any purpose.</small></p>
|
||||
</body>
|
||||
</html>
|
||||
Reference in new issue
Block a user