Observers#

template<typename state_t>
class capsule#

helper to display a value

This class only store a reference of data.

Template Parameters:

state_t – type to display

Public Functions

inline capsule(state_t const &dat)#

constructor of capsule

template<typename state_t>
auto observer::make_capsule(state_t const &dat)#

factory of capsule fron a reference to a data

template<typename state_t>
std::ostream &observer::operator<<(std::ostream &os, capsule<state_t> const &data)#

display a capsule which contains an iterable data or not

template<typename Derived_t>
class base_observer#

base class of observer for CRTP

This class provides a call operator to display in the output stream member of derived class

Template Parameters:

Derived_t – concret class which store the output stream

Subclassed by observer::stream_observer< char >, observer::file_observer< char_t >

Public Functions

template<typename state_t, typename value_t>
void operator()(value_t tn, state_t const &un, value_t dt)#

call operator to display current state of simulation: tn un dt separate only with spaces

template<typename char_t>
class stream_observer : public observer::base_observer<stream_observer<char_t>>#

observer that put data into a std::ostream done by user

Public Functions

stream_observer(std::basic_ostream<char_t> &os)#

constructor of stream_observer

Parameters:

os – output stream where put the output

class cout_observer : public observer::stream_observer<char>#

observer that put data into std::cout

Public Functions

inline cout_observer()#

constructor of cout_observer

template<typename char_t = char>
class file_observer : public observer::base_observer<file_observer<char>>#

observer that put data into a file

Public Functions

file_observer(std::filesystem::path path)#

constructor of file_observer

Note

this class creates folder if needed

Parameters:

path – path to the output file

inline file_observer<char> observer::operator""_fobs(char const *str, std::size_t len)#

litteral to convert a string into file_observer