Class ReactorElement

Inheritance Relationships

Derived Types

Class Documentation

class ReactorElement

Subclassed by reactor::BaseAction, reactor::BasePort, reactor::Reaction, reactor::Reactor

Public Types

enum class Type

Values:

enumerator Action
enumerator Port
enumerator Reaction
enumerator Reactor
enumerator Input
enumerator Output

Public Functions

ReactorElement(const std::string &name, Type type, Reactor *container)
ReactorElement(const std::string &name, Type type, Environment *environment)
virtual ~ReactorElement() = default
ReactorElement(const ReactorElement&) = delete
ReactorElement(ReactorElement&&) = default
inline auto container() const noexcept -> Reactor*
inline auto name() const noexcept -> const std::string&
inline auto fqn() const noexcept -> const std::string&
inline auto environment() noexcept -> Environment*
inline auto environment() const noexcept -> const Environment*
inline auto is_top_level() const noexcept -> bool
virtual void startup() = 0
virtual void shutdown() = 0

Private Functions

auto fqn_detail(std::stringstream &string_stream) const noexcept -> std::stringstream&

Private Members

const std::string name_ = {}
std::string fqn_ = {}
Reactor *const container_ = {nullptr}
Environment *environment_ = {}