What are the best std algo for testing a range implementation ?

BicMedium via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Tue May 27 03:50:52 PDT 2014


Let's say I have a set of containers, using a 
D-unfriendly-semantic. They rather use a kind of ADA vocabulary 
(according to https://en.wikipedia.org/wiki/Deque). I want to 
make them "range-aware".

If the input/output ranges are easy to implement(so it's just 
reading/writing an element, keeping an index for the writer and 
another for the reader, and reseting it, isn't it ? So if 
(isInputRange!MyCont && isOutputRange!MyCont) then it's a 
"Deque", right ?).
The bidirectionnal ranges or the forward ranges become more 
difficult to interpret with the idioms I 
use(Insert,Add,Remove)...Is this a kind of 3rd plane ("time": 
"return to previous state", "make a backup": copy/roll-back - 
undo/redo ?)

Could you recommend me the algos from std.algo to test 
efficiently my implementations ? (example, if you want to be sure 
that the input ranges work then you'd use this...if you want to 
be sure that output ranges work then you'd use that ...Some kind 
of "reference" unit tests ?). At the present time, each time I 
try one I get rejected by the template constraints...


More information about the Digitalmars-d-learn mailing list