A small trouble with std.range.indexed
    bearophile 
    bearophileHUGS at lycos.com
       
    Thu Sep  8 00:33:24 PDT 2011
    
    
  
std.range.indexed of DMD 2.055 is very nice. But it signature shows constraints that I have had problems to work with, maybe the error is just mine, I don't know:
import std.algorithm, std.range, std.array;
void main() {
    auto data = [7, 6, 5, 4, 3, 2, 1, 0];
    auto indices = [6, 1, 7];
    //auto idxSet = array(uniq(indices.sort())); // OK
    auto idxSet = uniq(indices.sort()); // not OK?
    // std.range.indexed() constraints
    static assert(isInputRange!(typeof(idxSet))); // OK
    static assert( is(typeof((int[]).init[ElementType!(typeof(idxSet)).init])) ); // OK
    sort(indexed(data, idxSet));
    assert(data == [7, 0, 5, 4, 3, 2, 1, 6]);
}
Bye and thank you,
bearophile
    
    
More information about the Digitalmars-d-learn
mailing list