forked from boostorg/function
Compare commits
1 Commits
svn-branch
...
svn-branch
Author | SHA1 | Date | |
---|---|---|---|
0a5d7d1356 |
@ -7,10 +7,9 @@ project boost/doc ;
|
|||||||
import boostbook : boostbook ;
|
import boostbook : boostbook ;
|
||||||
|
|
||||||
boostbook function-doc
|
boostbook function-doc
|
||||||
:
|
:
|
||||||
function.xml
|
function.xml
|
||||||
:
|
:
|
||||||
<xsl:param>boost.root=../../../..
|
|
||||||
<format>pdf:<xsl:param>boost.url.prefix=http://www.boost.org/doc/libs/release/doc/html
|
<format>pdf:<xsl:param>boost.url.prefix=http://www.boost.org/doc/libs/release/doc/html
|
||||||
;
|
;
|
||||||
|
|
||||||
|
@ -203,11 +203,11 @@ namespace boost {
|
|||||||
{
|
{
|
||||||
switch (op) {
|
switch (op) {
|
||||||
case clone_functor_tag:
|
case clone_functor_tag:
|
||||||
out_buffer.obj_ref = in_buffer.obj_ref;
|
out_buffer.obj_ref.obj_ptr = in_buffer.obj_ref.obj_ptr;
|
||||||
return;
|
return;
|
||||||
|
|
||||||
case move_functor_tag:
|
case move_functor_tag:
|
||||||
out_buffer.obj_ref = in_buffer.obj_ref;
|
out_buffer.obj_ref.obj_ptr = in_buffer.obj_ref.obj_ptr;
|
||||||
in_buffer.obj_ref.obj_ptr = 0;
|
in_buffer.obj_ref.obj_ptr = 0;
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
@ -751,6 +751,9 @@ namespace boost {
|
|||||||
|
|
||||||
~BOOST_FUNCTION_FUNCTION() { clear(); }
|
~BOOST_FUNCTION_FUNCTION() { clear(); }
|
||||||
|
|
||||||
|
#if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
|
||||||
|
// MSVC 6.0 and prior require all definitions to be inline, but
|
||||||
|
// these definitions can become very costly.
|
||||||
result_type operator()(BOOST_FUNCTION_PARMS) const
|
result_type operator()(BOOST_FUNCTION_PARMS) const
|
||||||
{
|
{
|
||||||
if (this->empty())
|
if (this->empty())
|
||||||
@ -759,6 +762,9 @@ namespace boost {
|
|||||||
return get_vtable()->invoker
|
return get_vtable()->invoker
|
||||||
(this->functor BOOST_FUNCTION_COMMA BOOST_FUNCTION_ARGS);
|
(this->functor BOOST_FUNCTION_COMMA BOOST_FUNCTION_ARGS);
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
result_type operator()(BOOST_FUNCTION_PARMS) const;
|
||||||
|
#endif
|
||||||
|
|
||||||
// The distinction between when to use BOOST_FUNCTION_FUNCTION and
|
// The distinction between when to use BOOST_FUNCTION_FUNCTION and
|
||||||
// when to use self_type is obnoxious. MSVC cannot handle self_type as
|
// when to use self_type is obnoxious. MSVC cannot handle self_type as
|
||||||
@ -992,6 +998,22 @@ namespace boost {
|
|||||||
f1.swap(f2);
|
f1.swap(f2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if !BOOST_WORKAROUND(BOOST_MSVC, < 1300)
|
||||||
|
template<typename R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_PARMS>
|
||||||
|
typename BOOST_FUNCTION_FUNCTION<
|
||||||
|
R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_ARGS>::result_type
|
||||||
|
inline
|
||||||
|
BOOST_FUNCTION_FUNCTION<R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_ARGS>
|
||||||
|
::operator()(BOOST_FUNCTION_PARMS) const
|
||||||
|
{
|
||||||
|
if (this->empty())
|
||||||
|
boost::throw_exception(bad_function_call());
|
||||||
|
|
||||||
|
return get_vtable()->invoker
|
||||||
|
(this->functor BOOST_FUNCTION_COMMA BOOST_FUNCTION_ARGS);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
// Poison comparisons between boost::function objects of the same type.
|
// Poison comparisons between boost::function objects of the same type.
|
||||||
template<typename R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_PARMS>
|
template<typename R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_PARMS>
|
||||||
void operator==(const BOOST_FUNCTION_FUNCTION<
|
void operator==(const BOOST_FUNCTION_FUNCTION<
|
||||||
|
Reference in New Issue
Block a user