From: Dave Gomboc (dave_at_[hidden])
Date: 2004-01-06 23:37:29
> Checks are only strictly necessary either at entry or at exit
> points of functions, not both. See under 'Rationale'.
AFAIk for the general case it needs to be checked both at entry and at
exit. See the text under "Class invariants and reference semantics",
particularly regarding what is referred to as the "Indirect Invariant
Effect", within OOSC2 (Meyer), Section 11.14, pp. 403-406.
If there's since been further work that absolves the need to
double-check (heh) I'd appreciate a pointer to it. If there hasn't
been, then I might as well mention that once you've added checking at
routine exit, you won't need the check at the beginning of the
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk