-
-
Notifications
You must be signed in to change notification settings - Fork 401
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Implement Signal #1012
base: master
Are you sure you want to change the base?
Implement Signal #1012
Conversation
empty when disconnecting a signal
///\todo Support for return types other than void (aggregate etc.) | ||
//*************************************************************************** | ||
template <typename T, size_t LENGTH, typename TSlot = etl::delegate<T>> | ||
class signal final |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If this class is meant to support C++03 then you should use ETL_FINAL
.
You can check basic compatibility from C++03 to C++20 by running the script etl/test/run-syntax-checks.sh
on Linux. You need both GCC and clang installed.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
My primary goal was to be c++14 compliant since that is what I use, but I tried to be as lower compliant as possible. I didn't know that script existed, thanks, I'll run it and see what I find :)
Initial implementation of signal for #666
I implemented something very similar to this on other software and thought this would be useful for this project. I would like to use this version over my other implementation.
Some other things that could be added at some point is being able to pass in an aggregator or some kind of module that can act on all the signals (think sumnation, product, etc).