Domain.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.0
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.util;
10 
14 public class Domain {
15  private transient long swigCPtr;
16  protected transient boolean swigCMemOwn;
17 
18  protected Domain(long cPtr, boolean cMemoryOwn) {
19  swigCMemOwn = cMemoryOwn;
20  swigCPtr = cPtr;
21  }
22 
23  protected static long getCPtr(Domain obj) {
24  return (obj == null) ? 0 : obj.swigCPtr;
25  }
26 
27  @SuppressWarnings("deprecation")
28  protected void finalize() {
29  delete();
30  }
31 
32  public synchronized void delete() {
33  if (swigCPtr != 0) {
34  if (swigCMemOwn) {
35  swigCMemOwn = false;
36  mainJNI.delete_Domain(swigCPtr);
37  }
38  swigCPtr = 0;
39  }
40  }
41 
45  public Domain() {
46  this(mainJNI.new_Domain__SWIG_0(), true);
47  }
48 
52  public Domain(long value) {
53  this(mainJNI.new_Domain__SWIG_1(value), true);
54  }
55 
59  public Domain(long left, long right) {
60  this(mainJNI.new_Domain__SWIG_2(left, right), true);
61  }
62 
66  public static Domain allValues() {
67  return new Domain(mainJNI.Domain_allValues(), true);
68  }
69 
73  public static Domain fromValues(long[] values) {
74  return new Domain(mainJNI.Domain_fromValues(values), true);
75  }
76 
80  public static Domain fromIntervals(long[][] intervals) {
81  return new Domain(mainJNI.Domain_fromIntervals(intervals), true);
82  }
83 
84  public static Domain fromFlatIntervals(long[] flat_intervals) {
85  return new Domain(mainJNI.Domain_fromFlatIntervals(flat_intervals), true);
86  }
87 
88  public long[] flattenedIntervals() {
89  return mainJNI.Domain_flattenedIntervals(swigCPtr, this);
90 }
91 
95  public boolean isEmpty() {
96  return mainJNI.Domain_isEmpty(swigCPtr, this);
97  }
98 
102  public long size() {
103  return mainJNI.Domain_size(swigCPtr, this);
104  }
105 
109  public long min() {
110  return mainJNI.Domain_min(swigCPtr, this);
111  }
112 
113  public long max() {
114  return mainJNI.Domain_max(swigCPtr, this);
115  }
116 
120  public boolean contains(long value) {
121  return mainJNI.Domain_contains(swigCPtr, this, value);
122  }
123 
127  public Domain complement() {
128  return new Domain(mainJNI.Domain_complement(swigCPtr, this), true);
129  }
130 
134  public Domain negation() {
135  return new Domain(mainJNI.Domain_negation(swigCPtr, this), true);
136  }
137 
141  public Domain intersectionWith(Domain domain) {
142  return new Domain(mainJNI.Domain_intersectionWith(swigCPtr, this, Domain.getCPtr(domain), domain), true);
143  }
144 
148  public Domain unionWith(Domain domain) {
149  return new Domain(mainJNI.Domain_unionWith(swigCPtr, this, Domain.getCPtr(domain), domain), true);
150  }
151 
155  public Domain additionWith(Domain domain) {
156  return new Domain(mainJNI.Domain_additionWith(swigCPtr, this, Domain.getCPtr(domain), domain), true);
157  }
158 
162  public String toString() {
163  return mainJNI.Domain_toString(swigCPtr, this);
164  }
165 
166 }
long size()
Returns the number of elements in the domain.
Definition: Domain.java:102
boolean isEmpty()
Returns true if this is the empty set.
Definition: Domain.java:95
boolean contains(long value)
Returns true iff value is in Domain.
Definition: Domain.java:120
long min()
Returns the domain min/max value.
Definition: Domain.java:109
Domain(long cPtr, boolean cMemoryOwn)
Definition: Domain.java:18
Domain(long left, long right)
Constructor for the common case of a single interval [left, right].
Definition: Domain.java:59
Domain(long value)
Constructor for the common case of a singleton domain.
Definition: Domain.java:52
static Domain allValues()
Returns the full domain Int64.
Definition: Domain.java:66
Domain intersectionWith(Domain domain)
Returns the set D ∩ domain.
Definition: Domain.java:141
static Domain fromValues(long[] values)
Creates a domain from the union of an unsorted list of integer values.
Definition: Domain.java:73
static Domain fromFlatIntervals(long[] flat_intervals)
Definition: Domain.java:84
String toString()
Returns a compact std::string of a vector of intervals like "[1,4][6][10,20]".
Definition: Domain.java:162
Domain complement()
Returns the set Int64 ∖ D.
Definition: Domain.java:127
Domain unionWith(Domain domain)
Returns the set D ∪ domain.
Definition: Domain.java:148
transient boolean swigCMemOwn
Definition: Domain.java:16
static Domain fromIntervals(long[][] intervals)
Used in non-C++ languages.
Definition: Domain.java:80
static long getCPtr(Domain obj)
Definition: Domain.java:23
Domain negation()
Returns {x ∈ Int64, ∃ e ∈ D, x = -e}.
Definition: Domain.java:134
Domain additionWith(Domain domain)
Returns {x ∈ Int64, ∃ a ∈ D, ∃ b ∈ domain, x = a + b}.
Definition: Domain.java:155
We call "domain" any subset of Int64 = [kint64min, kint64max].
Definition: Domain.java:14
Domain()
By default, Domain will be empty.
Definition: Domain.java:45