SensESP 3.0.1
Universal Signal K sensor toolkit ESP32
|
The main Transform class. A transform is identified primarily by the type of value that is produces (i.e. a Transform<float> is a ValueProducer<float> that generates float values) More...
#include <sensesp/transforms/transform.h>
Public Member Functions | |
Transform (String config_path="") | |
Transform< C, P > * | connect_from (ValueProducer< P > *producer0, ValueProducer< P > *producer1=NULL, ValueProducer< P > *producer2=NULL, ValueProducer< P > *producer3=NULL, ValueProducer< P > *producer4=NULL) |
![]() | |
TransformBase (const String &config_path) | |
![]() | |
FileSystemSaveable (const String &config_path) | |
virtual bool | load () override |
Load and populate the object from a persistent storage. | |
virtual bool | save () override |
Save the object to a persistent storage. | |
virtual bool | clear () override |
Delete the data from a persistent storage. | |
bool | find_config_file (const String &config_path, String &filename) |
![]() | |
Saveable (const String &config_path) | |
virtual bool | refresh () |
Refresh the object. This may or may not access the persistent storage but is not expected to overwrite the object's state. | |
const String & | get_config_path () const |
![]() | |
virtual bool | to_json (JsonObject &root) |
virtual bool | from_json (const JsonObject &root) |
![]() | |
virtual void | set (const C &new_value) |
virtual void | set_input (const C &new_value) |
void | connect_from (ValueProducer< C > *producer) |
![]() | |
ValueProducer () | |
ValueProducer (const P &initial_value) | |
virtual const P & | get () const |
std::enable_if< std::is_base_of< ValueConsumer< typenameVConsumer::input_type >, VConsumer >::value &&std::is_convertible< P, typenameVConsumer::input_type >::value, std::shared_ptr< VConsumer > >::type | connect_to (std::shared_ptr< VConsumer > consumer) |
Connect a producer to a transform with a different input type. | |
std::enable_if< std::is_base_of< ValueConsumer< typenameVConsumer::input_type >, VConsumer >::value &&std::is_convertible< P, typenameVConsumer::input_type >::value, VConsumer * >::type | connect_to (VConsumer *consumer) |
std::enable_if< std::is_base_of< ValueConsumer< typenameVConsumer::input_type >, VConsumer >::value &&std::is_convertible< P, typenameVConsumer::input_type >::value, VConsumer * >::type | connect_to (VConsumer &consumer) |
void | emit (const P &new_value) |
![]() | |
Observable () | |
Observable (Observable &&other) | |
Move constructor. | |
void | notify () |
void | attach (std::function< void()> observer) |
Additional Inherited Members | |
![]() | |
using | input_type |
![]() | |
static const std::set< TransformBase * > & | get_transforms () |
![]() | |
const String | config_path_ |
![]() | |
P | output_ |
The main Transform class. A transform is identified primarily by the type of value that is produces (i.e. a Transform<float> is a ValueProducer<float> that generates float values)
Definition at line 51 of file transform.h.
|
inline |
Definition at line 55 of file transform.h.
|
inline |
A convenience method that allows up to five producers to be quickly connected to the input of the ValueConsumer side of this transform. The first producer will be connected to input channel zero, the second one to input channel 1, etc. "this" is returned, which allows the ValueProducer side of this transform to then be wired to other transforms via a call to connect_to().
Definition at line 67 of file transform.h.