- GINAC_IMPLEMENT_REGISTERED_CLASS_NO_CTORS(classname, supername) \
-classname::classname(const classname & other) \
-{ \
- /*debugmsg(#classname " copy ctor", LOGLEVEL_CONSTRUCT);*/ \
- copy(other); \
-} \
-const classname & classname::operator=(const classname & other) \
-{ \
- /*debugmsg(#classname " operator=", LOGLEVEL_ASSIGNMENT);*/ \
- if (this != &other) { \
- destroy(true); \
- copy(other); \
- } \
- return *this; \
-} \
-basic * classname::duplicate() const { \
- /*debugmsg(#classname " duplicate", LOGLEVEL_DUPLICATE);*/ \
- return new classname(*this); \
-}
+ GiNaC::registered_class_info classname::reg_info(#classname, #supername, TINFO_##classname, &classname::unarchive); \
+ const char *classname::class_name() const {return reg_info.name;}