From 64dc2f6c4d56dc4525f49c59119a4777540facf0 Mon Sep 17 00:00:00 2001 From: adam Date: Sun, 8 Jan 2006 04:37:42 -0500 Subject: [PATCH 1/1] added some files darcs-hash:20060108093742-5007d-0cfa629c91309e0673571c055b0ef877f1f428d9.gz --- src/edu/berkeley/sbp/util/Invokable.java | 11 +++++++++++ src/edu/berkeley/sbp/util/SingletonIterator.java | 15 +++++++++++++++ src/edu/berkeley/sbp/util/VisitableMap.java | 7 +++++++ 3 files changed, 33 insertions(+) create mode 100644 src/edu/berkeley/sbp/util/Invokable.java create mode 100644 src/edu/berkeley/sbp/util/SingletonIterator.java create mode 100644 src/edu/berkeley/sbp/util/VisitableMap.java diff --git a/src/edu/berkeley/sbp/util/Invokable.java b/src/edu/berkeley/sbp/util/Invokable.java new file mode 100644 index 0000000..7864410 --- /dev/null +++ b/src/edu/berkeley/sbp/util/Invokable.java @@ -0,0 +1,11 @@ +package edu.berkeley.sbp.util; +import edu.berkeley.sbp.util.*; +import edu.berkeley.sbp.*; +import java.io.*; +import java.util.*; +import java.lang.reflect.*; +import java.lang.ref.*; + +public interface Invokable { + public void invoke(A a, B b, C c); +} diff --git a/src/edu/berkeley/sbp/util/SingletonIterator.java b/src/edu/berkeley/sbp/util/SingletonIterator.java new file mode 100644 index 0000000..108b56c --- /dev/null +++ b/src/edu/berkeley/sbp/util/SingletonIterator.java @@ -0,0 +1,15 @@ +package edu.berkeley.sbp.util; +import java.util.*; + +public final class SingletonIterator implements Iterator, Iterable { + + private boolean spent = false; + private final T t; + + public SingletonIterator(T t) { this.t = t; } + + public void remove() { throw new Error(); } + public boolean hasNext() { return !spent; } + public T next() { spent = true; return t; } + public Iterator iterator() { return this; } +} diff --git a/src/edu/berkeley/sbp/util/VisitableMap.java b/src/edu/berkeley/sbp/util/VisitableMap.java new file mode 100644 index 0000000..ab41a81 --- /dev/null +++ b/src/edu/berkeley/sbp/util/VisitableMap.java @@ -0,0 +1,7 @@ +package edu.berkeley.sbp.util; +import java.util.*; + +public interface VisitableMap { + public void invoke(K k, Invokable ivbc, B b, C c); + public boolean contains(K k); +} -- 1.7.10.4