|
CeresEngine 0.2.0
A game development framework
|
#include "CeresEngine/Foundation/Coroutine.hpp"#include "CeresEngine/Foundation/SmartPtr.hpp"#include "CeresEngine/Foundation/Container/Tuple.hpp"#include "CeresEngine/Foundation/Container/Vector.hpp"#include "CeresEngine/Foundation/Threading/Threading.hpp"#include <algorithm>#include <cassert>#include <functional>#include <iterator>#include <mutex>#include <thread>#include <type_traits>#include <utility>Go to the source code of this file.
Classes | |
| struct | CeresEngine::EventDisconnector |
| Interface for type erasure when disconnecting slots. More... | |
| class | CeresEngine::WeakEventConnection |
| Connection class. More... | |
| class | CeresEngine::EventConnection |
| Scoped connection class. More... | |
| struct | CeresEngine::MultithreadPolicy |
| Policy for multi threaded use of events. More... | |
| struct | CeresEngine::SinglethreadPolicy |
| Policy for single threaded use of events. More... | |
| struct | CeresEngine::SinglethreadPolicy::MutexType |
| Dummy mutex type that doesn't do anything. More... | |
| struct | CeresEngine::SinglethreadPolicy::MutexLockType |
| Dummy lock type, that doesn't do any locking. More... | |
| class | CeresEngine::EventAccumulator< S, T, F, A > |
| Event accumulator class template. More... | |
| class | CeresEngine::TEvent< P, R(A...), F > |
| Event template specialization. More... | |
| struct | CeresEngine::TEvent< P, R(A...), F >::Disconnector |
| Implementation of the shared disconnection state used by all connection created by event instances. More... | |
Namespaces | |
| namespace | CeresEngine |
Typedefs | |
| template<typename T , template< typename > typename F = std::function> | |
| using | CeresEngine::Event = TEvent< MultithreadPolicy, T, F > |
| Event type that is safe to use in multithreaded environments, where the event and slots exists in different threads. | |
| template<typename T , template< typename > typename F = std::function> | |
| using | CeresEngine::UnsafeEvent = TEvent< SinglethreadPolicy, T, F > |
| Event type that is unsafe in multithreaded environments. | |
Functions | |
| template<typename P , template< typename > typename F> | |
| auto | CeresEngine::operator co_await (TEvent< P, void(), F > &event) noexcept |
| Creates a new awaitable object for a event. | |
| template<typename P , template< typename > typename F, typename... A> | |
| auto | CeresEngine::operator co_await (TEvent< P, void(A...), F > &event) noexcept |
| Creates a new awaitable object for a event. | |