array_utils.cpp 787 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. #include "simple/support/array_utils.hpp"
  2. using namespace simple;
  3. void FilledArray()
  4. {
  5. constexpr auto value = 123;
  6. constexpr auto flar = support::filled_array<8>(value);
  7. static_assert
  8. (
  9. flar[0] == value &&
  10. flar[1] == value &&
  11. flar[2] == value &&
  12. flar[3] == value &&
  13. flar[4] == value &&
  14. flar[5] == value &&
  15. flar[6] == value &&
  16. flar[7] == value
  17. , "filled_array must work!"
  18. );
  19. }
  20. constexpr size_t trivial_init(size_t index)
  21. {
  22. return index;
  23. }
  24. void MakeArray()
  25. {
  26. constexpr auto arr = support::make_array<8>(trivial_init);
  27. static_assert
  28. (
  29. arr[0] == 0 &&
  30. arr[1] == 1 &&
  31. arr[2] == 2 &&
  32. arr[3] == 3 &&
  33. arr[4] == 4 &&
  34. arr[5] == 5 &&
  35. arr[6] == 6 &&
  36. arr[7] == 7
  37. , "make_array must work!"
  38. );
  39. }
  40. int main()
  41. {
  42. FilledArray();
  43. MakeArray();
  44. return 0;
  45. }