Nui
Loading...
Searching...
No Matches
Classes | Namespaces | Functions
listen.hpp File Reference
#include <nui/event_system/event_context.hpp>
#include <nui/event_system/observed_value.hpp>
#include <utility>
#include <memory>
#include <functional>
#include <type_traits>
Include dependency graph for listen.hpp:

Go to the source code of this file.

Classes

struct  Nui::Detail::IsStdFunction< typename >
 
struct  Nui::Detail::IsStdFunction< std::function< RetT(ArgsT...)> >
 

Namespaces

namespace  Nui
 
namespace  Nui::Detail
 

Functions

template<typename ValueT >
void Nui::listen (EventContext &eventContext, Observed< ValueT > const &obs, std::function< bool(ValueT const &)> onEvent)
 
template<typename ValueT >
requires std::is_scalar_v<ValueT>
void Nui::listen (EventContext &eventContext, Observed< ValueT > const &obs, std::function< bool(ValueT)> onEvent)
 
template<typename ValueT >
void Nui::listen (EventContext &eventContext, Observed< ValueT > const &obs, std::function< void(ValueT const &)> onEvent)
 
template<typename ValueT >
requires std::is_scalar_v<ValueT>
void Nui::listen (EventContext &eventContext, Observed< ValueT > const &obs, std::function< void(ValueT)> onEvent)
 
template<typename ValueT , typename FunctionT >
requires ( (std::invocable<FunctionT, ValueT const&> || std::invocable<FunctionT, ValueT>) && !Detail::IsStdFunction<FunctionT>::value)
void Nui::listen (EventContext &eventContext, Observed< ValueT > const &obs, FunctionT &&onEvent)
 
template<typename ValueT >
void Nui::listen (EventContext &eventContext, std::shared_ptr< Observed< ValueT > > const &obs, std::function< bool(ValueT const &)> onEvent)
 
template<typename ValueT >
requires std::is_scalar_v<ValueT>
void Nui::listen (EventContext &eventContext, std::shared_ptr< Observed< ValueT > > const &obs, std::function< bool(ValueT)> onEvent)
 
template<typename ValueT >
void Nui::listen (EventContext &eventContext, std::shared_ptr< Observed< ValueT > > const &obs, std::function< void(ValueT const &)> onEvent)
 
template<typename ValueT >
requires std::is_scalar_v<ValueT>
void Nui::listen (EventContext &eventContext, std::shared_ptr< Observed< ValueT > > const &obs, std::function< void(ValueT)> onEvent)
 
template<typename ValueT , typename FunctionT >
requires ( (std::invocable<FunctionT, ValueT const&> || std::invocable<FunctionT, ValueT>) && !Detail::IsStdFunction<FunctionT>::value)
void Nui::listen (EventContext &eventContext, std::shared_ptr< Observed< ValueT > > const &obs, FunctionT &&onEvent)
 
template<typename ValueT , typename FunctionT >
requires ( (std::invocable<FunctionT, ValueT const&> || std::invocable<FunctionT, ValueT>) && !Detail::IsStdFunction<FunctionT>::value)
void Nui::listen (std::shared_ptr< Observed< ValueT > > const &obs, FunctionT &&onEvent)
 
template<typename ValueT , typename FunctionT >
requires ( (std::invocable<FunctionT, ValueT const&> || std::invocable<FunctionT, ValueT>) && !Detail::IsStdFunction<FunctionT>::value)
void Nui::listen (Observed< ValueT > const &obs, FunctionT &&onEvent)