projects
/
sbp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
checkpoint
[sbp.git]
/
src
/
edu
/
berkeley
/
sbp
/
util
/
TopologicalBag.java
diff --git
a/src/edu/berkeley/sbp/util/TopologicalBag.java
b/src/edu/berkeley/sbp/util/TopologicalBag.java
index
cdbe976
..
38e3925
100644
(file)
--- a/
src/edu/berkeley/sbp/util/TopologicalBag.java
+++ b/
src/edu/berkeley/sbp/util/TopologicalBag.java
@@
-82,7
+82,7
@@
public class TopologicalBag<K,V> implements MapBag<Topology<K>,V> {
return true;
}
return true;
}
- public boolean contains(K k) { return get(k).iterator().hasNext(); }
+ public boolean contains(K k) { return has(k); }
public boolean contains(K k, V v) {
for(Topology<K> t : h.keySet())
public boolean contains(K k, V v) {
for(Topology<K> t : h.keySet())
@@
-100,6
+100,14
@@
public class TopologicalBag<K,V> implements MapBag<Topology<K>,V> {
private HashMap<K,Iterable<V>> cache = new HashMap<K,Iterable<V>>();
public Iterable<V> getAll(Topology<K> k) { return h.get(k); }
private HashMap<K,Iterable<V>> cache = new HashMap<K,Iterable<V>>();
public Iterable<V> getAll(Topology<K> k) { return h.get(k); }
+
+ public <B,C> void invoke(K k, Invokable<V,B,C> ivbc, B b, C c) {
+ for(Topology<K> t : h.keySet())
+ if (t.contains(k))
+ for(V v : h.get(t))
+ ivbc.invoke(v, b, c);
+ }
+
public Iterable<V> get(K k) {
Iterable<V> c = cache.get(k);
if (c != null) return c;
public Iterable<V> get(K k) {
Iterable<V> c = cache.get(k);
if (c != null) return c;