blob: d4177b9dba9b325c7ad765b82ec9a6e9b3223c44 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>PartiallyOrderedSet (Apache Calcite calcite API)</title>
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="PartiallyOrderedSet (Apache Calcite calcite API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":9};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage"><b>Apache Calcite</b></div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../org/apache/calcite/util/Pair.html" title="class in org.apache.calcite.util"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/apache/calcite/util/PartiallyOrderedSet.Ordering.html" title="interface in org.apache.calcite.util"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/calcite/util/PartiallyOrderedSet.html" target="_top">Frames</a></li>
<li><a href="PartiallyOrderedSet.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.calcite.util</div>
<h2 title="Class PartiallyOrderedSet" class="title">Class PartiallyOrderedSet&lt;E&gt;</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li><a href="https://docs.oracle.com/javase/8/docs/api/java/util/AbstractCollection.html?is-external=true" title="class or interface in java.util">java.util.AbstractCollection</a>&lt;E&gt;</li>
<li>
<ul class="inheritance">
<li><a href="https://docs.oracle.com/javase/8/docs/api/java/util/AbstractSet.html?is-external=true" title="class or interface in java.util">java.util.AbstractSet</a>&lt;E&gt;</li>
<li>
<ul class="inheritance">
<li>org.apache.calcite.util.PartiallyOrderedSet&lt;E&gt;</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt><span class="paramLabel">Type Parameters:</span></dt>
<dd><code>E</code> - Element type</dd>
</dl>
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;E&gt;, <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;E&gt;, <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;E&gt;</dd>
</dl>
<hr>
<br>
<pre>public class <span class="typeNameLabel">PartiallyOrderedSet&lt;E&gt;</span>
extends <a href="https://docs.oracle.com/javase/8/docs/api/java/util/AbstractSet.html?is-external=true" title="class or interface in java.util">AbstractSet</a>&lt;E&gt;</pre>
<div class="block">Partially-ordered set.
<p>When you create a partially-ordered set ('poset' for short) you must
provide an <a href="../../../../org/apache/calcite/util/PartiallyOrderedSet.Ordering.html" title="interface in org.apache.calcite.util"><code>PartiallyOrderedSet.Ordering</code></a> that determines the order relation. The
ordering must be:</p>
<ul>
<li>reflexive: e.lte(e) returns true;</li>
<li>anti-symmetric: if e.lte(f) returns true,
then f.lte(e) returns false only if e = f;</li>
<li>transitive: if e.lte(f) returns true and
f.lte(g) returns true, then e.lte(g) must return true.</li>
</ul>
<p>Note that not all pairs of elements are related. If is OK if e.lte(f)
returns false and f.lte(e) returns false also.</p>
<p>In addition to the usual set methods, there are methods to determine the
immediate parents and children of an element in the set, and method to find
all elements which have no parents or no children (i.e. "root" and "leaf"
elements).</p>
<p>A lattice is a special kind of poset where there is a unique top and
bottom element. You can use a PartiallyOrderedSet for a lattice also. It may
be helpful to add the top and bottom elements to the poset on
construction.</p></div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="nested.class.summary">
<!-- -->
</a>
<h3>Nested Class Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Class and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static interface&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/util/PartiallyOrderedSet.Ordering.html" title="interface in org.apache.calcite.util">PartiallyOrderedSet.Ordering</a>&lt;<a href="../../../../org/apache/calcite/util/PartiallyOrderedSet.Ordering.html" title="type parameter in PartiallyOrderedSet.Ordering">E</a>&gt;</span></code>
<div class="block">Ordering relation.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../../../../org/apache/calcite/util/PartiallyOrderedSet.Ordering.html" title="interface in org.apache.calcite.util">PartiallyOrderedSet.Ordering</a>&lt;<a href="../../../../org/apache/calcite/util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/util/PartiallyOrderedSet.html#BIT_SET_INCLUSION_ORDERING">BIT_SET_INCLUSION_ORDERING</a></span></code>
<div class="block">Ordering that orders bit sets by inclusion.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/util/PartiallyOrderedSet.html#PartiallyOrderedSet-org.apache.calcite.util.PartiallyOrderedSet.Ordering-">PartiallyOrderedSet</a></span>(<a href="../../../../org/apache/calcite/util/PartiallyOrderedSet.Ordering.html" title="interface in org.apache.calcite.util">PartiallyOrderedSet.Ordering</a>&lt;<a href="../../../../org/apache/calcite/util/PartiallyOrderedSet.html" title="type parameter in PartiallyOrderedSet">E</a>&gt;&nbsp;ordering)</code>
<div class="block">Creates a partially-ordered set.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/util/PartiallyOrderedSet.html#PartiallyOrderedSet-org.apache.calcite.util.PartiallyOrderedSet.Ordering-java.util.Collection-">PartiallyOrderedSet</a></span>(<a href="../../../../org/apache/calcite/util/PartiallyOrderedSet.Ordering.html" title="interface in org.apache.calcite.util">PartiallyOrderedSet.Ordering</a>&lt;<a href="../../../../org/apache/calcite/util/PartiallyOrderedSet.html" title="type parameter in PartiallyOrderedSet">E</a>&gt;&nbsp;ordering,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../org/apache/calcite/util/PartiallyOrderedSet.html" title="type parameter in PartiallyOrderedSet">E</a>&gt;&nbsp;collection)</code>
<div class="block">Creates a partially-ordered set, and populates it with a given
collection.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/util/PartiallyOrderedSet.html#PartiallyOrderedSet-org.apache.calcite.util.PartiallyOrderedSet.Ordering-java.util.function.Function-java.util.function.Function-">PartiallyOrderedSet</a></span>(<a href="../../../../org/apache/calcite/util/PartiallyOrderedSet.Ordering.html" title="interface in org.apache.calcite.util">PartiallyOrderedSet.Ordering</a>&lt;<a href="../../../../org/apache/calcite/util/PartiallyOrderedSet.html" title="type parameter in PartiallyOrderedSet">E</a>&gt;&nbsp;ordering,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Function.html?is-external=true" title="class or interface in java.util.function">Function</a>&lt;<a href="../../../../org/apache/calcite/util/PartiallyOrderedSet.html" title="type parameter in PartiallyOrderedSet">E</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;<a href="../../../../org/apache/calcite/util/PartiallyOrderedSet.html" title="type parameter in PartiallyOrderedSet">E</a>&gt;&gt;&nbsp;childFunction,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Function.html?is-external=true" title="class or interface in java.util.function">Function</a>&lt;<a href="../../../../org/apache/calcite/util/PartiallyOrderedSet.html" title="type parameter in PartiallyOrderedSet">E</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;<a href="../../../../org/apache/calcite/util/PartiallyOrderedSet.html" title="type parameter in PartiallyOrderedSet">E</a>&gt;&gt;&nbsp;parentFunction)</code>
<div class="block">Creates a partially-ordered set with a parent-generating function.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/util/PartiallyOrderedSet.html#PartiallyOrderedSet-org.apache.calcite.util.PartiallyOrderedSet.Ordering-com.google.common.base.Function-com.google.common.base.Function-">PartiallyOrderedSet</a></span>(<a href="../../../../org/apache/calcite/util/PartiallyOrderedSet.Ordering.html" title="interface in org.apache.calcite.util">PartiallyOrderedSet.Ordering</a>&lt;<a href="../../../../org/apache/calcite/util/PartiallyOrderedSet.html" title="type parameter in PartiallyOrderedSet">E</a>&gt;&nbsp;ordering,
com.google.common.base.Function&lt;<a href="../../../../org/apache/calcite/util/PartiallyOrderedSet.html" title="type parameter in PartiallyOrderedSet">E</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;<a href="../../../../org/apache/calcite/util/PartiallyOrderedSet.html" title="type parameter in PartiallyOrderedSet">E</a>&gt;&gt;&nbsp;childFunction,
com.google.common.base.Function&lt;<a href="../../../../org/apache/calcite/util/PartiallyOrderedSet.html" title="type parameter in PartiallyOrderedSet">E</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;<a href="../../../../org/apache/calcite/util/PartiallyOrderedSet.html" title="type parameter in PartiallyOrderedSet">E</a>&gt;&gt;&nbsp;parentFunction)</code>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/util/PartiallyOrderedSet.html#add-E-">add</a></span>(<a href="../../../../org/apache/calcite/util/PartiallyOrderedSet.html" title="type parameter in PartiallyOrderedSet">E</a>&nbsp;e)</code>
<div class="block">Adds an element to this lattice.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/util/PartiallyOrderedSet.html#clear--">clear</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/util/PartiallyOrderedSet.html#contains-java.lang.Object-">contains</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;o)</code>&nbsp;</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/calcite/util/PartiallyOrderedSet.html" title="type parameter in PartiallyOrderedSet">E</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/util/PartiallyOrderedSet.html#getAncestors-E-">getAncestors</a></span>(<a href="../../../../org/apache/calcite/util/PartiallyOrderedSet.html" title="type parameter in PartiallyOrderedSet">E</a>&nbsp;e)</code>
<div class="block">Returns a list of values in the set that are less-than a given value.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/calcite/util/PartiallyOrderedSet.html" title="type parameter in PartiallyOrderedSet">E</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/util/PartiallyOrderedSet.html#getChildren-E-">getChildren</a></span>(<a href="../../../../org/apache/calcite/util/PartiallyOrderedSet.html" title="type parameter in PartiallyOrderedSet">E</a>&nbsp;e)</code>
<div class="block">Returns the values in this partially-ordered set that are less-than
a given value and there are no intervening values.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/calcite/util/PartiallyOrderedSet.html" title="type parameter in PartiallyOrderedSet">E</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/util/PartiallyOrderedSet.html#getChildren-E-boolean-">getChildren</a></span>(<a href="../../../../org/apache/calcite/util/PartiallyOrderedSet.html" title="type parameter in PartiallyOrderedSet">E</a>&nbsp;e,
boolean&nbsp;hypothetical)</code>
<div class="block">Returns the values in this partially-ordered set that are less-than
a given value and there are no intervening values.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/calcite/util/PartiallyOrderedSet.html" title="type parameter in PartiallyOrderedSet">E</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/util/PartiallyOrderedSet.html#getDescendants-E-">getDescendants</a></span>(<a href="../../../../org/apache/calcite/util/PartiallyOrderedSet.html" title="type parameter in PartiallyOrderedSet">E</a>&nbsp;e)</code>
<div class="block">Returns a list of values in the set that are less-than a given value.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/calcite/util/PartiallyOrderedSet.html" title="type parameter in PartiallyOrderedSet">E</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/util/PartiallyOrderedSet.html#getNonChildren--">getNonChildren</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/calcite/util/PartiallyOrderedSet.html" title="type parameter in PartiallyOrderedSet">E</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/util/PartiallyOrderedSet.html#getNonParents--">getNonParents</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/calcite/util/PartiallyOrderedSet.html" title="type parameter in PartiallyOrderedSet">E</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/util/PartiallyOrderedSet.html#getParents-E-">getParents</a></span>(<a href="../../../../org/apache/calcite/util/PartiallyOrderedSet.html" title="type parameter in PartiallyOrderedSet">E</a>&nbsp;e)</code>
<div class="block">Returns the values in this partially-ordered set that are greater-than
a given value and there are no intervening values.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/calcite/util/PartiallyOrderedSet.html" title="type parameter in PartiallyOrderedSet">E</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/util/PartiallyOrderedSet.html#getParents-E-boolean-">getParents</a></span>(<a href="../../../../org/apache/calcite/util/PartiallyOrderedSet.html" title="type parameter in PartiallyOrderedSet">E</a>&nbsp;e,
boolean&nbsp;hypothetical)</code>
<div class="block">Returns the values in this partially-ordered set that are greater-than
a given value and there are no intervening values.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/util/PartiallyOrderedSet.html#isValid-boolean-">isValid</a></span>(boolean&nbsp;fail)</code>
<div class="block">Checks internal consistency of this lattice.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="../../../../org/apache/calcite/util/PartiallyOrderedSet.html" title="type parameter in PartiallyOrderedSet">E</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/util/PartiallyOrderedSet.html#iterator--">iterator</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/util/PartiallyOrderedSet.html#out-java.lang.StringBuilder-">out</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/StringBuilder.html?is-external=true" title="class or interface in java.lang">StringBuilder</a>&nbsp;buf)</code>&nbsp;</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/util/PartiallyOrderedSet.html#remove-java.lang.Object-">remove</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;o)</code>&nbsp;</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/util/PartiallyOrderedSet.html#size--">size</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>static &lt;E&gt;&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;E&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/util/PartiallyOrderedSet.html#strip-java.util.List-">strip</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.calcite.util.PartiallyOrderedSet.Node&lt;E&gt;&gt;&nbsp;list)</code>
<div class="block">Returns a list, backed by a list of
<code>PartiallyOrderedSet.Node</code>s, that strips
away the node and returns the element inside.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.util.AbstractSet">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.util.<a href="https://docs.oracle.com/javase/8/docs/api/java/util/AbstractSet.html?is-external=true" title="class or interface in java.util">AbstractSet</a></h3>
<code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/AbstractSet.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.util">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/util/AbstractSet.html?is-external=true#hashCode--" title="class or interface in java.util">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/util/AbstractSet.html?is-external=true#removeAll-java.util.Collection-" title="class or interface in java.util">removeAll</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.util.AbstractCollection">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.util.<a href="https://docs.oracle.com/javase/8/docs/api/java/util/AbstractCollection.html?is-external=true" title="class or interface in java.util">AbstractCollection</a></h3>
<code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/AbstractCollection.html?is-external=true#addAll-java.util.Collection-" title="class or interface in java.util">addAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/util/AbstractCollection.html?is-external=true#containsAll-java.util.Collection-" title="class or interface in java.util">containsAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/util/AbstractCollection.html?is-external=true#isEmpty--" title="class or interface in java.util">isEmpty</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/util/AbstractCollection.html?is-external=true#retainAll-java.util.Collection-" title="class or interface in java.util">retainAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/util/AbstractCollection.html?is-external=true#toArray--" title="class or interface in java.util">toArray</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/util/AbstractCollection.html?is-external=true#toArray-T:A-" title="class or interface in java.util">toArray</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/util/AbstractCollection.html?is-external=true#toString--" title="class or interface in java.util">toString</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.util.Set">
<!-- -->
</a>
<h3>Methods inherited from interface&nbsp;java.util.<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a></h3>
<code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true#addAll-java.util.Collection-" title="class or interface in java.util">addAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true#containsAll-java.util.Collection-" title="class or interface in java.util">containsAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true#isEmpty--" title="class or interface in java.util">isEmpty</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true#retainAll-java.util.Collection-" title="class or interface in java.util">retainAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true#spliterator--" title="class or interface in java.util">spliterator</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true#toArray--" title="class or interface in java.util">toArray</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true#toArray-T:A-" title="class or interface in java.util">toArray</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.util.Collection">
<!-- -->
</a>
<h3>Methods inherited from interface&nbsp;java.util.<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a></h3>
<code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true#parallelStream--" title="class or interface in java.util">parallelStream</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true#removeIf-java.util.function.Predicate-" title="class or interface in java.util">removeIf</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true#stream--" title="class or interface in java.util">stream</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Iterable">
<!-- -->
</a>
<h3>Methods inherited from interface&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a></h3>
<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true#forEach-java.util.function.Consumer-" title="class or interface in java.lang">forEach</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.detail">
<!-- -->
</a>
<h3>Field Detail</h3>
<a name="BIT_SET_INCLUSION_ORDERING">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>BIT_SET_INCLUSION_ORDERING</h4>
<pre>public static final&nbsp;<a href="../../../../org/apache/calcite/util/PartiallyOrderedSet.Ordering.html" title="interface in org.apache.calcite.util">PartiallyOrderedSet.Ordering</a>&lt;<a href="../../../../org/apache/calcite/util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&gt; BIT_SET_INCLUSION_ORDERING</pre>
<div class="block">Ordering that orders bit sets by inclusion.
<p>For example, the children of 14 (1110) are 12 (1100), 10 (1010) and
6 (0110).</div>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="PartiallyOrderedSet-org.apache.calcite.util.PartiallyOrderedSet.Ordering-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>PartiallyOrderedSet</h4>
<pre>public&nbsp;PartiallyOrderedSet(<a href="../../../../org/apache/calcite/util/PartiallyOrderedSet.Ordering.html" title="interface in org.apache.calcite.util">PartiallyOrderedSet.Ordering</a>&lt;<a href="../../../../org/apache/calcite/util/PartiallyOrderedSet.html" title="type parameter in PartiallyOrderedSet">E</a>&gt;&nbsp;ordering)</pre>
<div class="block">Creates a partially-ordered set.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>ordering</code> - Ordering relation</dd>
</dl>
</li>
</ul>
<a name="PartiallyOrderedSet-org.apache.calcite.util.PartiallyOrderedSet.Ordering-java.util.function.Function-java.util.function.Function-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>PartiallyOrderedSet</h4>
<pre>public&nbsp;PartiallyOrderedSet(<a href="../../../../org/apache/calcite/util/PartiallyOrderedSet.Ordering.html" title="interface in org.apache.calcite.util">PartiallyOrderedSet.Ordering</a>&lt;<a href="../../../../org/apache/calcite/util/PartiallyOrderedSet.html" title="type parameter in PartiallyOrderedSet">E</a>&gt;&nbsp;ordering,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Function.html?is-external=true" title="class or interface in java.util.function">Function</a>&lt;<a href="../../../../org/apache/calcite/util/PartiallyOrderedSet.html" title="type parameter in PartiallyOrderedSet">E</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;<a href="../../../../org/apache/calcite/util/PartiallyOrderedSet.html" title="type parameter in PartiallyOrderedSet">E</a>&gt;&gt;&nbsp;childFunction,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Function.html?is-external=true" title="class or interface in java.util.function">Function</a>&lt;<a href="../../../../org/apache/calcite/util/PartiallyOrderedSet.html" title="type parameter in PartiallyOrderedSet">E</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;<a href="../../../../org/apache/calcite/util/PartiallyOrderedSet.html" title="type parameter in PartiallyOrderedSet">E</a>&gt;&gt;&nbsp;parentFunction)</pre>
<div class="block">Creates a partially-ordered set with a parent-generating function.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>ordering</code> - Ordering relation</dd>
<dd><code>parentFunction</code> - Function to compute parents of a node; may be null</dd>
</dl>
</li>
</ul>
<a name="PartiallyOrderedSet-org.apache.calcite.util.PartiallyOrderedSet.Ordering-com.google.common.base.Function-com.google.common.base.Function-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>PartiallyOrderedSet</h4>
<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
public&nbsp;PartiallyOrderedSet(<a href="../../../../org/apache/calcite/util/PartiallyOrderedSet.Ordering.html" title="interface in org.apache.calcite.util">PartiallyOrderedSet.Ordering</a>&lt;<a href="../../../../org/apache/calcite/util/PartiallyOrderedSet.html" title="type parameter in PartiallyOrderedSet">E</a>&gt;&nbsp;ordering,
com.google.common.base.Function&lt;<a href="../../../../org/apache/calcite/util/PartiallyOrderedSet.html" title="type parameter in PartiallyOrderedSet">E</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;<a href="../../../../org/apache/calcite/util/PartiallyOrderedSet.html" title="type parameter in PartiallyOrderedSet">E</a>&gt;&gt;&nbsp;childFunction,
com.google.common.base.Function&lt;<a href="../../../../org/apache/calcite/util/PartiallyOrderedSet.html" title="type parameter in PartiallyOrderedSet">E</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;<a href="../../../../org/apache/calcite/util/PartiallyOrderedSet.html" title="type parameter in PartiallyOrderedSet">E</a>&gt;&gt;&nbsp;parentFunction)</pre>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
</li>
</ul>
<a name="PartiallyOrderedSet-org.apache.calcite.util.PartiallyOrderedSet.Ordering-java.util.Collection-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>PartiallyOrderedSet</h4>
<pre>public&nbsp;PartiallyOrderedSet(<a href="../../../../org/apache/calcite/util/PartiallyOrderedSet.Ordering.html" title="interface in org.apache.calcite.util">PartiallyOrderedSet.Ordering</a>&lt;<a href="../../../../org/apache/calcite/util/PartiallyOrderedSet.html" title="type parameter in PartiallyOrderedSet">E</a>&gt;&nbsp;ordering,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../org/apache/calcite/util/PartiallyOrderedSet.html" title="type parameter in PartiallyOrderedSet">E</a>&gt;&nbsp;collection)</pre>
<div class="block">Creates a partially-ordered set, and populates it with a given
collection.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>ordering</code> - Ordering relation</dd>
<dd><code>collection</code> - Initial contents of partially-ordered set</dd>
</dl>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="iterator--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>iterator</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="../../../../org/apache/calcite/util/PartiallyOrderedSet.html" title="type parameter in PartiallyOrderedSet">E</a>&gt;&nbsp;iterator()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true#iterator--" title="class or interface in java.lang">iterator</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;<a href="../../../../org/apache/calcite/util/PartiallyOrderedSet.html" title="type parameter in PartiallyOrderedSet">E</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true#iterator--" title="class or interface in java.util">iterator</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../org/apache/calcite/util/PartiallyOrderedSet.html" title="type parameter in PartiallyOrderedSet">E</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true#iterator--" title="class or interface in java.util">iterator</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../org/apache/calcite/util/PartiallyOrderedSet.html" title="type parameter in PartiallyOrderedSet">E</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/AbstractCollection.html?is-external=true#iterator--" title="class or interface in java.util">iterator</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/AbstractCollection.html?is-external=true" title="class or interface in java.util">AbstractCollection</a>&lt;<a href="../../../../org/apache/calcite/util/PartiallyOrderedSet.html" title="type parameter in PartiallyOrderedSet">E</a>&gt;</code></dd>
</dl>
</li>
</ul>
<a name="size--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>size</h4>
<pre>public&nbsp;int&nbsp;size()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true#size--" title="class or interface in java.util">size</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../org/apache/calcite/util/PartiallyOrderedSet.html" title="type parameter in PartiallyOrderedSet">E</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true#size--" title="class or interface in java.util">size</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../org/apache/calcite/util/PartiallyOrderedSet.html" title="type parameter in PartiallyOrderedSet">E</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/AbstractCollection.html?is-external=true#size--" title="class or interface in java.util">size</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/AbstractCollection.html?is-external=true" title="class or interface in java.util">AbstractCollection</a>&lt;<a href="../../../../org/apache/calcite/util/PartiallyOrderedSet.html" title="type parameter in PartiallyOrderedSet">E</a>&gt;</code></dd>
</dl>
</li>
</ul>
<a name="contains-java.lang.Object-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>contains</h4>
<pre>public&nbsp;boolean&nbsp;contains(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;o)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true#contains-java.lang.Object-" title="class or interface in java.util">contains</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../org/apache/calcite/util/PartiallyOrderedSet.html" title="type parameter in PartiallyOrderedSet">E</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true#contains-java.lang.Object-" title="class or interface in java.util">contains</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../org/apache/calcite/util/PartiallyOrderedSet.html" title="type parameter in PartiallyOrderedSet">E</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/AbstractCollection.html?is-external=true#contains-java.lang.Object-" title="class or interface in java.util">contains</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/AbstractCollection.html?is-external=true" title="class or interface in java.util">AbstractCollection</a>&lt;<a href="../../../../org/apache/calcite/util/PartiallyOrderedSet.html" title="type parameter in PartiallyOrderedSet">E</a>&gt;</code></dd>
</dl>
</li>
</ul>
<a name="remove-java.lang.Object-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>remove</h4>
<pre>public&nbsp;boolean&nbsp;remove(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;o)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true#remove-java.lang.Object-" title="class or interface in java.util">remove</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../org/apache/calcite/util/PartiallyOrderedSet.html" title="type parameter in PartiallyOrderedSet">E</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true#remove-java.lang.Object-" title="class or interface in java.util">remove</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../org/apache/calcite/util/PartiallyOrderedSet.html" title="type parameter in PartiallyOrderedSet">E</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/AbstractCollection.html?is-external=true#remove-java.lang.Object-" title="class or interface in java.util">remove</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/AbstractCollection.html?is-external=true" title="class or interface in java.util">AbstractCollection</a>&lt;<a href="../../../../org/apache/calcite/util/PartiallyOrderedSet.html" title="type parameter in PartiallyOrderedSet">E</a>&gt;</code></dd>
</dl>
</li>
</ul>
<a name="add-java.lang.Object-">
<!-- -->
</a><a name="add-E-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>add</h4>
<pre>public&nbsp;boolean&nbsp;add(<a href="../../../../org/apache/calcite/util/PartiallyOrderedSet.html" title="type parameter in PartiallyOrderedSet">E</a>&nbsp;e)</pre>
<div class="block">Adds an element to this lattice.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true#add-E-" title="class or interface in java.util">add</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../org/apache/calcite/util/PartiallyOrderedSet.html" title="type parameter in PartiallyOrderedSet">E</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true#add-E-" title="class or interface in java.util">add</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../org/apache/calcite/util/PartiallyOrderedSet.html" title="type parameter in PartiallyOrderedSet">E</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/AbstractCollection.html?is-external=true#add-E-" title="class or interface in java.util">add</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/AbstractCollection.html?is-external=true" title="class or interface in java.util">AbstractCollection</a>&lt;<a href="../../../../org/apache/calcite/util/PartiallyOrderedSet.html" title="type parameter in PartiallyOrderedSet">E</a>&gt;</code></dd>
</dl>
</li>
</ul>
<a name="isValid-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isValid</h4>
<pre>public&nbsp;boolean&nbsp;isValid(boolean&nbsp;fail)</pre>
<div class="block">Checks internal consistency of this lattice.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>fail</code> - Whether to throw an assertion error</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Whether valid</dd>
</dl>
</li>
</ul>
<a name="out-java.lang.StringBuilder-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>out</h4>
<pre>public&nbsp;void&nbsp;out(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/StringBuilder.html?is-external=true" title="class or interface in java.lang">StringBuilder</a>&nbsp;buf)</pre>
</li>
</ul>
<a name="getChildren-java.lang.Object-">
<!-- -->
</a><a name="getChildren-E-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getChildren</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/calcite/util/PartiallyOrderedSet.html" title="type parameter in PartiallyOrderedSet">E</a>&gt;&nbsp;getChildren(<a href="../../../../org/apache/calcite/util/PartiallyOrderedSet.html" title="type parameter in PartiallyOrderedSet">E</a>&nbsp;e)</pre>
<div class="block">Returns the values in this partially-ordered set that are less-than
a given value and there are no intervening values.
<p>If the value is not in this set, returns null.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>e</code> - Value</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>List of values in this set that are directly less than the given
value</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../org/apache/calcite/util/PartiallyOrderedSet.html#getDescendants-E-"><code>getDescendants(E)</code></a></dd>
</dl>
</li>
</ul>
<a name="getChildren-java.lang.Object-boolean-">
<!-- -->
</a><a name="getChildren-E-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getChildren</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/calcite/util/PartiallyOrderedSet.html" title="type parameter in PartiallyOrderedSet">E</a>&gt;&nbsp;getChildren(<a href="../../../../org/apache/calcite/util/PartiallyOrderedSet.html" title="type parameter in PartiallyOrderedSet">E</a>&nbsp;e,
boolean&nbsp;hypothetical)</pre>
<div class="block">Returns the values in this partially-ordered set that are less-than
a given value and there are no intervening values.
<p>If the value is not in this set, returns null if <code>hypothetical</code>
is false.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>e</code> - Value</dd>
<dd><code>hypothetical</code> - Whether to generate a list if value is not in the set</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>List of values in this set that are directly less than the given
value</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../org/apache/calcite/util/PartiallyOrderedSet.html#getDescendants-E-"><code>getDescendants(E)</code></a></dd>
</dl>
</li>
</ul>
<a name="getParents-java.lang.Object-">
<!-- -->
</a><a name="getParents-E-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getParents</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/calcite/util/PartiallyOrderedSet.html" title="type parameter in PartiallyOrderedSet">E</a>&gt;&nbsp;getParents(<a href="../../../../org/apache/calcite/util/PartiallyOrderedSet.html" title="type parameter in PartiallyOrderedSet">E</a>&nbsp;e)</pre>
<div class="block">Returns the values in this partially-ordered set that are greater-than
a given value and there are no intervening values.
<p>If the value is not in this set, returns null.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>e</code> - Value</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>List of values in this set that are directly greater than the
given value</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../org/apache/calcite/util/PartiallyOrderedSet.html#getAncestors-E-"><code>getAncestors(E)</code></a></dd>
</dl>
</li>
</ul>
<a name="getParents-java.lang.Object-boolean-">
<!-- -->
</a><a name="getParents-E-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getParents</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/calcite/util/PartiallyOrderedSet.html" title="type parameter in PartiallyOrderedSet">E</a>&gt;&nbsp;getParents(<a href="../../../../org/apache/calcite/util/PartiallyOrderedSet.html" title="type parameter in PartiallyOrderedSet">E</a>&nbsp;e,
boolean&nbsp;hypothetical)</pre>
<div class="block">Returns the values in this partially-ordered set that are greater-than
a given value and there are no intervening values.
<p>If the value is not in this set, returns <code>null</code> if
<code>hypothetical</code> is false.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>e</code> - Value</dd>
<dd><code>hypothetical</code> - Whether to generate a list if value is not in the set</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>List of values in this set that are directly greater than the
given value</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../org/apache/calcite/util/PartiallyOrderedSet.html#getAncestors-E-"><code>getAncestors(E)</code></a></dd>
</dl>
</li>
</ul>
<a name="getNonChildren--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNonChildren</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/calcite/util/PartiallyOrderedSet.html" title="type parameter in PartiallyOrderedSet">E</a>&gt;&nbsp;getNonChildren()</pre>
</li>
</ul>
<a name="getNonParents--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNonParents</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/calcite/util/PartiallyOrderedSet.html" title="type parameter in PartiallyOrderedSet">E</a>&gt;&nbsp;getNonParents()</pre>
</li>
</ul>
<a name="clear--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>clear</h4>
<pre>public&nbsp;void&nbsp;clear()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true#clear--" title="class or interface in java.util">clear</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../org/apache/calcite/util/PartiallyOrderedSet.html" title="type parameter in PartiallyOrderedSet">E</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true#clear--" title="class or interface in java.util">clear</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../org/apache/calcite/util/PartiallyOrderedSet.html" title="type parameter in PartiallyOrderedSet">E</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/AbstractCollection.html?is-external=true#clear--" title="class or interface in java.util">clear</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/AbstractCollection.html?is-external=true" title="class or interface in java.util">AbstractCollection</a>&lt;<a href="../../../../org/apache/calcite/util/PartiallyOrderedSet.html" title="type parameter in PartiallyOrderedSet">E</a>&gt;</code></dd>
</dl>
</li>
</ul>
<a name="getDescendants-java.lang.Object-">
<!-- -->
</a><a name="getDescendants-E-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDescendants</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/calcite/util/PartiallyOrderedSet.html" title="type parameter in PartiallyOrderedSet">E</a>&gt;&nbsp;getDescendants(<a href="../../../../org/apache/calcite/util/PartiallyOrderedSet.html" title="type parameter in PartiallyOrderedSet">E</a>&nbsp;e)</pre>
<div class="block">Returns a list of values in the set that are less-than a given value.
The list is in topological order but order is otherwise
non-deterministic.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>e</code> - Value</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Values less than given value</dd>
</dl>
</li>
</ul>
<a name="strip-java.util.List-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>strip</h4>
<pre>public static&nbsp;&lt;E&gt;&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;E&gt;&nbsp;strip(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.calcite.util.PartiallyOrderedSet.Node&lt;E&gt;&gt;&nbsp;list)</pre>
<div class="block">Returns a list, backed by a list of
<code>PartiallyOrderedSet.Node</code>s, that strips
away the node and returns the element inside.</div>
<dl>
<dt><span class="paramLabel">Type Parameters:</span></dt>
<dd><code>E</code> - Element type</dd>
</dl>
</li>
</ul>
<a name="getAncestors-java.lang.Object-">
<!-- -->
</a><a name="getAncestors-E-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>getAncestors</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/calcite/util/PartiallyOrderedSet.html" title="type parameter in PartiallyOrderedSet">E</a>&gt;&nbsp;getAncestors(<a href="../../../../org/apache/calcite/util/PartiallyOrderedSet.html" title="type parameter in PartiallyOrderedSet">E</a>&nbsp;e)</pre>
<div class="block">Returns a list of values in the set that are less-than a given value.
The list is in topological order but order is otherwise
non-deterministic.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>e</code> - Value</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Values less than given value</dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage"><b>Apache Calcite</b></div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../org/apache/calcite/util/Pair.html" title="class in org.apache.calcite.util"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/apache/calcite/util/PartiallyOrderedSet.Ordering.html" title="interface in org.apache.calcite.util"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/calcite/util/PartiallyOrderedSet.html" target="_top">Frames</a></li>
<li><a href="PartiallyOrderedSet.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &copy; 2012-2020 Apache Software Foundation. All Rights Reserved.</small></p>
</body>
</html>