const basic & hold(void) const;
unsigned gethash(void) const {if (flags & status_flags::hash_calculated) return hashvalue; else return calchash();}
unsigned tinfo(void) const {return tinfo_key;}
-protected:
const basic & setflag(unsigned f) const {flags |= f; return *this;}
const basic & clearflag(unsigned f) const {flags &= ~f; return *this;}
+protected:
void ensure_if_modifiable(void) const;
// member variables