where to find Implements!

Jonathan M Davis jmdavisProg at gmx.com
Wed Sep 29 15:43:08 PDT 2010


On Wednesday, September 29, 2010 13:49:23 BLS wrote:
> Implements!(*I*MyInterface) // where IMyInterface is a plain vanilla
> Interface
> This was at least my hope 'cause IMHO this could make just f.i. the
> range stuff more reliable.

Except that there are no interfaces involved. Using isForwardRange(), 
isBidirectionalRange(), etc. works just fine and is quite reliable. Using 
interfaces wouldn't have helped any and would have been less flexible.

> 
> Unfortunately we are not able to use classes to implement the basic
> data-structures for collections/graphs. if we could use class Node,
> class Tree : IxRange, class Map : Tree       ...


??? You can use both structs and classes to implement containers and ranges. And 
how the internals of a type work is completely up to the type. Now, structs are 
generally more efficient, so they're more likely to be used, but you can use 
classes just fine.

- Jonathan M Davis


More information about the Digitalmars-d mailing list