>>520,523
 std::string& operator <<= ( std::string& lhs, std::string& rhs );
 std::string& operator <<= ( std::string& lhs, std::wstring& rhs );
 std::wstring& operator <<= ( std::wstring& lhs, std::string& rhs );
 std::wstring& operator <<= ( std::wstring& lhs, std::wstring& rhs );
 ...
 std::wstring& operator <<= ( std::wstring& lhs, int rhs );
 int& operator <<= ( int lhs, tstring& rhs );

などとそれぞれ作っておけば、型や方向を気にすることなく、

 target <<= source; とか、
 str <<= 123;

と何でも変換機みたく書けるなぁ…と考えたからです。
lexical_cast みたいにターゲットの型を明記する必要もないし。

ただ、>>519 のいうように、ソースみて混乱するかも…
つーか、書いてて無用の混乱を生み出しそうな気がしてきたな…
まぁ、忘れてください。