Advanced Framework for Event-Driven Programming in C++

Build your applications in clean, scalable, event driven way

Get Started

Key Features

Multithreading performance

Emittra was built with multithreaded perfromance in mind, using moodycamel::ConcurrentQueue, a lock-free, high-performance multithreaded queue as core for multithread scheduling.

See Emittra in Action


#include "emittra/emittra.hpp"
#include <iostream>
#include <string>

int main() {
    emittra::Emittra emitter;

    // Register an event listener
    emitter.on("greet", [](const auto& respond, const std::vector<std::any>& args) {
        std::cout << "Hello, " << std::any_cast<std::string>(args[0]) << "!" << std::endl;
    });

    // Emit an event
    emitter.emit("greet", {"World"s});

    // Process the emitted events
    emitter.flush();

    return 0;
}
                        

Ready to event-drive your C++ project?