8template<storm::OptimizationDirection Dir, 
typename ValueType>
 
   10    if constexpr (!SupportsInfinity) {
 
 
   15template<storm::OptimizationDirection Dir, 
typename ValueType>
 
   17    if constexpr (!SupportsInfinity) {
 
   22template<storm::OptimizationDirection Dir, 
typename ValueType>
 
   25    if constexpr (!SupportsInfinity) {
 
 
   31template<storm::OptimizationDirection Dir, 
typename ValueType>
 
   33    data.value = std::move(value);
 
   34    if constexpr (!SupportsInfinity) {
 
 
   40template<storm::OptimizationDirection Dir, 
typename ValueType>
 
   42    if constexpr (!SupportsInfinity) {
 
   48        return value < data.value;
 
   51        return value > data.value;
 
   55template<storm::OptimizationDirection Dir, 
typename ValueType>
 
   60    return *
this &= *other;
 
 
 
   63template<storm::OptimizationDirection Dir, 
typename ValueType>
 
   68    return *
this &= std::move(*other);
 
 
   71template<storm::OptimizationDirection Dir, 
typename ValueType>
 
   75        if constexpr (!SupportsInfinity) {
 
   83template<storm::OptimizationDirection Dir, 
typename ValueType>
 
   86        data.value = std::move(value);
 
   87        if constexpr (!SupportsInfinity) {
 
   95template<storm::OptimizationDirection Dir, 
typename ValueType>
 
   97    if constexpr (SupportsInfinity) {
 
   98        return data.value == data.baseValue();
 
  104template<storm::OptimizationDirection Dir, 
typename ValueType>
 
  110template<storm::OptimizationDirection Dir, 
typename ValueType>
 
  116template<storm::OptimizationDirection Dir, 
typename ValueType>
 
  125template<storm::OptimizationDirection Dir, 
typename ValueType>
 
  127    if constexpr (SupportsInfinity) {
 
  128        data.value = data.baseValue();
 
 
 
  137#if defined(STORM_HAVE_CLN) 
  141#if defined(STORM_HAVE_GMP) 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Stores and manages an extremal (maximal or minimal) value.
bool operator&=(Extremum const &other)
Updates the stored value, if the given extremal value is better.
ValueType const & operator*() const
std::optional< ValueType > getOptionalValue() const
bool better(ValueType const &value) const
void reset()
Forgets the extremal value so that this represents the extremum over an empty set.
Extremum & operator=(Extremum const &)=default
#define STORM_LOG_ASSERT(cond, message)
bool constexpr maximize(OptimizationDirection d)
bool constexpr minimize(OptimizationDirection d)