On 12/16/13 12:38 PM, Andrei Alexandrescu wrote:
bool between(T, U1, U2)(T v, U1 lo, U2 hi)
{
return v >= lo && v <= hi;
}
uint among(T, Us...)(T v, Us vals)
{
foreach (i, U; Us)
{
if (v == vals[i]) return i + 1;
}
return 0;
}
Add?
Looks like among() has proven its worth since we introduced it. Now I
somehow forgot between() didn't make it, and reviewed some code at work
assuming it exists! Here's the original and proposed in a couple of
snippets:
return (path.asPath.logicalLength() <= asPathLengths_[1] &&
path.asPath.logicalLength() >= asPathLengths_[0]);
=>
return path.asPath.logicalLength.between(asPathLengths_[0],
asPathLengths_[1]);
====
if (prefix.prefixLen > prefixLenRange_[1] ||
prefix.prefixLen < prefixLenRange_[0]) {
=>
if (!prefix.prefixLen.between(prefixLenRange_[0], prefixLenRange_[1])) {
====
Well?
Andrei