Advertisement
Guest User

Untitled

a guest
Jul 2nd, 2015
204
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.74 KB | None | 0 0
  1. template <class T>
  2. struct RemoveOptional {
  3. using Type = T;
  4. };
  5.  
  6. template <class T>
  7. struct RemoveOptional<utils::Optional<T>> {
  8. using Type = T;
  9. };
  10.  
  11. utils::RemoveOptional<utils::Optinal<int>>::Type
  12.  
  13. template <class T>
  14. struct IsOptional : std::false_type {
  15. };
  16.  
  17. template <class T>
  18. struct IsOptional<Optional<T>> : std::true_type {
  19. };
  20.  
  21. utils::IsOptional<utils::Optional<int>>::value
  22. utils::IsOptional<utils::Optional<int>>::value_type
  23.  
  24. template <class T>
  25. struct IsOptional : std::false_type {
  26. using Type = std::false_type::value_type;
  27. using Value = std::false_type::value;
  28. };
  29.  
  30. template <class T>
  31. struct IsOptional<Optional<T>> : std::true_type {
  32. using Type = std::true_type::value_type;
  33. using Value = std::true_type::value;
  34. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement