Я получил этот код ( split code ) онлайн, чтобы довольно круто разбивать строки, но затем я хочу сделать его немного более универсальным и управляемым.Я реализовал обходной путь, передавая его через входной параметр как шаблонный класс с constexpr, но мне было интересно, если кто-нибудь узнает, как я могу сделать эту работу.
Я сделал лямбда-функцию, которая принимает одну постоянную времени компиляции, и я пытаюсь вызвать ее.На сайте вызова он принимает параметры шаблона как выражение, пытаясь сделать оператор меньше, чем.
auto splt_val = []<char delimiter='\n'>(std::string s)->std::vector<std::string>{
std::istringstream iss(s);
std::vector<std::string> parm_data(
(std::istream_iterator<WordDelimitedBy< delimiter > >(iss)),
std::istream_iterator<WordDelimitedBy< delimiter > >());
return parm_data;
};
splt_val<'\n'>("test"); //<-- DOESN'T WORK
splt_val("test"); //<-- THIS WORKS