#include <iostream>
#include <string>

std::ostream& operator<< ( std::ostream& stm, const std::string& s )
{ return stm << s.c_str() << " [size:" << s.size() << ']' ; }

std::istream& operator>> ( std::istream& stm, std::string& s )
{ return std::getline( stm, s ) ; }

int main()
{
    std::string str ;
    std::cout << "enter a line containing whitespace: " ;
    std::cin >> str ;
    std::cout << "you entered: " << str << '\n' ;
}
