#ifndef STORM_LOGIC_BOUND_H_ #define STORM_LOGIC_BOUND_H_ #include "storm/logic/ComparisonType.h" #include "storm/utility/constants.h" namespace storm { namespace logic { template struct Bound { Bound(ComparisonType comparisonType, ValueType const& threshold) : comparisonType(comparisonType), threshold(threshold) { // Intentionally left empty. } template Bound convertToOtherValueType() const { return Bound(comparisonType, storm::utility::convertNumber(threshold)); } ComparisonType comparisonType; ValueType threshold; template friend std::ostream& operator<<(std::ostream& out, Bound const& bound); }; template std::ostream& operator<<(std::ostream& out, Bound const& bound) { out << bound.comparisonType << bound.threshold; return out; } } template using Bound = typename logic::Bound; } #endif /* STORM_LOGIC_BOUND_H_ */