Google OR-Tools: operations_research::IntVar Class Reference

The class IntVar is a subset of IntExpr. In addition to the IntExpr protocol, it offers persistence, removing values from the domains, and a finer model for events.

Definition at line 4360 of file constraint_solver.h.

#include <constraint_solver.h>

operations_research::IntExpr operations_research::PropagationBaseObject operations_research::BaseObject operations_research::BooleanVar

Public Member Functions

 IntVar (Solver *s)
 IntVar (Solver *s, const std::string &name)
 IntVar (const IntVar &)=delete
IntVaroperator= (const IntVar &)=delete
 ~IntVar () override
bool IsVar () const override
 Returns true if the expression is indeed a variable.
IntVarVar () override
 Creates a variable from the expression.
virtual int64_t Value () const =0
virtual void RemoveValue (int64_t v)=0
 This method removes the value 'v' from the domain of the variable.
virtual void RemoveInterval (int64_t l, int64_t u)=0
virtual void RemoveValues (const std::vector< int64_t > &values)
 This method remove the values from the domain of the variable.
virtual void SetValues (const std::vector< int64_t > &values)
 This method intersects the current domain with the values in the array.
virtual void WhenBound (Demon *d)=0
void WhenBound (Solver::Closure closure)
void WhenBound (Solver::Action action)
virtual void WhenDomain (Demon *d)=0
void WhenDomain (Solver::Closure closure)
void WhenDomain (Solver::Action action)
virtual uint64_t Size () const =0
 This method returns the number of values in the domain of the variable.
virtual bool Contains (int64_t v) const =0
virtual IntVarIteratorMakeHoleIterator (bool reversible) const =0
virtual IntVarIteratorMakeDomainIterator (bool reversible) const =0
virtual int64_t OldMin () const =0
 Returns the previous min.
virtual int64_t OldMax () const =0
 Returns the previous max.
virtual int VarType () const
void Accept (ModelVisitor *visitor) const override
 Accepts the given visitor.
virtual IntVarIsEqual (int64_t constant)=0
 IsEqual.
virtual IntVarIsDifferent (int64_t constant)=0
virtual IntVarIsGreaterOrEqual (int64_t constant)=0
virtual IntVarIsLessOrEqual (int64_t constant)=0
int index () const
 Returns the index of the variable.
Public Member Functions inherited from operations_research::IntExpr
 IntExpr (Solver *const s)
 IntExpr (const IntExpr &)=delete
IntExproperator= (const IntExpr &)=delete
 ~IntExpr () override
virtual int64_t Min () const =0
virtual void SetMin (int64_t m)=0
virtual int64_t Max () const =0
virtual void SetMax (int64_t m)=0
virtual void Range (int64_t *l, int64_t *u)
virtual void SetRange (int64_t l, int64_t u)
 This method sets both the min and the max of the expression.
virtual void SetValue (int64_t v)
 This method sets the value of the expression.
virtual bool Bound () const
 Returns true if the min and the max of the expression are equal.
IntVarVarWithName (const std::string &name)
virtual void WhenRange (Demon *d)=0
 Attach a demon that will watch the min or the max of the expression.
void WhenRange (Solver::Closure closure)
 Attach a demon that will watch the min or the max of the expression.
void WhenRange (Solver::Action action)
 Attach a demon that will watch the min or the max of the expression.
Public Member Functions inherited from operations_research::PropagationBaseObject
 PropagationBaseObject (Solver *const s)
 PropagationBaseObject (const PropagationBaseObject &)=delete
PropagationBaseObjectoperator= (const PropagationBaseObject &)=delete
 ~PropagationBaseObject () override
std::string DebugString () const override
Solversolver () const
void FreezeQueue ()
void UnfreezeQueue ()
void EnqueueDelayedDemon (Demon *const d)
void EnqueueVar (Demon *const d)
void ExecuteAll (const SimpleRevFIFO< Demon * > &demons)
void EnqueueAll (const SimpleRevFIFO< Demon * > &demons)
void set_action_on_fail (Solver::Action a)
void reset_action_on_fail ()
 This method clears the failure callback.
void set_variable_to_clean_on_fail (IntVar *v)
 Shortcut for variable cleaner.
virtual std::string name () const
 Object naming.
void set_name (absl::string_view name)
bool HasName () const
 Returns whether the object has been named or not.
virtual std::string BaseName () const
 Returns a base name for automatic naming.
Public Member Functions inherited from operations_research::BaseObject
 BaseObject ()
 BaseObject (const BaseObject &)=delete
BaseObjectoperator= (const BaseObject &)=delete
virtual ~BaseObject ()=default

◆ IntVar() [1/3]

operations_research::IntVar::IntVar ( Solver * s)
explicit

◆ IntVar() [2/3]

operations_research::IntVar::IntVar ( Solver * s,
const std::string & name )

◆ IntVar() [3/3]

operations_research::IntVar::IntVar ( const IntVar & )
delete
operations_research::IntVar::~IntVar ( )
inlineoverride

◆ Accept()

void operations_research::IntVar::Accept ( ModelVisitor * visitor) const
overridevirtual

◆ Contains()

virtual bool operations_research::IntVar::Contains ( int64_t v) const
pure virtual

◆ index()

int operations_research::IntVar::index ( ) const
inline

◆ IsDifferent()

virtual IntVar * operations_research::IntVar::IsDifferent ( int64_t constant)
pure virtual

◆ IsEqual()

virtual IntVar * operations_research::IntVar::IsEqual ( int64_t constant)
pure virtual

◆ IsGreaterOrEqual()

virtual IntVar * operations_research::IntVar::IsGreaterOrEqual ( int64_t constant)
pure virtual

◆ IsLessOrEqual()

virtual IntVar * operations_research::IntVar::IsLessOrEqual ( int64_t constant)
pure virtual

◆ IsVar()

bool operations_research::IntVar::IsVar ( ) const
inlineoverridevirtual

◆ MakeDomainIterator()

virtual IntVarIterator * operations_research::IntVar::MakeDomainIterator ( bool reversible) const
pure virtual

Creates a domain iterator. When 'reversible' is false, the returned object is created on the normal C++ heap and the solver does NOT take ownership of the object.

Implemented in operations_research::BooleanVar.

◆ MakeHoleIterator()

virtual IntVarIterator * operations_research::IntVar::MakeHoleIterator ( bool reversible) const
pure virtual

Creates a hole iterator. When 'reversible' is false, the returned object is created on the normal C++ heap and the solver does NOT take ownership of the object.

Implemented in operations_research::BooleanVar.

◆ OldMax()

virtual int64_t operations_research::IntVar::OldMax ( ) const
pure virtual

Returns the previous max.

◆ OldMin()

virtual int64_t operations_research::IntVar::OldMin ( ) const
pure virtual

Returns the previous min.

◆ operator=()

IntVar & operations_research::IntVar::operator= ( const IntVar & )
delete

◆ RemoveInterval()

virtual void operations_research::IntVar::RemoveInterval ( int64_t l,
int64_t u )
pure virtual

◆ RemoveValue()

virtual void operations_research::IntVar::RemoveValue ( int64_t v)
pure virtual

◆ RemoveValues()

void operations_research::IntVar::RemoveValues ( const std::vector< int64_t > & values)
virtual

This method remove the values from the domain of the variable.

Definition at line 7325 of file expressions.cc.

◆ SetValues()

void operations_research::IntVar::SetValues ( const std::vector< int64_t > & values)
virtual

This method intersects the current domain with the values in the array.

Definition at line 7382 of file expressions.cc.

◆ Size()

virtual uint64_t operations_research::IntVar::Size ( ) const
pure virtual

◆ Value()

virtual int64_t operations_research::IntVar::Value ( ) const
pure virtual

◆ Var()

IntVar * operations_research::IntVar::Var ( )
inlineoverridevirtual

◆ VarType()

int operations_research::IntVar::VarType ( ) const
virtual

◆ WhenBound() [1/3]

virtual void operations_research::IntVar::WhenBound ( Demon * d)
pure virtual

◆ WhenBound() [2/3]

void operations_research::IntVar::WhenBound ( Solver::Action action)
inline

This method attaches an action that will be awakened when the variable is bound.

Definition at line 4405 of file constraint_solver.h.

◆ WhenBound() [3/3]

void operations_research::IntVar::WhenBound ( Solver::Closure closure)
inline

This method attaches a closure that will be awakened when the variable is bound.

Definition at line 4398 of file constraint_solver.h.

◆ WhenDomain() [1/3]

virtual void operations_research::IntVar::WhenDomain ( Demon * d)
pure virtual

◆ WhenDomain() [2/3]

void operations_research::IntVar::WhenDomain ( Solver::Action action)
inline

This method attaches an action that will watch any domain modification of the domain of the variable.

Definition at line 4421 of file constraint_solver.h.

◆ WhenDomain() [3/3]

void operations_research::IntVar::WhenDomain ( Solver::Closure closure)
inline

This method attaches a closure that will watch any domain modification of the domain of the variable.

Definition at line 4415 of file constraint_solver.h.


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