Cześć mam pewne zadanie:
Napisz wzorzec algorytmu Tokenizer, którego argumentami będzie podzakres kolekcji liter (kolekcja liter to może być obiekt typu std::string, ale też std::vector<char> itp.) oraz iterator docelowy, do jakiejś kolekcji napisów typu std::string. Algorytm ten powinien podzielić tekst z podzakresu kolekcji liter na wyrazy i umieścić je w kolekcji docelowej. Za definicję wyrazu przyjmujemy nieprzerwany ciąg liter lub cyfr. Uwaga: ten algorytm będzie miał dwa parametry we wzorcu, jeden na typ obu iteratorów opisujących zakres, drugi na typ iteratora docelowego. Można użyć jednej pętli (tylko jednej).
Jednak nie za bardzo wiem jak mam wyglądać sama funkcja, zamiast na rozwiązaniu algorytmu chciałbym się skupić na tym jak taki algorytm powinien zostać zadeklarowany(nie wiem czy to dobre słowo).
Wymyśliłem takie coś :
template <class iterator>//szablon void Tokenizer(iterator b , iterator e, iterator n ) { }
jednak już przy pierwszy wywołaniu funkcji w teście kompilator uświadamia mi, że takiego argumentu użyć nie mogę.
Tokenizer(std::begin(tekst),std::end(tekst),std::back_inserter(words));
Z góry dzięki za pomoc