bearophile wrote:
All this looks bug-prone, and surely hairy, but it looks potentially useful. Is it a good idea to design a class that uses such temporary suspension of the invariant?
An invariant that is not invariant is a meaningless attribute. It's like "logical constness" where classes claim to be const but aren't.
