Overview
Examples
Screenshots
Comparisons
Applications
Download
Documentation
Tutorials
Bazaar
Status & Roadmap
FAQ
Authors & License
Forums
Funding Ultimate++
Search on this site
Search in forums












SourceForge.net Logo
Home » U++ Library support » U++ Callbacks and Timers » [REQUEST]: Allow callback() template to work also with non-void and non-bool return types.
[REQUEST]: Allow callback() template to work also with non-void and non-bool return types. [message #48764] Tue, 12 September 2017 00:49 Go to next message
Oblivion is currently offline  Oblivion
Messages: 1092
Registered: August 2007
Senior Contributor
Hello,

It seems that callback() template function isn't working with return types other than bool or void.
Is this intentional? Or is it possible to replace it with a more flexible one?

If so, maybe the below template function can do the job (IF I am not missing something here).

template<typename Res, typename... ArgTypes>
Function<Res(ArgTypes...)> callback(Res (*fn)(ArgTypes...))
{
	return [=](ArgTypes... args) { return (*fn)(args...); };
}



Best regards,
Oblivion


[Updated on: Tue, 12 September 2017 01:01]

Report message to a moderator

Re: [REQUEST]: Allow callback() template to work also with non-void and non-bool return types. [message #48775 is a reply to message #48764] Wed, 13 September 2017 19:15 Go to previous message
mirek is currently offline  mirek
Messages: 13975
Registered: November 2005
Ultimate Member
Oblivion wrote on Tue, 12 September 2017 00:49
Hello,

It seems that callback() template function isn't working with return types other than bool or void.
Is this intentional? Or is it possible to replace it with a more flexible one?

If so, maybe the below template function can do the job (IF I am not missing something here).

template<typename Res, typename... ArgTypes>
Function<Res(ArgTypes...)> callback(Res (*fn)(ArgTypes...))
{
	return [=](ArgTypes... args) { return (*fn)(args...); };
}


Best regards,
Oblivion


Callback is deprecated. Use Function.

[Updated on: Wed, 13 September 2017 19:15]

Report message to a moderator

Previous Topic: THISBACK and inheritance
Next Topic: How to properly set a timer
Goto Forum:
  


Current Time: Fri Apr 19 13:30:39 CEST 2024

Total time taken to generate the page: 0.04809 seconds