Google OR-Tools v9.15
a fast and portable software suite for combinatorial optimization
Loading...
Searching...
No Matches
operations_research::TypeRegulationsChecker Class Referenceabstract

Detailed Description

Definition at line 2876 of file routing.h.

#include <routing.h>

Inheritance diagram for operations_research::TypeRegulationsChecker:
operations_research::TypeIncompatibilityChecker operations_research::TypeRequirementChecker

Classes

struct  TypePolicyOccurrence

Public Member Functions

 TypeRegulationsChecker (const RoutingModel &model)
virtual ~TypeRegulationsChecker ()=default
bool CheckVehicle (int vehicle, const std::function< int64_t(int64_t)> &next_accessor)

Protected Types

using VisitTypePolicy = RoutingModel::VisitTypePolicy

Protected Member Functions

bool TypeOccursOnRoute (int type) const
bool TypeCurrentlyOnRoute (int type, int pos) const
void InitializeCheck (int vehicle, const std::function< int64_t(int64_t)> &next_accessor)
virtual void OnInitializeCheck ()
virtual bool HasRegulationsToCheck () const =0
virtual bool CheckTypeRegulations (int type, VisitTypePolicy policy, int pos)=0
virtual bool FinalizeCheck () const

Protected Attributes

const RoutingModelmodel_

Member Typedef Documentation

◆ VisitTypePolicy

Constructor & Destructor Documentation

◆ TypeRegulationsChecker()

operations_research::TypeRegulationsChecker::TypeRegulationsChecker ( const RoutingModel & model)
explicit

Definition at line 6903 of file routing.cc.

◆ ~TypeRegulationsChecker()

virtual operations_research::TypeRegulationsChecker::~TypeRegulationsChecker ( )
virtualdefault

Member Function Documentation

◆ CheckTypeRegulations()

virtual bool operations_research::TypeRegulationsChecker::CheckTypeRegulations ( int type,
VisitTypePolicy policy,
int pos )
protectedpure virtual

◆ CheckVehicle()

bool operations_research::TypeRegulationsChecker::CheckVehicle ( int vehicle,
const std::function< int64_t(int64_t)> & next_accessor )

Definition at line 6906 of file routing.cc.

◆ FinalizeCheck()

virtual bool operations_research::TypeRegulationsChecker::FinalizeCheck ( ) const
inlineprotectedvirtual

Definition at line 2926 of file routing.h.

◆ HasRegulationsToCheck()

virtual bool operations_research::TypeRegulationsChecker::HasRegulationsToCheck ( ) const
protectedpure virtual

◆ InitializeCheck()

void operations_research::TypeRegulationsChecker::InitializeCheck ( int vehicle,
const std::function< int64_t(int64_t)> & next_accessor )
protected

Definition at line 6950 of file routing.cc.

◆ OnInitializeCheck()

virtual void operations_research::TypeRegulationsChecker::OnInitializeCheck ( )
inlineprotectedvirtual

Definition at line 2922 of file routing.h.

◆ TypeCurrentlyOnRoute()

bool operations_research::TypeRegulationsChecker::TypeCurrentlyOnRoute ( int type,
int pos ) const
protected

Returns true iff there's at least one instance of the given type on the route when scanning the route at the given position 'pos'. This is the case iff we have at least one added but non-removed instance of the type, or if occurrences_of_type_[type].last_type_on_vehicle_up_to_visit is greater than 'pos'.

Definition at line 6981 of file routing.cc.

◆ TypeOccursOnRoute()

bool operations_research::TypeRegulationsChecker::TypeOccursOnRoute ( int type) const
protected

Returns true iff any occurrence of the given type was seen on the route, i.e. iff the added count for this type is positive, or if a node of this type and policy TYPE_ON_VEHICLE_UP_TO_VISIT is visited on the route (see TypePolicyOccurrence.last_type_on_vehicle_up_to_visit).

Definition at line 6975 of file routing.cc.

Member Data Documentation

◆ model_

const RoutingModel& operations_research::TypeRegulationsChecker::model_
protected

Definition at line 2928 of file routing.h.


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