/* * ValueTransformation.hpp * * Created on: 9 èþë. 2020 ã. * Author: LeonidTitov */ #ifndef UMLIBRARY_SCHEMATIC_VALUETRANSFORMATION_HPP_ #define UMLIBRARY_SCHEMATIC_VALUETRANSFORMATION_HPP_ #include "../systemic/IValue.hpp" namespace schematic { template class ValueTransformation : public systemic::IValue { public: ValueTransformation( systemic::IValue & value, const Transformation & transformation ); operator T() const; private: systemic::IValue & value; const Transformation & transformation; }; } template inline schematic::ValueTransformation::ValueTransformation( systemic::IValue & value, const Transformation & transformation ) : value(value), transformation(transformation) {} template inline schematic::ValueTransformation::operator T() const { return transformation( value ); } #endif /* UMLIBRARY_SCHEMATIC_VALUETRANSFORMATION_HPP_ */