General Purpose library for Freestanding C++ and POSIX systems
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.

27 linhas
449 B

  1. #pragma once
  2. #include <stddef.h>
  3. namespace gp{
  4. template <typename range, typename F>
  5. void indexed_foreach(range n, F f) {
  6. for(size_t idx = 0; idx < n.size(); ++idx)
  7. {
  8. f(idx, n[idx]);
  9. }
  10. }
  11. template <typename range, typename F>
  12. void foreach(range n, F f) {
  13. for(auto& elem : n)
  14. {
  15. f(elem);
  16. }
  17. }
  18. template <typename range, typename T>
  19. void fill(range& range_v, T value) {
  20. for(auto& elem : range_v) {
  21. elem = value;
  22. }
  23. }
  24. }