- /** For use by copy ctor and assignment operator. */
- void copy(const basic & other)
- {
- flags = other.flags & ~status_flags::dynallocated;
- hashvalue = other.hashvalue;
- tinfo_key = other.tinfo_key;
- }
- /** For use by dtor and assignment operator. */
- virtual void destroy(bool call_parent) { }
-
- // other ctors
- /** ctor with specified tinfo_key */
- basic(unsigned ti) : tinfo_key(ti), flags(0), refcount(0)
- {
- /* debugmsg("basic ctor with tinfo_key", LOGLEVEL_CONSTRUCT); */
- }
- // functions overriding virtual functions from bases classes
- // none
+ /** Constructor with specified tinfo_key (used by derived classes instead
+ * of the default constructor to avoid assigning tinfo_key twice). */
+ basic(unsigned ti) : tinfo_key(ti), flags(0), refcount(0) {}