diff options
author | Timothy Pearson <kb9vqf@pearsoncomputing.net> | 2011-07-10 15:17:53 -0500 |
---|---|---|
committer | Timothy Pearson <kb9vqf@pearsoncomputing.net> | 2011-07-10 15:17:53 -0500 |
commit | dda8474928bd7276e1fad8fb7a601e7c83ff2bc2 (patch) | |
tree | 7f83910598b33b12730035f086df20b5a53ab99c /tqtinterface/qt4/include/tqtenuminheritance.h | |
parent | 6260b6178868c03aab1644bf93b0ef043654bdb0 (diff) | |
download | experimental-dda8474928bd7276e1fad8fb7a601e7c83ff2bc2.tar.gz experimental-dda8474928bd7276e1fad8fb7a601e7c83ff2bc2.zip |
Added TQt4 HEAD
Diffstat (limited to 'tqtinterface/qt4/include/tqtenuminheritance.h')
-rw-r--r-- | tqtinterface/qt4/include/tqtenuminheritance.h | 36 |
1 files changed, 36 insertions, 0 deletions
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 <typename EnumT, typename BaseEnumT> +class TQTInheritEnum +{ +public: + TQTInheritEnum() {} + TQTInheritEnum(EnumT e) + : enum_(e) + {} + + TQTInheritEnum(BaseEnumT e) + : baseEnum_(e) + {} + + explicit TQTInheritEnum( int val ) + : enum_(static_cast<EnumT>(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 |