Não pode escolher mais do que 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

36 linhas
946 B

  1. #pragma once
  2. #include <ecs/config.h>
  3. #include <ecs/core/system/parallelism/strategy/split_every.h>
  4. namespace ecs {
  5. namespace signature {
  6. namespace system {
  7. namespace parallelism {
  8. namespace detail
  9. {
  10. template<typename T_split>
  11. struct split_every_builder_t
  12. {
  13. struct parameters
  14. {
  15. static constexpr size_t get_per_split_count() noexcept
  16. { return T_split::value; }
  17. };
  18. constexpr decltype(auto) operator()() const noexcept
  19. { return ::ecs::core::system::parallelism::split_every<parameters> { }; }
  20. };
  21. struct split_every_t
  22. {
  23. template<typename T_split>
  24. constexpr decltype(auto) operator()(T_split) const noexcept
  25. { return split_every_builder_t<T_split> { }; }
  26. };
  27. }
  28. constexpr decltype(auto) split_every = detail::split_every_t { };
  29. } } } }