9 package com.google.ortools.util;
15 private transient long swigCPtr;
18 protected Domain(
long cPtr,
boolean cMemoryOwn) {
24 return (obj ==
null) ? 0 : obj.swigCPtr;
27 @SuppressWarnings(
"deprecation")
32 public synchronized void delete() {
36 mainJNI.delete_Domain(swigCPtr);
46 this(mainJNI.new_Domain__SWIG_0(),
true);
53 this(mainJNI.new_Domain__SWIG_1(value),
true);
59 public Domain(
long left,
long right) {
60 this(mainJNI.new_Domain__SWIG_2(left, right),
true);
67 return new Domain(mainJNI.Domain_allValues(),
true);
74 return new Domain(mainJNI.Domain_fromValues(values),
true);
81 return new Domain(mainJNI.Domain_fromIntervals(intervals),
true);
85 return new Domain(mainJNI.Domain_fromFlatIntervals(flat_intervals),
true);
89 return mainJNI.Domain_flattenedIntervals(swigCPtr,
this);
96 return mainJNI.Domain_isEmpty(swigCPtr,
this);
103 return mainJNI.Domain_size(swigCPtr,
this);
110 return mainJNI.Domain_min(swigCPtr,
this);
114 return mainJNI.Domain_max(swigCPtr,
this);
121 return mainJNI.Domain_contains(swigCPtr,
this, value);
128 return new Domain(mainJNI.Domain_complement(swigCPtr,
this),
true);
135 return new Domain(mainJNI.Domain_negation(swigCPtr,
this),
true);
142 return new Domain(mainJNI.Domain_intersectionWith(swigCPtr,
this,
Domain.
getCPtr(domain), domain),
true);
149 return new Domain(mainJNI.Domain_unionWith(swigCPtr,
this,
Domain.
getCPtr(domain), domain),
true);
156 return new Domain(mainJNI.Domain_additionWith(swigCPtr,
this,
Domain.
getCPtr(domain), domain),
true);
163 return mainJNI.Domain_toString(swigCPtr,
this);
long size()
Returns the number of elements in the domain.
boolean isEmpty()
Returns true if this is the empty set.
boolean contains(long value)
Returns true iff value is in Domain.
long min()
Returns the domain min/max value.
long [] flattenedIntervals()
Domain(long cPtr, boolean cMemoryOwn)
Domain(long left, long right)
Constructor for the common case of a single interval [left, right].
Domain(long value)
Constructor for the common case of a singleton domain.
static Domain allValues()
Returns the full domain Int64.
Domain intersectionWith(Domain domain)
Returns the set D ∩ domain.
static Domain fromValues(long[] values)
Creates a domain from the union of an unsorted list of integer values.
static Domain fromFlatIntervals(long[] flat_intervals)
String toString()
Returns a compact std::string of a vector of intervals like "[1,4][6][10,20]".
Domain complement()
Returns the set Int64 ∖ D.
Domain unionWith(Domain domain)
Returns the set D ∪ domain.
transient boolean swigCMemOwn
static Domain fromIntervals(long[][] intervals)
Used in non-C++ languages.
static long getCPtr(Domain obj)
Domain negation()
Returns {x ∈ Int64, ∃ e ∈ D, x = -e}.
Domain additionWith(Domain domain)
Returns {x ∈ Int64, ∃ a ∈ D, ∃ b ∈ domain, x = a + b}.
We call "domain" any subset of Int64 = [kint64min, kint64max].
Domain()
By default, Domain will be empty.