mirror of
https://github.com/portapack-mayhem/mayhem-firmware.git
synced 2025-08-13 21:29:56 +00:00
Formatted code (#1007)
* Updated style * Updated files * fixed new line * Updated spacing * File fix WIP * Updated to clang 13 * updated comment style * Removed old comment code
This commit is contained in:
@@ -39,47 +39,46 @@
|
||||
|
||||
using SignalToken = uint32_t;
|
||||
|
||||
template<class... Args>
|
||||
template <class... Args>
|
||||
struct Signal {
|
||||
using Callback = std::function<void (Args...)>;
|
||||
using Callback = std::function<void(Args...)>;
|
||||
|
||||
SignalToken operator+=(const Callback& callback) {
|
||||
const SignalToken token = next_token++;
|
||||
entries.emplace_back(std::make_unique<CallbackEntry>(callback, token));
|
||||
return token;
|
||||
}
|
||||
SignalToken operator+=(const Callback& callback) {
|
||||
const SignalToken token = next_token++;
|
||||
entries.emplace_back(std::make_unique<CallbackEntry>(callback, token));
|
||||
return token;
|
||||
}
|
||||
|
||||
bool operator-=(const SignalToken token) {
|
||||
entries.remove_if([token](EntryType& entry) {
|
||||
return entry.get()->token == token;
|
||||
});
|
||||
return true;
|
||||
}
|
||||
bool operator-=(const SignalToken token) {
|
||||
entries.remove_if([token](EntryType& entry) {
|
||||
return entry.get()->token == token;
|
||||
});
|
||||
return true;
|
||||
}
|
||||
|
||||
void emit(Args... args) {
|
||||
for(auto& entry : entries) {
|
||||
entry.get()->callback(args...);
|
||||
};
|
||||
}
|
||||
void emit(Args... args) {
|
||||
for (auto& entry : entries) {
|
||||
entry.get()->callback(args...);
|
||||
};
|
||||
}
|
||||
|
||||
private:
|
||||
struct CallbackEntry {
|
||||
const Callback callback;
|
||||
const SignalToken token;
|
||||
private:
|
||||
struct CallbackEntry {
|
||||
const Callback callback;
|
||||
const SignalToken token;
|
||||
|
||||
constexpr CallbackEntry(
|
||||
const Callback& callback,
|
||||
const SignalToken token
|
||||
) : callback { callback },
|
||||
token { token }
|
||||
{
|
||||
}
|
||||
};
|
||||
constexpr CallbackEntry(
|
||||
const Callback& callback,
|
||||
const SignalToken token)
|
||||
: callback{callback},
|
||||
token{token} {
|
||||
}
|
||||
};
|
||||
|
||||
using EntryType = std::unique_ptr<CallbackEntry>;
|
||||
|
||||
std::list<EntryType> entries { };
|
||||
SignalToken next_token = 1;
|
||||
using EntryType = std::unique_ptr<CallbackEntry>;
|
||||
|
||||
std::list<EntryType> entries{};
|
||||
SignalToken next_token = 1;
|
||||
};
|
||||
|
||||
#endif/*__SIGNAL_H__*/
|
||||
#endif /*__SIGNAL_H__*/
|
||||
|
Reference in New Issue
Block a user