std.algorithm.cmp is conflicting with itself.
realhet
real_het at hotmail.com
Thu Aug 11 22:34:11 UTC 2022
On Thursday, 11 August 2022 at 19:33:31 UTC, bachmeier wrote:
> std.string does a public import of std.algorithm.cmp.
That was it! Thanks!
Conclusion: This is how to overload cmp()
```d
//this is the only place from where all other modules can see
these std modules
public import std.string, std.uni, std.algorithm, std.math;
import std.range, std.traits;
//create function overload group
public import std.algorithm : cmp;
public import std.math : cmp;
auto cmp(A, B)(in A a, in B b) //the custom
cmp() function
if(!(isInputRange!A && isInputRange!B) //exclude
std.algorithm.cmp
&& !(isFloatingPoint!A && isFloatingPoint!B)) //exclude
std.math.cmp
{
return a==b ? 0 : a<b ? -1 : 1;
}
```
More information about the Digitalmars-d-learn
mailing list