#include #include #include #include #include #include #include void _delimeter_tokenizer (std::string &data, std::vector &tokens, std::string delimeter) { boost::split(tokens, data, boost::is_any_of(delimeter)); } typedef boost::function&)> TokenizerType; int main(void) { std::string data = "a\rb\rc\r"; std::vector tokens; std::string delimeter = "\r"; TokenizerType f = boost::bind(_delimeter_tokenizer, _1, _2, delimeter); f(data, tokens); BOOST_FOREACH(std::string token, tokens) std::cout << token << std::endl; return 0; }