Java Reference

Java Reference

PathOperator.java
Go to the documentation of this file.
1 /* ----------------------------------------------------------------------------
2  * This file was automatically generated by SWIG (http://www.swig.org).
3  * Version 4.0.1
4  *
5  * Do not make changes to this file unless you know what you are doing--modify
6  * the SWIG interface file instead.
7  * ----------------------------------------------------------------------------- */
8 
9 package com.google.ortools.constraintsolver;
10 
11 // Used to wrap start_empty_path_class see:
12 // https://docs.oracle.com/javase/8/docs/api/java/util/function/LongToIntFunction.html
13 import java.util.function.LongToIntFunction;
14 
19  private transient long swigCPtr;
20 
21  protected PathOperator(long cPtr, boolean cMemoryOwn) {
22  super(mainJNI.PathOperator_SWIGUpcast(cPtr), cMemoryOwn);
23  swigCPtr = cPtr;
24  }
25 
26  protected static long getCPtr(PathOperator obj) {
27  return (obj == null) ? 0 : obj.swigCPtr;
28  }
29 
30  @SuppressWarnings("deprecation")
31  protected void finalize() {
32  delete();
33  }
34 
35  public synchronized void delete() {
36  if (swigCPtr != 0) {
37  if (swigCMemOwn) {
38  swigCMemOwn = false;
39  mainJNI.delete_PathOperator(swigCPtr);
40  }
41  swigCPtr = 0;
42  }
43  super.delete();
44  }
45 
46  protected void swigDirectorDisconnect() {
47  swigCMemOwn = false;
48  delete();
49  }
50 
51  public void swigReleaseOwnership() {
52  swigCMemOwn = false;
53  mainJNI.PathOperator_change_ownership(this, swigCPtr, false);
54  }
55 
56  public void swigTakeOwnership() {
57  swigCMemOwn = true;
58  mainJNI.PathOperator_change_ownership(this, swigCPtr, true);
59  }
60 
64  public PathOperator(IntVar[] next_vars, IntVar[] path_vars, int number_of_base_nodes, boolean skip_locally_optimal_paths, boolean accept_path_end_base, LongToIntFunction start_empty_path_class) {
65  this(mainJNI.new_PathOperator(next_vars, path_vars, number_of_base_nodes, skip_locally_optimal_paths, accept_path_end_base, start_empty_path_class), true);
66  mainJNI.PathOperator_director_connect(this, swigCPtr, true, true);
67  }
68 
69  public boolean neighbor() {
70  return mainJNI.PathOperator_neighbor(swigCPtr, this);
71  }
72 
73  public void reset() {
74  if (getClass() == PathOperator.class) mainJNI.PathOperator_reset(swigCPtr, this); else mainJNI.PathOperator_resetSwigExplicitPathOperator(swigCPtr, this);
75  }
76 
80  public long Prev(long node) {
81  return mainJNI.PathOperator_Prev(swigCPtr, this, node);
82  }
83 
87  protected boolean oneNeighbor() {
88  return (getClass() == PathOperator.class) ? mainJNI.PathOperator_oneNeighbor(swigCPtr, this) : mainJNI.PathOperator_oneNeighborSwigExplicitPathOperator(swigCPtr, this);
89  }
90 
94  protected void OnNodeInitialization() {
95  if (getClass() == PathOperator.class) mainJNI.PathOperator_OnNodeInitialization(swigCPtr, this); else mainJNI.PathOperator_OnNodeInitializationSwigExplicitPathOperator(swigCPtr, this);
96  }
97 
101  protected boolean restartAtPathStartOnSynchronize() {
102  return (getClass() == PathOperator.class) ? mainJNI.PathOperator_restartAtPathStartOnSynchronize(swigCPtr, this) : mainJNI.PathOperator_restartAtPathStartOnSynchronizeSwigExplicitPathOperator(swigCPtr, this);
103  }
104 
108  protected boolean onSamePathAsPreviousBase(long base_index) {
109  return (getClass() == PathOperator.class) ? mainJNI.PathOperator_onSamePathAsPreviousBase(swigCPtr, this, base_index) : mainJNI.PathOperator_onSamePathAsPreviousBaseSwigExplicitPathOperator(swigCPtr, this, base_index);
110  }
111 
115  protected long getBaseNodeRestartPosition(int base_index) {
116  return (getClass() == PathOperator.class) ? mainJNI.PathOperator_getBaseNodeRestartPosition(swigCPtr, this, base_index) : mainJNI.PathOperator_getBaseNodeRestartPositionSwigExplicitPathOperator(swigCPtr, this, base_index);
117  }
118 
122  protected void setNextBaseToIncrement(long base_index) {
123  if (getClass() == PathOperator.class) mainJNI.PathOperator_setNextBaseToIncrement(swigCPtr, this, base_index); else mainJNI.PathOperator_setNextBaseToIncrementSwigExplicitPathOperator(swigCPtr, this, base_index);
124  }
125 
129  protected boolean ConsiderAlternatives(long base_index) {
130  return (getClass() == PathOperator.class) ? mainJNI.PathOperator_ConsiderAlternatives(swigCPtr, this, base_index) : mainJNI.PathOperator_ConsiderAlternativesSwigExplicitPathOperator(swigCPtr, this, base_index);
131  }
132 
136  protected boolean initPosition() {
137  return (getClass() == PathOperator.class) ? mainJNI.PathOperator_initPosition(swigCPtr, this) : mainJNI.PathOperator_initPositionSwigExplicitPathOperator(swigCPtr, this);
138  }
139 
140 }
boolean onSamePathAsPreviousBase(long base_index)
Returns true if a base node has to be on the same path as the "previous" base node (base node of inde...
void setNextBaseToIncrement(long base_index)
Set the next base to increment on next iteration.
boolean initPosition()
Returns true if the operator needs to restart its initial position at each call to Start()
void swigDirectorDisconnect()
void swigTakeOwnership()
The class IntVar is a subset of IntExpr.
boolean ConsiderAlternatives(long base_index)
Indicates if alternatives should be considered when iterating over base nodes.
boolean restartAtPathStartOnSynchronize()
When the operator is being synchronized with a new solution (when Start() is called),...
boolean oneNeighbor()
This method should not be overridden.
Base class of the local search operators dedicated to path modifications (a path is a set of nodes li...
PathOperator(long cPtr, boolean cMemoryOwn)
long getBaseNodeRestartPosition(int base_index)
Returns the index of the node to which the base node of index base_index must be set to when it reach...
void reset()
void OnNodeInitialization()
Called by OnStart() after initializing node information.
void swigReleaseOwnership()
long Prev(long node)
Returns the node before node in the current delta.
PathOperator(IntVar[] next_vars, IntVar[] path_vars, int number_of_base_nodes, boolean skip_locally_optimal_paths, boolean accept_path_end_base, LongToIntFunction start_empty_path_class)
Builds an instance of PathOperator from next and path variables.
boolean neighbor()