// Copyright 2003, Trustees of Indiana University // Please see the license in the file ../LICENSE // Function concepts: public interface UnaryFunction { T op(T a); } public interface BinaryFunction { T op(T a, T b); } public interface StrictWeakOrdering { bool less(T a, T b); } // Queue concepts: public interface Buffer { void push(Value v); Value pop(); bool empty(); } public interface MutableQueue: Buffer { void update(Vertex v); } // Property map concepts: public interface ReadablePropertyMap { Value this[Key k] {get;} } public interface ReadWritePropertyMap : ReadablePropertyMap { new Value this[Key k] {get; set;} }