Observable Reference
Generic observable objects for C++
Namespaces | Classes | Functions
observable Namespace Reference

Namespaces

 detail
 
 expr
 

Classes

class  infinite_subscription
 Infinite subscription that will not unsubscribe the associated observer when destroyed. More...
 
struct  is_value
 Check if a type is a value. More...
 
struct  readonly_value
 Exception thrown if you try to set a value that has an associated updater. More...
 
class  shared_subscription
 Unsubscribe the associated observer when the last instance of the class is destroyed. More...
 
class  subject< ObserverType, EnclosingType >
 Subject specialization that can be used inside a class, as a member, to prevent external code from calling notify(), but still allow anyone to subscribe. More...
 
class  subject< void(Args ...)>
 Store observers and provide a way to notify them when events occur. More...
 
class  unique_subscription
 Unsubscribe the associated observer when destroyed. More...
 
class  updater
 Update all observable values that were associated with an updater instance. More...
 
class  value< ValueType >
 Get notified when a value-type changes. More...
 
class  value< ValueType, EnclosingType >
 Value specialization that can be used inside a class, as a member, to prevent external code from calling set(), but still allow anyone to subscribe. More...
 
class  value_updater
 Interface used to update a value. More...
 

Functions

template<typename ... T>
auto observe (value< T ... > &val)
 Observe changes to a single value with automatic synchronization. More...
 
template<typename ValueType >
auto observe (expr::expression_node< ValueType > &&root)
 Observe changes to an expression tree with automatic evaluation. More...
 
template<typename UpdaterType , typename ... T>
auto observe (UpdaterType &ud, value< T ... > &val)
 Observe changes to a single value with manual synchronization. More...
 
template<typename UpdaterType , typename ValueType >
auto observe (UpdaterType &ud, expr::expression_node< ValueType > &&root)
 Observe changes to an expression tree with manual synchronization. More...