Initializing help system before first use

# IndicatorDescription

An indicator constraint. More...

Inheritance diagram for xpress::objects::IndicatorDescription:

## Public Member Functions
| IndicatorDescription (Variable indicatorVariable, bool indicatorValue, InequalityDefinition implied)
| Create a indicator constraint description.
virtual auto | getName () const -> std::optional< std::string > override
| Get the name of this constraint.Examples using `getName`: BinBurglar.cpp BoolVars.cpp ContractAllocation.cpp CuttingStock.cpp FolioHeuristic.cpp FolioIIS.cpp FolioInit.cpp FolioMip1.cpp FolioMip2.cpp FolioMipIIS.cpp FolioQC.cpp FolioQP.cpp PolygonObjects.cpp QuadraticProgramming.cpp RecursiveFinancialPlanning.cpp Returns The name of this constraint. Since 44.00 Examples using `getName`:
auto | setName (std::optional< std::string > newName) -> IndicatorDescription &
| Set the name of the constraint.
Public Member Functions inherited from xpress::objects::ConstraintDefinition< Inequality >
virtual auto | setConstraintName (std::optional< std::string > newName) -> ConstraintDefinition< Inequality > &final
| Set the name of this constraint.

## Detailed Description

An indicator constraint.

Note that an indicator constraint does not have a direct representation in Xpress. Instead an indicator constraint comprises of

1. a row/inequality,
2. an indicator variable,
3. a flag that says whether the constraint is active when the variable is 1 or 0. The last two pieces of information are stored and modified along with a row. Consequently, submitting an instance of this class to `addConstraint()` will

- assume that the indicator variable already exists,
- create a row,
- set flag and variable on that row according to the information stored in this instance.

The `name` property of this constraint applies to the row that is associated with this constraint (and that will be created when this instance is submitted to `addConstraints()`).

Instances of this class describe a constraint that has not yet been added but can be added using `XpressProblem.addConstraint()`. Users should usually not have to deal with this class explicitly.

Since
  44.00

## Constructor & Destructor Documentation

## IndicatorDescription()

xpress::objects::IndicatorDescription::IndicatorDescription | ( | Variable | indicatorVariable,
|  | bool | indicatorValue,
|  | InequalityDefinition | implied )
| inline

Create a indicator constraint description.

Parameters

  indicatorVariable | The variable that controls the indicator constraint.
  indicatorValue | Indicated whether the `implied` constraint becomes active if `indicatorVariable` is non-zero (`indicatorValue` is `true`) or if `indicatorVariable` is zero (`indicatorValue` is `false`).
  implied | The inequality that becomes active depending on `indicatorValue` and the value of `indicatorVariable`.

Since
  44.00

## Member Function Documentation

## getName()

auto xpress::objects::IndicatorDescription::getName | ( |  | ) | const -> std::optional<std::string>
| inline override virtual

Get the name of this constraint.Examples using `getName`:

- BinBurglar.cpp
- BoolVars.cpp
- ContractAllocation.cpp
- CuttingStock.cpp
- FolioHeuristic.cpp
- FolioIIS.cpp
- FolioInit.cpp
- FolioMip1.cpp
- FolioMip2.cpp
- FolioMipIIS.cpp
- FolioQC.cpp
- FolioQP.cpp
- PolygonObjects.cpp
- QuadraticProgramming.cpp
- RecursiveFinancialPlanning.cpp

Returns
  The name of this constraint.

Since
  44.00

Examples using `getName`:

- BinBurglar.cpp
- BoolVars.cpp
- ContractAllocation.cpp
- CuttingStock.cpp
- FolioHeuristic.cpp
- FolioIIS.cpp
- FolioInit.cpp
- FolioMip1.cpp
- FolioMip2.cpp
- FolioMipIIS.cpp
- FolioQC.cpp
- FolioQP.cpp
- PolygonObjects.cpp
- QuadraticProgramming.cpp
- RecursiveFinancialPlanning.cpp

Since
  44.00

Reimplemented from xpress::objects::ConstraintDefinition< Inequality >.

## setName()

auto xpress::objects::IndicatorDescription::setName | ( | std::optional< std::string > | newName | ) | -> IndicatorDescription&
| inline

Set the name of the constraint.

This is the same as `ConstraintDefinition#setConstraintName(std::optional<std::string>)` but with a different return type.

Examples using `setName`:

- Catenary.cpp
- ContractAllocation.cpp
- CuttingStock.cpp
- FolioIIS.cpp
- FolioInit.cpp
- FolioMip1.cpp
- FolioMipIIS.cpp
- FolioQC.cpp
- GeneralConstraints.cpp
- ProductionPlanning_Index.cpp
- RecursiveFinancialPlanning.cpp

Parameters

  newName | New name.

Returns
  Always returns this instance.

Since
  44.00

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

- xpress_objects.hpp

Parent Topic objects

© 2001-2026 Fair Isaac Corporation. All rights reserved. This documentation is the property of Fair Isaac Corporation (“FICO”). Receipt or possession of this documentation does not convey rights to disclose, reproduce, make derivative works, use, or allow others to use it except solely for internal evaluation purposes to determine whether to purchase a license to the software described in this documentation, or as otherwise set forth in a written software license agreement between you and FICO (or a FICO affiliate). Use of this documentation and the software described in it must conform strictly to the foregoing permitted uses, and no other use is permitted.