How to realize isSortedRange?
I need to ensure that range passed to function is SortedRange to use binary search. I did something like: static if(!__traits(compiles, { ElementType!(typeof(data)) element; auto d = data.trisect(element); } )) assert(0, "DataRange shall be SortedRange"); It works for me, but in fact it checks if the type of 'data' have 'trisect' method and conception of SortedRange is something more than having 'trisect' method. I remember there is(?) some way to get general type of template (i.e. SortedRange instead of SortedRange!int), but can not find it.
Re: How to realize isSortedRange?
http://dlang.org/phobos/std_traits.html#TemplateOf
Re: How to realize isSortedRange?
On Wednesday, 20 August 2014 at 07:18:12 UTC, Kagamin wrote: http://dlang.org/phobos/std_traits.html#TemplateOf Or isInstanceOf. static if (__traits(isSame, TemplateOf!R, SortedRange)) static if (isInstanceOf!(SortedRange, R))
Re: How to realize isSortedRange?
Thank you!