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: 702
Registered: August 2007
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: 12616
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: Wed Aug 12 00:02:57 CEST 2020

Total time taken to generate the page: 0.00845 seconds