Observable Reference
Generic observable objects for C++
Classes | Typedefs | Functions
observable::expr::expr_detail Namespace Reference

Classes

struct  are_any_observable
 Check if any of the provided types are observable. More...
 
struct  is_observable
 Check if a type is either an expression_node or an observable value<ValueType, EqualityComparator>. More...
 
struct  result_node
 Computes the type of the expression_node created for an expression with callable Op and corresponding arguments. More...
 
struct  val_type
 Extract the value type from an expression_node or observable value<ValueType, EqualityComparator>. More...
 

Typedefs

template<typename T >
using val_type_t = typename val_type< T >::type
 Convenience typedef for extracting the value type from an expression_node or observable value<ValueType, EqualityComparator>. More...
 
template<typename Op , typename ... Args>
using result_node_t = typename result_node< Op, Args ... >::type
 Type of the expression_node created for an expression with callable Op and corresponding arguments. More...
 

Functions

template<typename T >
auto make_node (T &&val)
 Create a node from a regular type. More...
 
template<typename T , typename ... R>
auto make_node (value< T, R ... > &val)
 Create a node from an observable value reference. More...
 
template<typename T >
auto make_node (expression_node< T > &&node)
 Create a node from a temporary expression_node. More...
 
template<typename Op , typename ... Args>
auto make_node (Op &&op, Args &&... args)
 Create a node from an operator and an arbitrary number of arguments. More...