On 2009-01-29 22:02:07 -0500, Andrei Alexandrescu <[email protected]> said:

Steven Schveighoffer wrote:
Will popFront and popBack return the element removed? Usually that is the meaning of pop (but not always).

Great question. In STL they can't because C++ couldn't move values reliably at the time (C++0X still can't IMHO but that's another discussion). D would be able to because it has good support for moving. I just don't want inefficiencies; returning e.g. a large struct will still involve some memcpying even if costly resources are not duplicated.

So I'm ambivalent about this.

That would seem like another good use for return type overloading:

        void popFront();
        ElementType popFront();

Too bad we can't have that.

--
Michel Fortin
[email protected]
http://michelf.com/

Reply via email to