Strong size_t

Kagamin spam at here.lot
Sat Nov 26 08:45:26 PST 2011


Simen Kjærås Wrote:

> On Sat, 26 Nov 2011 17:22:58 +0100, Kagamin <spam at here.lot> wrote:
> 
> > Tried to create a stronger version of size_t which will not interoperate  
> > with int and long
> > http://codepad.org/47OB3nJi
> >
> > But for some reason can't compare struct to int using opEquals and  
> > opCmp. How to fix it? And should it? One can write `v==intp(42)` or  
> > `v<intp(43)`.
> 
> Have you tried to overload opEquals and opCmp for ints? That seems to
> work just fine for me:
> 
>      bool opEquals(int v) const { return value == v; }
>      int opCmp(int v) const
>      {
>          return value>v?1:value<v?-1:0;
>      }
> 
> Just add those to the intp struct.

It writes
Error: function strongintp.intp.opEquals type signature should be const bool(ref const(intp)) not const bool(ref const const(short) v)

Hmm... may be my compiler version is old and this was fixed...


More information about the Digitalmars-d-learn mailing list