From dda8474928bd7276e1fad8fb7a601e7c83ff2bc2 Mon Sep 17 00:00:00 2001 From: Timothy Pearson Date: Sun, 10 Jul 2011 15:17:53 -0500 Subject: Added TQt4 HEAD --- tqtinterface/qt4/include/tqtenuminheritance.h | 36 +++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 tqtinterface/qt4/include/tqtenuminheritance.h (limited to 'tqtinterface/qt4/include/tqtenuminheritance.h') diff --git a/tqtinterface/qt4/include/tqtenuminheritance.h b/tqtinterface/qt4/include/tqtenuminheritance.h new file mode 100644 index 0000000..ea69016 --- /dev/null +++ b/tqtinterface/qt4/include/tqtenuminheritance.h @@ -0,0 +1,36 @@ +#ifndef TQT_ENUM_INHERITANCE_H +#define TQT_ENUM_INHERITANCE_H + +template +class TQTInheritEnum +{ +public: + TQTInheritEnum() {} + TQTInheritEnum(EnumT e) + : enum_(e) + {} + + TQTInheritEnum(BaseEnumT e) + : baseEnum_(e) + {} + + explicit TQTInheritEnum( int val ) + : enum_(static_cast(val)) + {} + + operator EnumT() const { return enum_; } +private: + // Note - the value is declared as a union mainly for as a debugging aid. If + + // the union is undesired and you have other methods of debugging, change it + + // to either of EnumT and do a cast for the constructor that accepts BaseEnumT. + + union + { + EnumT enum_; + BaseEnumT baseEnum_; + }; +}; + +#endif // TQT_ENUM_INHERITANCE_H \ No newline at end of file -- cgit v1.2.3