pop & popFront combined
    Ali Çehreli via Digitalmars-d-learn 
    digitalmars-d-learn at puremagic.com
       
    Sat Sep 20 14:02:23 PDT 2014
    
    
  
On 09/20/2014 11:59 AM, "Nordlöw" wrote:
> Is there a reason why popFront doesn't automatically return what front
> does?
>
> If so I'm still missing a combined variant of pop and popFront in
> std.range.
> Why isn't such a common operation in Phobos already?
It is also related to exception safety. It took the C++ community to 
realize that a Stack data structure with pop() returning the top object 
cannot be made exception safe. The solution was to separate pop() from 
top().
Here is the original paper demonstrating the impossibility:
 
http://ptgmedia.pearsoncmg.com/imprint_downloads/informit/aw/meyerscddemo/DEMO/MAGAZINE/CA_FRAME.HTM
Here is Herb Sutter's presentation of the solution:
   http://www.gotw.ca/gotw/008.htm
Ali
    
    
More information about the Digitalmars-d-learn
mailing list