Advertisement
Guest User

Untitled

a guest
Nov 26th, 2024
21
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.53 KB | Source Code | 0 0
  1. template<typename Enum>
  2. struct EnumTraits;
  3.  
  4. template<typename Enum>
  5. using EnumTraitsType = typename EnumTraits<Enum>::Type;
  6.  
  7. template<>
  8. struct EnumTraits<Enum1::EnumerationItem>
  9. {
  10.     using Type = Enum1;
  11. };
  12.  
  13. template<>
  14. struct EnumTraits<Enum2::EnumerationItem>
  15. {
  16.     using Type = Enum2;
  17. };
  18.  
  19. template <typename T>
  20. class TemplateExample
  21. {
  22. public:
  23.     TemplateExample(T t)
  24.         : t { t } {}
  25.  
  26.     virtual ~TemplateExample() {}
  27.  
  28.     std::string toString()
  29.     {
  30.         return EnumTraitsType<T>::toString(this->t);
  31.     }
  32.  
  33. private:
  34.     T t;
  35. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement