On Fri, 01 Apr 2011 22:56:07 -0400, Ishan Thilina <[email protected]> wrote:

The file you attached does not work, gzip says the file end prematurely.

I tried to upload that file three times. In the first two times plainly as the container.d file, and it didn't work( the mail isn't shown on the mailing list). Next I tried to upload the tar.gz file and it worked( also that tar file works in
my pc very well :s). I'll give a link from a file sharing site.

http://www.filejumbo.com/Download/B83F562EEAEAA694

FYI, I did not implement Queue (or Stack) because it is a simple adapter
on List. I made an executive decision to avoid adapter classes because I
feel they add little value.  This does not mean you shouldn't implement
it, but I think it belongs more in the higher level types (like map, set,
etc) and have it use an implementation container as it's base.  Andrei?

Yes, It's better if an implementation container can be used as a base to the containers that we going to develop. The existing data structures such as the SList and Array will be highly useful because more concrete data structures can be
built up on them.

There are several problems with your code.

I'd recommend not putting your code in std.container at first. It will be easier to deal with, because people will know which code you wrote and also it will be better when posting code for questions.

I see two problems right off the bat:

1. your Range!T has two definitions for @property void front(T value)
2. Range!T uses Node, which has no definition.

I'm guessing you meant Range!T to be a part of Queue? I'm not sure what you are doing exactly, because there are no usages of Queue in your code (i.e. it compiles because none of your templates are instantiated). If you want Range to be part of Queue, put it inside the definition of Queue. It will make things easier, and not pollute the namespace. Range!T is not a good name to put in the global namespace.

-Steve

Reply via email to