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: 665
Registered: August 2007
Location: Turkey
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: 12519
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 Jun 03 17:46:06 CEST 2020

Total time taken to generate the page: 0.01535 seconds