aa
Work.java
Go to the documentation of this file.
1
package
com.cliffc.aa.node;
2
3
import
com
.
cliffc
.
aa
.
util
.
Ary
;
4
import
com
.
cliffc
.
aa
.
util
.
VBitSet
;
5
6
import
java.util.function.Function;
7
8
public
abstract
class
Work
implements
Function<Node,Node> {
9
public
final
Ary<Node>
_work
=
new
Ary<>
(
new
Node
[1],0);
10
final
VBitSet
_on
=
new
VBitSet
();
11
public
final
String
_name
;
12
public
final
boolean
_replacing
;
13
public
Work
(String name,
boolean
replacing) {
_name
=name;
_replacing
= replacing; }
14
public
int
len
() {
return
_work
._len; }
15
public <N extends Node> N
add
(N n) {
16
if
( !
_on
.
tset
(n._uid) )
_work
.push(n);
17
return
n;
18
}
19
public
abstract
Node
apply
(
Node
n);
20
21
public
Node
pop
() {
22
if
(
_work
._len==0 )
return
null
;
23
Node
n =
_work
.pop();
24
_on
.clear(n.
_uid
);
25
return
n;
26
}
27
public
Node
at
(
int
i) {
return
_work
.at(i); }
28
public
void
del
(
int
i) {
_on
.clear(
at
(i)._uid);
_work
.del(i); }
29
public
void
del
(
Node
n) {
30
if
( !
_on
.get(n.
_uid
) )
return
;
31
_on
.clear(n.
_uid
);
32
_work
.del(n);
33
}
34
35
public
boolean
isEmpty
() {
return
_work
._len==0; }
36
public
boolean
on
(
Node
n) {
return
_on
.
test
(n.
_uid
); }
37
public
void
clear
() {
_work
.clear();
_on
.clear(); }
38
@Override
public
String
toString
() {
return
_name
+
_on
.toString(); }
39
}
com.cliffc.aa.node.Work.toString
String toString()
Definition:
Work.java:38
com.cliffc.aa.node.Work._work
final Ary< Node > _work
Definition:
Work.java:9
com.cliffc.aa.node.Work._replacing
final boolean _replacing
Definition:
Work.java:12
com.cliffc.aa.node.Work
Definition:
Work.java:8
com.cliffc
com.cliffc.aa.util.VBitSet.test
boolean test(int idx)
Definition:
VBitSet.java:8
com.cliffc.aa.node.Work.del
void del(int i)
Definition:
Work.java:28
com.cliffc.aa.node.Node
Definition:
Node.java:16
com.cliffc.aa.util
Definition:
AbstractEntry.java:1
com.cliffc.aa.node.Work.on
boolean on(Node n)
Definition:
Work.java:36
com.cliffc.aa.util.Ary
Definition:
Ary.java:11
com.cliffc.aa.node.Work.del
void del(Node n)
Definition:
Work.java:29
com.cliffc.aa.util.VBitSet.tset
boolean tset(int idx)
Definition:
VBitSet.java:7
com.cliffc.aa.node.Work.Work
Work(String name, boolean replacing)
Definition:
Work.java:13
com.cliffc.aa.node.Work._name
final String _name
Definition:
Work.java:11
com.cliffc.aa.node.Work.apply
abstract Node apply(Node n)
com.cliffc.aa.node.Work.clear
void clear()
Definition:
Work.java:37
com.cliffc.aa.node.Work._on
final VBitSet _on
Definition:
Work.java:10
com.cliffc.aa.util.VBitSet
Definition:
VBitSet.java:5
com.cliffc.aa.node.Work.at
Node at(int i)
Definition:
Work.java:27
com.cliffc.aa.node.Work.add
public< N extends Node > N add(N n)
Definition:
Work.java:15
com.cliffc.aa
Definition:
AA.java:1
com.cliffc.aa.node.Work.pop
Node pop()
Definition:
Work.java:21
com.cliffc.aa.node.Work.isEmpty
boolean isEmpty()
Definition:
Work.java:35
com.cliffc.aa.node.Node._uid
int _uid
Definition:
Node.java:84
com
com.cliffc.aa.node.Work.len
int len()
Definition:
Work.java:14
src
main
java
com
cliffc
aa
node
Work.java
Generated by
1.8.18