On 2/27/15 6:04 AM, "Nordlöw" wrote:
Is there a more compact way to describe the opCmp function in the
following struct
struct Hit
{
size_t count; // number of walkers that found this node
NWeight rank; // rank (either minimum distance or maximum strength)
auto opCmp(const Hit rhs) const
{
if (this.count < rhs.count)
{
return -1;
}
else if (this.count > rhs.count)
{
return +1;
}
else
{
if (this.rank < rhs.rank)
{
return -1;
}
else if (this.rank > rhs.rank)
{
return +1;
}
else
{
return 0;
}
}
}
}
Hm... what about:
return count < rhs.count ? -1 : count > rhs.count ? 1 : rank < rhs.rank
? -1 : rank > rhs.rank;
by reusing something like
auto opCmp(const Hit rhs) const
{
if (this.count < rhs.count)
{
return -1;
}
else if (this.count > rhs.count)
{
return +1;
}
else
{
return this.rank.standardOpCmp(rhs.rank)
}
}
A standard opCmp would be nice. Why wouldn't you use it for count as well?
-Steve