[function] Multi-signature function?
Hi folks,
I know it'd be better to say "overload", but I choose the word carefully
because I'm aware of Boost.OverloadedFunction, which is not what I'm
talking here (it's complementary, though).
What I want is to have std/boost::function support multi-signature itself,
instead of relying on some external wrapper which is less efficient. For
example:
struct A
{
int operator()() const;
int operator()(int val) const;
};
function
AMDG On 03/11/2014 09:22 AM, TONGARI J wrote:
Hi folks,
I know it'd be better to say "overload", but I choose the word carefully because I'm aware of Boost.OverloadedFunction, which is not what I'm talking here (it's complementary, though).
What I want is to have std/boost::function support multi-signature itself, instead of relying on some external wrapper which is less efficient. For example:
http://www.boost.org/doc/html/boost_typeerasure/examples.html#boost_typeeras... In Christ, Steven Watanabe
Hi Steven,
2014-03-12 0:45 GMT+08:00 Steven Watanabe
AMDG
On 03/11/2014 09:22 AM, TONGARI J wrote:
Hi folks,
I know it'd be better to say "overload", but I choose the word carefully because I'm aware of Boost.OverloadedFunction, which is not what I'm talking here (it's complementary, though).
What I want is to have std/boost::function support multi-signature itself, instead of relying on some external wrapper which is less efficient. For example:
http://www.boost.org/doc/html/boost_typeerasure/examples.html#boost_typeeras...
Thanks for the example, seems fairly easy with Boost.TypeErasure, then I'd like to compare the performance :)
Hi there,
2014-03-12 1:19 GMT+08:00 TONGARI J
Hi Steven,
2014-03-12 0:45 GMT+08:00 Steven Watanabe
: AMDG
On 03/11/2014 09:22 AM, TONGARI J wrote:
Hi folks,
I know it'd be better to say "overload", but I choose the word carefully because I'm aware of Boost.OverloadedFunction, which is not what I'm talking here (it's complementary, though).
What I want is to have std/boost::function support multi-signature itself, instead of relying on some external wrapper which is less efficient. For example:
http://www.boost.org/doc/html/boost_typeerasure/examples.html#boost_typeeras...
Thanks for the example, seems fairly easy with Boost.TypeErasure, then I'd like to compare the performance :)
For anyone interested, I wrote a benchmark: https://github.com/jamboree/CxxFunctionBenchmark The usage is degenerated to single signature to compare with other function implementations. You could see the sample result on the page.
participants (2)
-
Steven Watanabe
-
TONGARI J