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

Detailed Description

Definition at line 33 of file enforcement_helper.h.

#include <enforcement_helper.h>

Public Member Functions

 EnforcementHelper (Model *model)
EnforcementId Register (absl::Span< const Literal > enforcement_literals, GenericLiteralWatcher *watcher, int literal_watcher_id)
void AddEnforcementReason (EnforcementId id, std::vector< Literal > *reason) const
ABSL_MUST_USE_RESULT bool PropagateWhenFalse (EnforcementId id, absl::Span< const Literal > literal_reason, absl::Span< const IntegerLiteral > integer_reason)
ABSL_MUST_USE_RESULT bool Enqueue (EnforcementId id, IntegerLiteral i_lit, absl::Span< const Literal > literal_reason, absl::Span< const IntegerLiteral > integer_reason)
ABSL_MUST_USE_RESULT bool SafeEnqueue (EnforcementId id, IntegerLiteral i_lit, absl::Span< const IntegerLiteral > integer_reason)
ABSL_MUST_USE_RESULT bool ConditionalEnqueue (EnforcementId id, Literal lit, IntegerLiteral i_lit, absl::Span< const Literal > literal_reason, absl::Span< const IntegerLiteral > integer_reason)
ABSL_MUST_USE_RESULT bool EnqueueLiteral (EnforcementId id, Literal literal, absl::Span< const Literal > literal_reason, absl::Span< const IntegerLiteral > integer_reason)
bool ReportConflict (EnforcementId id, absl::Span< const IntegerLiteral > integer_reason)
bool ReportConflict (EnforcementId id, absl::Span< const Literal > literal_reason, absl::Span< const IntegerLiteral > integer_reason)
EnforcementStatus Status (EnforcementId id) const
absl::Span< const LiteralGetEnforcementLiterals (EnforcementId id) const

Constructor & Destructor Documentation

◆ EnforcementHelper()

operations_research::sat::EnforcementHelper::EnforcementHelper ( Model * model)
explicit

Definition at line 30 of file enforcement_helper.cc.

Member Function Documentation

◆ AddEnforcementReason()

void operations_research::sat::EnforcementHelper::AddEnforcementReason ( EnforcementId id,
std::vector< Literal > * reason ) const
inline

Definition at line 45 of file enforcement_helper.h.

◆ ConditionalEnqueue()

bool operations_research::sat::EnforcementHelper::ConditionalEnqueue ( EnforcementId id,
Literal lit,
IntegerLiteral i_lit,
absl::Span< const Literal > literal_reason,
absl::Span< const IntegerLiteral > integer_reason )

Definition at line 95 of file enforcement_helper.cc.

◆ Enqueue()

bool operations_research::sat::EnforcementHelper::Enqueue ( EnforcementId id,
IntegerLiteral i_lit,
absl::Span< const Literal > literal_reason,
absl::Span< const IntegerLiteral > integer_reason )

Definition at line 76 of file enforcement_helper.cc.

◆ EnqueueLiteral()

bool operations_research::sat::EnforcementHelper::EnqueueLiteral ( EnforcementId id,
Literal literal,
absl::Span< const Literal > literal_reason,
absl::Span< const IntegerLiteral > integer_reason )

Definition at line 110 of file enforcement_helper.cc.

◆ GetEnforcementLiterals()

absl::Span< const Literal > operations_research::sat::EnforcementHelper::GetEnforcementLiterals ( EnforcementId id) const
inline

Definition at line 89 of file enforcement_helper.h.

◆ PropagateWhenFalse()

bool operations_research::sat::EnforcementHelper::PropagateWhenFalse ( EnforcementId id,
absl::Span< const Literal > literal_reason,
absl::Span< const IntegerLiteral > integer_reason )

Definition at line 49 of file enforcement_helper.cc.

◆ Register()

EnforcementId operations_research::sat::EnforcementHelper::Register ( absl::Span< const Literal > enforcement_literals,
GenericLiteralWatcher * watcher,
int literal_watcher_id )

Definition at line 35 of file enforcement_helper.cc.

◆ ReportConflict() [1/2]

bool operations_research::sat::EnforcementHelper::ReportConflict ( EnforcementId id,
absl::Span< const IntegerLiteral > integer_reason )
inline

Definition at line 75 of file enforcement_helper.h.

◆ ReportConflict() [2/2]

bool operations_research::sat::EnforcementHelper::ReportConflict ( EnforcementId id,
absl::Span< const Literal > literal_reason,
absl::Span< const IntegerLiteral > integer_reason )

Definition at line 120 of file enforcement_helper.cc.

◆ SafeEnqueue()

bool operations_research::sat::EnforcementHelper::SafeEnqueue ( EnforcementId id,
IntegerLiteral i_lit,
absl::Span< const IntegerLiteral > integer_reason )

Definition at line 87 of file enforcement_helper.cc.

◆ Status()

EnforcementStatus operations_research::sat::EnforcementHelper::Status ( EnforcementId id) const
inline

Definition at line 84 of file enforcement_helper.h.


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