MLIR 22.0.0git
mlir::presburger::MaybeOptimum< T > Class Template Reference

#include "mlir/Analysis/Presburger/Utils.h"

Public Member Functions

 MaybeOptimum ()=default
 MaybeOptimum (OptimumKind kind)
 MaybeOptimum (const T &optimum)
OptimumKind getKind () const
bool isBounded () const
bool isUnbounded () const
bool isEmpty () const
std::optional< T > getOptimumIfBounded () const
const T & getBoundedOptimum () const
T & getBoundedOptimum ()
const T & operator* () const
T & operator* ()
const T * operator-> () const
T * operator-> ()
bool operator== (const MaybeOptimum< T > &other) const
template<class Function>
auto map (const Function &f) const &-> MaybeOptimum< decltype(f(optimum))>

Detailed Description

template<typename T>
class mlir::presburger::MaybeOptimum< T >

Definition at line 35 of file Utils.h.

Constructor & Destructor Documentation

◆ MaybeOptimum() [1/3]

template<typename T>
mlir::presburger::MaybeOptimum< T >::MaybeOptimum ( )
default

Referenced by map(), and operator==().

◆ MaybeOptimum() [2/3]

template<typename T>
mlir::presburger::MaybeOptimum< T >::MaybeOptimum ( OptimumKind kind)
inline

Definition at line 43 of file Utils.h.

References mlir::presburger::Bounded.

◆ MaybeOptimum() [3/3]

template<typename T>
mlir::presburger::MaybeOptimum< T >::MaybeOptimum ( const T & optimum)
inline

Definition at line 47 of file Utils.h.

References mlir::presburger::Bounded.

Member Function Documentation

◆ getBoundedOptimum() [1/2]

template<typename T>
T & mlir::presburger::MaybeOptimum< T >::getBoundedOptimum ( )
inline

Definition at line 61 of file Utils.h.

References mlir::presburger::Bounded.

◆ getBoundedOptimum() [2/2]

template<typename T>
const T & mlir::presburger::MaybeOptimum< T >::getBoundedOptimum ( ) const
inline

Definition at line 56 of file Utils.h.

References mlir::presburger::Bounded.

Referenced by operator*(), operator*(), operator->(), and operator->().

◆ getKind()

template<typename T>
OptimumKind mlir::presburger::MaybeOptimum< T >::getKind ( ) const
inline

Definition at line 50 of file Utils.h.

Referenced by mlir::presburger::IntegerRelation::findIntegerLexMin().

◆ getOptimumIfBounded()

template<typename T>
std::optional< T > mlir::presburger::MaybeOptimum< T >::getOptimumIfBounded ( ) const
inline

Definition at line 55 of file Utils.h.

◆ isBounded()

◆ isEmpty()

template<typename T>
bool mlir::presburger::MaybeOptimum< T >::isEmpty ( ) const
inline

◆ isUnbounded()

template<typename T>
bool mlir::presburger::MaybeOptimum< T >::isUnbounded ( ) const
inline

◆ map()

template<typename T>
template<class Function>
auto mlir::presburger::MaybeOptimum< T >::map ( const Function & f) const & -> MaybeOptimum<decltype(f(optimum))>
inline

Definition at line 82 of file Utils.h.

References mlir::presburger::Bounded, and MaybeOptimum().

◆ operator*() [1/2]

template<typename T>
T & mlir::presburger::MaybeOptimum< T >::operator* ( )
inline

Definition at line 67 of file Utils.h.

References getBoundedOptimum().

◆ operator*() [2/2]

template<typename T>
const T & mlir::presburger::MaybeOptimum< T >::operator* ( ) const
inline

Definition at line 66 of file Utils.h.

References getBoundedOptimum().

◆ operator->() [1/2]

template<typename T>
T * mlir::presburger::MaybeOptimum< T >::operator-> ( )
inline

Definition at line 69 of file Utils.h.

References getBoundedOptimum().

◆ operator->() [2/2]

template<typename T>
const T * mlir::presburger::MaybeOptimum< T >::operator-> ( ) const
inline

Definition at line 68 of file Utils.h.

References getBoundedOptimum().

◆ operator==()

template<typename T>
bool mlir::presburger::MaybeOptimum< T >::operator== ( const MaybeOptimum< T > & other) const
inline

Definition at line 70 of file Utils.h.

References mlir::presburger::Bounded, and MaybeOptimum().


The documentation for this class was generated from the following file: