A little pseudo-code for illustrational purposes, in case my above text is incomprehensible:
void inc() pure nothrow @inverse(dec) void dec() pure nothrow @inverse(inc) void swap(T)(ref T lhs, ref T rhs) pure nothrow @inverse(swap!T)
A little pseudo-code for illustrational purposes, in case my above text is incomprehensible:
void inc() pure nothrow @inverse(dec) void dec() pure nothrow @inverse(inc) void swap(T)(ref T lhs, ref T rhs) pure nothrow @inverse(swap!T)