Nui
Classes | Typedefs | Functions | Variables
Nui::Detail Namespace Reference

Classes

struct  FunctionWrapperImpl
 
struct  FunctionWrapperImpl< ReturnType, std::tuple< nlohmann::json >, std::index_sequence< 0 > >
 
struct  FunctionWrapperImpl< ReturnType, std::tuple< ArgsTypes... >, std::index_sequence< Is... > >
 
struct  FunctionWrapperImpl2
 
struct  FunctionWrapperImpl2< ReturnType, std::tuple< ArgsTypes... > >
 
struct  FunctionWrapper
 
struct  InplaceTag
 
struct  IsObserved
 
struct  IsObserved< Observed< T > >
 
struct  IsWeakObserved
 
struct  IsWeakObserved< std::weak_ptr< Observed< T > > >
 
struct  IsSharedObserved
 
struct  IsSharedObserved< std::shared_ptr< Observed< T > > >
 
struct  IsObservedLike
 
struct  CopyableObservedWrap
 
struct  ObservedAddReference
 
struct  ObservedAddReference< void >
 
struct  ObservedAddReference< std::weak_ptr< Observed< T > > >
 
struct  ObservedAddReference< std::shared_ptr< Observed< T > > >
 
struct  ObservedAddReference< std::weak_ptr< const Observed< T > > >
 
struct  ObservedAddReference< std::shared_ptr< const Observed< T > > >
 
struct  ObservedAddMutableReference
 
struct  ObservedAddMutableReference< void >
 
struct  ObservedAddMutableReference< std::weak_ptr< Observed< T > > >
 
struct  ObservedAddMutableReference< std::shared_ptr< Observed< T > > >
 
class  RangeStateInterval
 
struct  CustomIntervalTreeNode
 
struct  IntervalTreeHook
 
class  FragmentContext
 
class  RangeRenderer
 
class  UnoptimizedRangeRenderer
 
struct  Property
 
struct  Property< Observed< T > >
 
struct  Property< std::weak_ptr< Observed< T > > >
 
struct  IsPropertyImpl
 
struct  IsPropertyImpl< Property< T > >
 
struct  FunctionWrapperImpl< ReturnType, std::tuple< Nui::val >, std::index_sequence< 0 > >
 
struct  FunctionWrapperImpl< ReturnType, std::tuple< ArgType >, std::index_sequence< 0 > >
 
struct  IsOptional
 
struct  IsOptional< std::optional< T > >
 
struct  FunctionTypesImpl
 
struct  FunctionTypesImpl< ReturnT(FunctorT::*)(Arguments...)>
 
struct  FunctionTypesImpl< ReturnT(FunctorT::*)(Arguments...) const >
 
struct  FunctionTypesImpl< ReturnT(*)(Arguments...)>
 
struct  FunctionTypesImpl< ReturnT(FunctorT::*)(Arguments...) noexcept >
 
struct  FunctionTypesImpl< ReturnT(FunctorT::*)(Arguments...) const noexcept >
 
struct  FunctionTypesImpl< ReturnT(*)(Arguments...) noexcept >
 
struct  PickFirst
 
struct  PickFirst< T, Ts... >
 
struct  PickFirst<>
 
struct  TupleFilter
 
struct  TupleFilter< Predicate, Head, Tail... >
 
struct  TuplePushFront
 
struct  TuplePushFront< std::tuple< List... >, Elem >
 
struct  TupleTransform
 
struct  TupleTransform< std::tuple< List... >, Predicate >
 
struct  FlatTupleTransform
 
struct  FlatTupleTransform< std::tuple< List... >, Predicate >
 
struct  MakeScopeExitImpl
 
struct  FileStreamStoreCreator
 
class  ThrottleInstance
 
struct  ThrottleStoreCreator
 
class  TimerInstance
 
struct  TimerStoreCreator
 

Typedefs

template<typename T >
using ObservedAddReference_t = typename ObservedAddReference< std::decay_t< T > >::type
 
template<typename T >
using ObservedAddMutableReference_t = typename ObservedAddMutableReference< std::remove_reference_t< T > >::type
 
template<typename T >
using ObservedAddMutableReference_raw = typename ObservedAddMutableReference< std::remove_reference_t< T > >::raw
 
template<typename... Ts>
using PickFirst_t = typename PickFirst< Ts... >::type
 
template<template< typename > typename Predicate, typename... T>
using TupleFilter_t = typename TupleFilter< Predicate, T... >::type
 
template<typename Tuple , typename Elem >
using TuplePushFront_t = typename TuplePushFront< Tuple, Elem >::type
 
template<typename Tuple , template< typename > typename Predicate>
using TupleTransform_t = typename TupleTransform< Tuple, Predicate >::type
 
template<typename Tuple , template< typename > typename Predicate>
using FlatTupleTransform_t = typename FlatTupleTransform< Tuple, Predicate >::type
 
using FileStreamStore = SelectablesRegistry< std::fstream >
 
using ThrottleStore = SelectablesRegistry< std::shared_ptr< ThrottleInstance > >
 
using TimerStore = SelectablesRegistry< std::shared_ptr< TimerInstance > >
 

Functions

template<typename ArgT >
constexpr static auto extractJsonMember (nlohmann::json const &json) -> decltype(auto)
 
template<typename T , typename Kind >
std::ostream & operator<< (std::ostream &os, RangeStateInterval< T, Kind > const &interval)
 
void makeChildrenUpdateEvent (auto &observedValues, auto &childrenRefabricator, auto &createdSelfWeak)
 
template<typename ArgT >
constexpr static auto extractMember (Nui::val const &val) -> decltype(auto)
 
template<typename Functor , typename ReturnT , typename... Rest>
std::tuple< Rest... > FunctionInferenceHelper (ReturnT(Functor::*)(Rest...))
 
template<typename ReturnT , typename... Rest>
std::tuple< Rest... > FunctionInferenceHelper (ReturnT(*)(Rest...))
 
template<typename Functor , typename ReturnT , typename... Rest>
ReturnT FunctionInferenceHelperRet (ReturnT(Functor::*)(Rest...))
 
template<typename ReturnT , typename... Rest>
ReturnT FunctionInferenceHelperRet (ReturnT(*)(Rest...))
 
template<typename T , typename FuncT , int... Is>
void tupleForEachImpl (T &&t, FuncT &&func, std::integer_sequence< int, Is... >)
 
template<typename T >
T * referenceGObject (T *ptr)
 
template<typename T >
void unreferenceGObject (T *ptr)
 
FileStreamStoregetStore (auto &hub)
 
void eraseTimerInstance (Nui::RpcHub *hub, int32_t id)
 

Variables

template<typename T >
concept IsProperty = IsPropertyImpl<std::decay_t<T>>::value
 
constexpr static char const * fileStreamStoreId = "FileStreamStore"
 
constexpr static char const * throttleStoreId = "ThrottleStore"
 
constexpr static char const * timerStoreId = "TimerStore"
 

Typedef Documentation

◆ FileStreamStore

using Nui::Detail::FileStreamStore = typedef SelectablesRegistry<std::fstream>

◆ FlatTupleTransform_t

template<typename Tuple , template< typename > typename Predicate>
using Nui::Detail::FlatTupleTransform_t = typedef typename FlatTupleTransform<Tuple, Predicate>::type

◆ ObservedAddMutableReference_raw

template<typename T >
using Nui::Detail::ObservedAddMutableReference_raw = typedef typename ObservedAddMutableReference<std::remove_reference_t<T> >::raw

◆ ObservedAddMutableReference_t

template<typename T >
using Nui::Detail::ObservedAddMutableReference_t = typedef typename ObservedAddMutableReference<std::remove_reference_t<T> >::type

◆ ObservedAddReference_t

template<typename T >
using Nui::Detail::ObservedAddReference_t = typedef typename ObservedAddReference<std::decay_t<T> >::type

◆ PickFirst_t

template<typename... Ts>
using Nui::Detail::PickFirst_t = typedef typename PickFirst<Ts...>::type

◆ ThrottleStore

◆ TimerStore

using Nui::Detail::TimerStore = typedef SelectablesRegistry<std::shared_ptr<TimerInstance> >

◆ TupleFilter_t

template<template< typename > typename Predicate, typename... T>
using Nui::Detail::TupleFilter_t = typedef typename TupleFilter<Predicate, T...>::type

◆ TuplePushFront_t

template<typename Tuple , typename Elem >
using Nui::Detail::TuplePushFront_t = typedef typename TuplePushFront<Tuple, Elem>::type

◆ TupleTransform_t

template<typename Tuple , template< typename > typename Predicate>
using Nui::Detail::TupleTransform_t = typedef typename TupleTransform<Tuple, Predicate>::type

Function Documentation

◆ eraseTimerInstance()

void Nui::Detail::eraseTimerInstance ( Nui::RpcHub hub,
int32_t  id 
)

◆ extractJsonMember()

template<typename ArgT >
constexpr static auto Nui::Detail::extractJsonMember ( nlohmann::json const &  json) -> decltype(auto)
staticconstexpr

◆ extractMember()

template<typename ArgT >
constexpr static auto Nui::Detail::extractMember ( Nui::val const &  val) -> decltype(auto)
staticconstexpr

◆ FunctionInferenceHelper() [1/2]

template<typename ReturnT , typename... Rest>
std::tuple< Rest... > Nui::Detail::FunctionInferenceHelper ( ReturnT(*)(Rest...)  )

◆ FunctionInferenceHelper() [2/2]

template<typename Functor , typename ReturnT , typename... Rest>
std::tuple< Rest... > Nui::Detail::FunctionInferenceHelper ( ReturnT(Functor::*)(Rest...)  )

◆ FunctionInferenceHelperRet() [1/2]

template<typename ReturnT , typename... Rest>
ReturnT Nui::Detail::FunctionInferenceHelperRet ( ReturnT(*)(Rest...)  )

◆ FunctionInferenceHelperRet() [2/2]

template<typename Functor , typename ReturnT , typename... Rest>
ReturnT Nui::Detail::FunctionInferenceHelperRet ( ReturnT(Functor::*)(Rest...)  )

◆ getStore()

TimerStore & Nui::Detail::getStore ( auto &  hub)

◆ makeChildrenUpdateEvent()

void Nui::Detail::makeChildrenUpdateEvent ( auto &  observedValues,
auto &  childrenRefabricator,
auto &  createdSelfWeak 
)
inline

◆ operator<<()

template<typename T , typename Kind >
std::ostream& Nui::Detail::operator<< ( std::ostream &  os,
RangeStateInterval< T, Kind > const &  interval 
)

◆ referenceGObject()

template<typename T >
T* Nui::Detail::referenceGObject ( T *  ptr)

◆ tupleForEachImpl()

template<typename T , typename FuncT , int... Is>
void Nui::Detail::tupleForEachImpl ( T &&  t,
FuncT &&  func,
std::integer_sequence< int, Is... >   
)

◆ unreferenceGObject()

template<typename T >
void Nui::Detail::unreferenceGObject ( T *  ptr)

Variable Documentation

◆ fileStreamStoreId

constexpr static char const* Nui::Detail::fileStreamStoreId = "FileStreamStore"
staticconstexpr

◆ IsProperty

template<typename T >
concept Nui::Detail::IsProperty = IsPropertyImpl<std::decay_t<T>>::value

◆ throttleStoreId

constexpr static char const* Nui::Detail::throttleStoreId = "ThrottleStore"
staticconstexpr

◆ timerStoreId

constexpr static char const* Nui::Detail::timerStoreId = "TimerStore"
staticconstexpr