/* * ValueGetAction.hpp * * Created on: 23 θών. 2023 γ. * Author: titov */ #ifndef UMLIBRARY_SCHEMATIC_ACTION_VALUEGETACTION_HPP_ #define UMLIBRARY_SCHEMATIC_ACTION_VALUEGETACTION_HPP_ #include "../../systemic/IFunctor.hh" #include "../../systemic/IValue.hpp" namespace schematic { namespace functor { template struct ValueGetAction : public systemic::IFunctor { typedef systemic::IValue Value; typedef systemic::IFunctor Action; Value & value; Action & action; ValueType operator()(); ValueGetAction( Value & value, Action & action ) : value(value), action(action) {} }; } } template inline ValueType schematic::functor::ValueGetAction::operator()() { action(); return value; } #endif /* UMLIBRARY_SCHEMATIC_ACTION_VALUEGETACTION_HPP_ */