Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- template<typename Enum>
- struct EnumTraits;
- template<typename Enum>
- using EnumTraitsType = typename EnumTraits<Enum>::Type;
- template<>
- struct EnumTraits<Enum1::EnumerationItem>
- {
- using Type = Enum1;
- };
- template<>
- struct EnumTraits<Enum2::EnumerationItem>
- {
- using Type = Enum2;
- };
- template <typename T>
- class TemplateExample
- {
- public:
- TemplateExample(T t)
- : t { t } {}
- virtual ~TemplateExample() {}
- std::string toString()
- {
- return EnumTraitsType<T>::toString(this->t);
- }
- private:
- T t;
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement