Todas as ocorrências de um elemento em uma lista

Crie uma função genérica que retorne os índices, começando em zero, de cada ocorrência de um valor-alvo em uma coleção.

Exemplos

getIndices(std::vector<std::string>{"a", "a", "b", "a", "b", "a"}, std::string("a")) ➞ std::vector<int>{0, 1, 3, 5}

getIndices(std::vector<int>{1, 5, 5, 2, 7}, 7) ➞ std::vector<int>{4}

getIndices(std::vector<int>{1, 5, 5, 2, 7}, 5) ➞ std::vector<int>{1, 2}

getIndices(std::vector<int>{1, 5, 5, 2, 7}, 8) ➞ std::vector<int>{}

Observações

  • Retorne uma coleção vazia quando o valor-alvo não ocorrer.
  • Os valores de entrada são valores simples, não coleções aninhadas.