#include <iostream>
#include <sstream>
#include <string>
#include <vector>

template <typename parsed_type>
std::vector<parsed_type> split(const std::string& text)
{
    std::istringstream iss(text);
    std::vector<parsed_type> elements;
    parsed_type element;

    while (iss >> element)
        elements.push_back(element);

    return elements;
}

template <typename container_type>
void print_container(std::ostream& os, const container_type& c)
{
    std::cout << '{';
    for (auto & item : c)
        std::cout << ' ' << item;
    std::cout << " }\n";
}

int main()
{
    std::string s("1 14 22 6 7");
    std::string words("alpha bravo charlie delta echo foxtrot golf");

    print_container(std::cout, split<int>(s));
    print_container(std::cout, split<std::string>(words));
}