fork download
  1. #include <cstdint>
  2. #include <iostream>
  3.  
  4. namespace detail {
  5.  
  6. constexpr
  7. std::uint32_t
  8. make_test(char a, char b, char c)
  9. {
  10. return
  11. static_cast<std::uint32_t>(a << 24) +
  12. static_cast<std::uint32_t>(b << 16) +
  13. static_cast<std::uint32_t>(c << 8);
  14. }
  15.  
  16. }
  17.  
  18. enum class Test : std::uint32_t
  19. {
  20. FOO = detail::make_test('F', 'O', 'O'),
  21. BAR = detail::make_test('B', 'A', 'R')
  22. };
  23.  
  24. int main(int, char **)
  25. {
  26. std::cout << "FOO: " << static_cast<std::uint32_t>(Test::FOO) << "\n";
  27. std::cout << "BAR: " << static_cast<std::uint32_t>(Test::BAR) << "\n";
  28. return 0;
  29. }
Success #stdin #stdout 0s 4472KB
stdin
Standard input is empty
stdout
FOO: 1179602688
BAR: 1111577088