/* * Mirai. Copyright (C) 2024 Vyn * This file is licensed under version 3 of the GNU General Public License (GPL-3.0-only) * The license can be found in the LICENSE file or at https://www.gnu.org/licenses/gpl-3.0.txt */ #include #include template class EventEmitter { public: void registerCallback(std::function func) { callbacks.push_back(func); } void emit(T data) { for (auto &callback : callbacks) { callback(data); } } private: std::vector> callbacks; };