More flexible sorted ranges?
    bearophile via Digitalmars-d-learn 
    digitalmars-d-learn at puremagic.com
       
    Sun Nov  2 07:13:36 PST 2014
    
    
  
I have often arrays that are sorted, and sometimes I'd like to 
append items to them. So I'd like to write something like:
SortedRange!(Foo[], q{ a.x < b.x }) data;
data ~= Foo(5);
immutable n = data.upperBound(Foo(2)).length;
This means having an array of Foos as sorted range, and appending 
an item to it keeping the sorting invariant (so in non-release 
mode the append verifies the array is empty or the last two items 
satisfy the sorting invariant), and this allows me to call 
functions like upperBound any time I want on 'data' without using 
any unsafe and unclean assumeSorted.
Is this possible and a good idea to do?
Bye,
bearophile
    
    
More information about the Digitalmars-d-learn
mailing list