April 26, 2018 bitfields comparison in opEquals | ||||
---|---|---|---|---|
| ||||
I have a struct with a mixin(bitfields) containing many small bitfields. I also have a class member in the struct. And because I want the class member to compare by using `is` I need to define bool opEquals(const scope typeof(this) that) const @safe pure nothrow @nogc { return (this.data == that.data && this.context is that.context && // these are all bitfields members // TODO can we do this comparison in one go? this.lang == that.lang && this.pot == that.pot && this.manner == that.manner && this.senseNr == that.senseNr && this.hasUniquePot == that.hasUniquePot && this.isHashed == that.isHashed); } Is there a way to make the bitfields-comparsion in opEquals run faster by somehow checking for its size in words (n) and casting it to size_t[n] which can be compared very fast. |
Copyright © 1999-2021 by the D Language Foundation