In-Place Ordering of Elements

anonymous anonymous at example.com
Mon Jan 13 16:12:33 PST 2014


On Monday, 13 January 2014 at 22:28:23 UTC, Nordlöw wrote:
> Does Phobos have some variadic algorithm to order l-value 
> reference arguments in place? Something like
>
>     int a=3;
>     int b=2;
>     int c=1;
>
>     orderInPlace(a,b,c);
>
>     // a is now 1
>     // b is now 2
>     // c is now 3

import std.algorithm: map, sort;
import std.range: only;

int a=3;
int b=2;
int c=1;

static ref int deref(int* p) {return *p;}
sort(only(&a, &b, &c).map!deref);

assert(a == 1);
assert(b == 2);
assert(c == 3);


More information about the Digitalmars-d-learn mailing list