![]() |
Lysa
0.0
Lysa 3D Engine
|
Base class providing a minimal signal/slot facility and a textual representation.
Notes:
Inheritance diagram for Object:Public Member Functions | |
| void | connect (const Signal::signal &name, const Signal::Handler &handler) |
| void | connect (const Signal::signal &name, const std::function< void ()> &handler) |
| void | emit (const Signal::signal &name, void *params=nullptr) |
| virtual std::string | toString () const |
| Object () = default | |
| virtual | ~Object () = default |
Friends | |
| std::ostream & | operator<< (std::ostream &os, const Object &obj) |
|
default |
|
virtualdefault |
| void connect | ( | const Signal::signal & | name, |
| const Signal::Handler & | handler | ||
| ) |
Connects a signal by name to a member/function handler with parameters.
The concrete handler signature is defined by Signal::Handler and allows passing an optional opaque pointer when emitting.
| void connect | ( | const Signal::signal & | name, |
| const std::function< void ()> & | handler | ||
| ) |
| void emit | ( | const Signal::signal & | name, |
| void * | params = nullptr |
||
| ) |
Emits a signal by name, invoking all connected handlers in connection order.
Handlers registered via the Signal::Handler overload receive the params pointer as provided here. Handlers registered via the parameterless overload are called without arguments.
| name | Signal name to emit. |
| params | Optional opaque pointer forwarded to handlers (may be nullptr). |
|
inlinevirtual |
Returns a human-readable representation of the object for logging/debugging. Override in derived types to provide more context.
|
friend |
Stream insertion operator that forwards to toString().