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:
jLynx
2023-05-19 08:16:05 +12:00
committed by GitHub
parent 7aca7ce74d
commit 033c4e9a5b
599 changed files with 70746 additions and 66896 deletions

View File

@@ -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__*/