idfxx 1.0.0
Modern C++23 components for ESP-IDF
Loading...
Searching...
No Matches
event.hpp File Reference

Event loop library. More...

#include <idfxx/chrono>
#include <idfxx/cpu>
#include <idfxx/error>
#include <concepts>
#include <esp_event.h>
#include <functional>
#include <type_traits>
#include <utility>

Go to the source code of this file.

Classes

class  idfxx::event_base< IdEnum >
 Typed event base template. More...
 
struct  idfxx::event< IdEnum, DataType >
 A typed event that pairs an event ID with its data type. More...
 
class  idfxx::event_loop
 Base class for event loops. More...
 
struct  idfxx::event_loop::task_config
 Configuration for a dedicated event dispatch task. More...
 
class  idfxx::event_loop::listener_handle
 Handle to a registered event listener. More...
 
class  idfxx::event_loop::unique_listener_handle
 RAII handle for event listener registration. More...
 
class  idfxx::user_event_loop
 User-created event loop with manual dispatch. More...
 

Namespaces

namespace  idfxx
 

Concepts

concept  idfxx::receivable_event_data
 Concept for types that can be received as event data.
 
concept  idfxx::event_data
 Concept for types that can be both received and posted as event data.
 

Macros

#define IDFXX_EVENT_DEFINE_BASE(name, id_enum)
 Defines an event base.
 

Typedefs

template<typename DataType >
using idfxx::event_handler = typename event_handler_traits< DataType >::type
 Handler type for typed event listeners.
 
template<typename IdEnum >
using idfxx::opaque_event_handler = std::move_only_function< void(event_base< IdEnum > base, IdEnum id, void *event_data) const >
 Callback type for wildcard event listeners.
 

Detailed Description

Event loop library.

Definition in file event.hpp.