| CArgumentHolder | Argument Holder: useful when visiting a model |
| CAssignmentContainer< V, E > | |
| CAssignmentContainer< IntervalVar, IntervalVarElement > | |
| CAssignmentContainer< IntVar, IntVarElement > | |
| CAssignmentContainer< SequenceVar, SequenceVarElement > | |
| ►CAssignmentElement | |
| CIntVarElement | |
| CIntervalVarElement | |
| CSequenceVarElement | The SequenceVarElement stores a partial representation of ranked interval variables in the underlying sequence variable |
| ►CBaseObject | A BaseObject is the root of all reversibly allocated objects |
| CArrayWithOffset< T > | |
| CDecision | A Decision represents a choice point in the search tree |
| ►CDecisionBuilder | A DecisionBuilder is responsible for creating the search tree |
| CIntVarFilteredDecisionBuilder | Decision builder building a solution using heuristics with local search filters to evaluate its feasibility |
| ►CDecisionVisitor | A DecisionVisitor is used to inspect a decision |
| CSymmetryBreaker | A symmetry breaker is an object that will visit a decision and create the 'symmetrical' decision in return |
| ►CDemon | A Demon is the base element of a propagation queue |
| CCallMethod0< T > | Demon proxy to a method on the constraint with no arguments |
| CCallMethod1< T, P > | Demon proxy to a method on the constraint with one argument |
| CCallMethod2< T, P, Q > | Demon proxy to a method on the constraint with two arguments |
| CCallMethod3< T, P, Q, R > | Demon proxy to a method on the constraint with three arguments |
| CDelayedCallMethod0< T > | Low-priority demon proxy to a method on the constraint with no arguments |
| CDelayedCallMethod1< T, P > | Low-priority demon proxy to a method on the constraint with one argument |
| CDelayedCallMethod2< T, P, Q > | Low-priority demon proxy to a method on the constraint with two arguments |
| CIntVarIterator | The class Iterator has two direct subclasses |
| ►CLocalSearchFilter | Local Search Filters are used for fast neighbor pruning |
| ►CIntVarLocalSearchFilter | |
| CBasePathFilter | Generic path-based filter class |
| CCPFeasibilityFilter | This filter accepts deltas for which the assignment satisfies the constraints of the Solver |
| CLocalSearchFilterManager | Filter manager: when a move is made, filters are executed to decide whether the solution is feasible and compute parts of the new cost |
| ►CLocalSearchOperator | The base class for all local search operators |
| ►CVarLocalSearchOperator< IntVar, int64, IntVarLocalSearchHandler > | |
| ►CIntVarLocalSearchOperator | Specialization of LocalSearchOperator built from an array of IntVars which specifies the scope of the operator |
| CBaseLns | This is the base class for building an Lns operator |
| CChangeValue | Defines operators which change the value of variables; each neighbor corresponds to one modified variable |
| ►CFilteredHeuristicLocalSearchOperator | Class of operators using a RoutingFilteredHeuristic to insert unperformed nodes after changes have been made to the current solution |
| CFilteredHeuristicCloseNodesLNSOperator | Filtered heuristic LNS operator, where the destruction phase consists of removing a node and the 'num_close_nodes' nodes closest to it, along with each of their corresponding sibling pickup/deliveries that are performed |
| CFilteredHeuristicExpensiveChainLNSOperator | Similar to the heuristic path LNS above, but instead of removing one route entirely, the destruction phase consists of removing all nodes on an "expensive" chain from a route |
| CFilteredHeuristicPathLNSOperator | LNS-like operator based on a filtered first solution heuristic to rebuild the solution, after the destruction phase consisting of removing one route |
| CRelocatePathAndHeuristicInsertUnperformedOperator | Heuristic-based local search operator which relocates an entire route to an empty vehicle of different vehicle class and then tries to insert unperformed nodes using the heuristic |
| ►CPathOperator | Base class of the local search operators dedicated to path modifications (a path is a set of nodes linked together by arcs) |
| CExchangeSubtrip | |
| CIndexPairSwapActiveOperator | Operator which inserts inactive nodes into a path and makes a pair of active nodes inactive |
| CLightPairRelocateOperator | |
| CMakePairActiveOperator | Pair-based neighborhood operators, designed to move nodes by pairs (pairs are static and given) |
| CMakePairInactiveOperator | Operator which makes pairs of active nodes inactive |
| CMakeRelocateNeighborsOperator | Relocate neighborhood which moves chains of neighbors |
| CPairExchangeOperator | Operator which exchanges the position of two pairs; for both pairs the first node of the pair must be before the second node on the same path |
| CPairExchangeRelocateOperator | Operator which exchanges the paths of two pairs (path have to be different) |
| CPairNodeSwapActiveOperator< swap_first > | Operator which inserts pairs of inactive nodes into a path and makes an active node inactive |
| CPairRelocateOperator | Operator which moves a pair of nodes to another position where the first node of the pair must be before the second node on the same path |
| CRelocateExpensiveChain | RelocateExpensiveChain |
| CRelocateSubtrip | Tries to move subtrips after an insertion node |
| CSwapIndexPairOperator | Operator which iterates through each alternative of a set of pairs |
| ►CVarLocalSearchOperator< V, Val, Handler > | Base operator class for operators manipulating variables |
| CSequenceVarLocalSearchOperator | |
| ►CModelVisitor | Model visitor |
| CModelParser | Model Parser |
| ►CPropagationBaseObject | NOLINT |
| CAssignment | An Assignment is a variable -> domains mapping, used to report solutions to the user |
| ►CConstraint | A constraint is the main modeling object |
| CCastConstraint | Cast constraints are special channeling constraints designed to keep a variable in sync with an expression |
| CDisjunctiveConstraint | |
| CGlobalVehicleBreaksConstraint | GlobalVehicleBreaksConstraint ensures breaks constraints are enforced on all vehicles in the dimension passed to its constructor |
| CPack | |
| CTypeRegulationsConstraint | The following constraint ensures that incompatibilities and requirements between types are respected |
| ►CIntExpr | The class IntExpr is the base of all integer expressions in constraint programming |
| CBaseIntExpr | This is the base class for all expressions that are not variables |
| ►CIntVar | The class IntVar is a subset of IntExpr |
| CBooleanVar | |
| CIntervalVar | Interval variables are often used in scheduling |
| CSequenceVar | A sequence variable is a variable whose domain is a set of possible orderings of the interval variables |
| CRoutingModelVisitor | Routing model visitor |
| ►CSearchMonitor | A search monitor is a simple set of callbacks to monitor all search events |
| CLocalSearchMonitor | |
| COptimizeVar | This class encapsulates an objective |
| CPropagationMonitor | |
| ►CSearchLimit | Base class of all search limits |
| CImprovementSearchLimit | |
| CRegularLimit | Usual limit based on wall_time, number of explored branches and number of failures in the search tree |
| CSearchLog | The base class of all search logs that periodically outputs information when the search is running |
| CSolutionCollector | This class is the root class of all solution collectors |
| CSolutionPool | This class is used to manage a pool of solutions |
| CSimpleBoundCosts::BoundCost | |
| CPathState::Chain | |
| CPathState::ChainRange | |
| CRoutingModel::CostClass | |
| CCumulBoundsPropagator | |
| CDefaultPhaseParameters | This struct holds all parameters for the default search |
| CRoutingModel::CostClass::DimensionCost | SUBTLE: The vehicle's fixed cost is skipped on purpose here, because we can afford to do so: |
| CDimensionCumulOptimizerCore | |
| CDisjunctivePropagator | This class acts like a CP propagator: it takes a set of tasks given by their start/duration/end features, and reduces the range of possible values |
| CLocalSearchFilterManager::FilterEvent | |
| CGlobalCheapestInsertionFilteredHeuristic::GlobalCheapestInsertionParameters | |
| CGlobalDimensionCumulOptimizer | |
| CInitAndGetValues | Utility class to encapsulate an IntVarIterator and use it in a range-based loop |
| CSolver::IntegerCastInfo | Holds semantic information stating that the 'expression' has been cast into 'variable' using the Var() method, and that 'maintainer' is responsible for maintaining the equality between 'variable' and 'expression' |
| CUnaryDimensionChecker::Interval | |
| ►CIntVarFilteredHeuristic | Generic filter-based heuristic applied to IntVars |
| ►CRoutingFilteredHeuristic | Filter-based heuristic dedicated to routing |
| ►CCheapestAdditionFilteredHeuristic | Filtered-base decision builder based on the addition heuristic, extending a path from its start node with the cheapest arc |
| CComparatorCheapestAdditionFilteredHeuristic | A CheapestAdditionFilteredHeuristic where the notion of 'cheapest arc' comes from an arc comparator |
| CEvaluatorCheapestAdditionFilteredHeuristic | A CheapestAdditionFilteredHeuristic where the notion of 'cheapest arc' comes from an arc evaluator |
| ►CCheapestInsertionFilteredHeuristic | |
| CGlobalCheapestInsertionFilteredHeuristic | Filter-based decision builder which builds a solution by inserting nodes at their cheapest position on any route; potentially several routes can be built in parallel |
| CLocalCheapestInsertionFilteredHeuristic | Filter-base decision builder which builds a solution by inserting nodes at their cheapest position |
| CChristofidesFilteredHeuristic | Christofides addition heuristic |
| ►CSavingsFilteredHeuristic | Filter-based decision builder which builds a solution by using Clarke & Wright's Savings heuristic |
| CParallelSavingsFilteredHeuristic | |
| CSequentialSavingsFilteredHeuristic | |
| CIntVarLocalSearchHandler | |
| CInitAndGetValues::Iterator | |
| CPathState::Chain::Iterator | |
| CPathState::ChainRange::Iterator | |
| CPathState::NodeRange::Iterator | |
| CSimpleRevFIFO< T >::Iterator | This iterator is not stable with respect to deletion |
| CLocalDimensionCumulOptimizer | |
| CLocalSearchState | |
| CLocalSearchVariable | |
| CModelCache | Implements a complete cache for model elements: expressions and constraints |
| CRoutingDimension::NodePrecedence | |
| CPathState::NodeRange | |
| CPathState | |
| ►CRev< T > | This class adds reversibility to a POD type |
| CNumericalRev< T > | Subclass of Rev<T> which adds numerical operations |
| ►CRev< int > | |
| CNumericalRev< int > | |
| CRev< uint64 > | |
| ►CRevArray< T > | Reversible array of POD types |
| CNumericalRevArray< T > | Subclass of RevArray<T> which adds numerical operations |
| CRevArray< uint64 > | |
| ►CRevBitSet | This class represents a reversible bitset |
| CRevBitMatrix | Matrix version of the RevBitSet class |
| CRevGrowingArray< T, C > | This class is a reversible growing array |
| CRevImmutableMultiMap< K, V > | Reversible Immutable MultiMap class |
| CRevIntSet< T > | This is a special class to represent a 'residual' set of T |
| CRevIntSet< int > | |
| CRevPartialSequence | --— RevPartialSequence --— |
| CRevSwitch | A reversible switch that can switch once from false to true |
| CRoutingDimension | Dimensions represent quantities accumulated at nodes along the routes |
| CRoutingIndexManager | Manager for any NodeIndex <-> variable index conversion |
| ►CRoutingLinearSolverWrapper | |
| CRoutingCPSatWrapper | |
| CRoutingGlopWrapper | |
| CRoutingModel | |
| CSavingsFilteredHeuristic::SavingsContainer< S > | |
| CSavingsFilteredHeuristic::SavingsContainer< Saving > | |
| CSavingsFilteredHeuristic::SavingsParameters | |
| CSolver::SearchLogParameters | Creates a search monitor from logging parameters |
| CSequenceVarLocalSearchHandler | |
| CSimpleBoundCosts | A structure meant to store soft bounds and associated violation constants |
| CSimpleRevFIFO< T > | This class represent a reversible FIFO structure |
| CSimpleRevFIFO< operations_research::Demon * > | |
| CSmallRevBitSet | This class represents a small reversible bitset (size <= 64) |
| CSolutionCollector::SolutionData | |
| CSolver | Solver Class |
| CCheapestInsertionFilteredHeuristic::StartEndValue | |
| CRoutingModel::StateDependentTransit | What follows is relevant for models with time/state dependent transits |
| CSweepArranger | Class to arrange indices by by their distance and their angles from the depot |
| CDisjunctivePropagator::Tasks | A structure to hold tasks described by their features |
| CTravelBounds | |
| CTypeRegulationsChecker::TypePolicyOccurrence | |
| ►CTypeRegulationsChecker | |
| CTypeIncompatibilityChecker | Checker for type incompatibilities |
| CTypeRequirementChecker | Checker for type requirements |
| CUnaryDimensionChecker | |
| CUnsortedNullableRevBitset | This class represents a reversible bitset |
| CRoutingModel::VehicleClass | |
| CRoutingModel::VehicleTypeContainer::VehicleClassEntry | |
| CRoutingModel::VehicleTypeContainer | Struct used to sort and store vehicles by their type |
| CVehicleTypeCurator | Helper class that manages vehicles |