digitalmars.D - Templated interface
- DF (1/1) Oct 14 2008 Is it possible to create templated interfaces in D? And if possible than...
- Simen Kjaeraas (30/32) Oct 14 2008 interface foo(T)
- DF (25/62) Oct 14 2008 Thanx, Simen! I've made the solution myself. Maybe if anyone is interest...
- Robert Fraser (5/6) Oct 14 2008 Example:
Is it possible to create templated interfaces in D? And if possible than can anyone provide some good example on templated interface.
Oct 14 2008
On Tue, 14 Oct 2008 23:41:57 +0200, DF <deefriend yahoo.com> wrote:Is it possible to create templated interfaces in D? And if possible than can anyone provide some good example on templated interface.interface foo(T) { T property(); T property(T value); } class bar : foo!(int) { int data; int property() { return data; } int property(int value) { return data = value; } } void main() { bar b = new bar; b.property = 4; writefln(b.property); } -- Simen
Oct 14 2008
Simen Kjaeraas Wrote:On Tue, 14 Oct 2008 23:41:57 +0200, DF <deefriend yahoo.com> wrote:Thanx, Simen! I've made the solution myself. Maybe if anyone is interested I can post it. Though your sampe is good, I've got more complicated thing: interface Stack(T) { void push(T element); T pop(); int isEmpty(); } class StackImpl(T) : Stack!(T) { private T[] data; this() { } public void push(T element) { ... } public T pop() { ... } public int isEmpty() { ... } } void main() { Stack!(char) data = new StackImpl!(char)(); } Seems to work... :)Is it possible to create templated interfaces in D? And if possible than can anyone provide some good example on templated interface.interface foo(T) { T property(); T property(T value); } class bar : foo!(int) { int data; int property() { return data; } int property(int value) { return data = value; } } void main() { bar b = new bar; b.property = 4; writefln(b.property); } -- Simen
Oct 14 2008
DF wrote:Is it possible to create templated interfaces in D? And if possible than can anyone provide some good example on templated interface.Example: IList(T) A list of elements of type T. Implementations could be LinkedList(T) and ArrayList(T).
Oct 14 2008