k- and run-time coexistence of release- and debug-mode components">mixing debug and
  release code</a> at link time, although that will not be
  discussed at this time.</p><p>Two types of wrappers are used in the implementation of the debug
  mode: container wrappers and iterator wrappers. The two types of
  wrappers interact to maintain relationships between iterators and
  their associated containers, which are necessary to detect certain
  types of standard library usage errors such as dereferencing
  pa