趣味でC++/WinAPIで組んでて、UNICODE使うのにも踏み切れず、
std::string で1バイトずつ2バイト文字かどうか判別しながら使ってるんだけど、
こんな場合例えば std::string::find() とかの2バイト文字対応版みたいなのはどう作るべきかな。

グローバルとか適当なネームスペース内にただの関数として作るとか、
継承して作るとか考えてみたけど、find(str, "hoge") は str.find("hoge") って書きたいし、
普段使うときは std::string で使いたいから、継承するのもコピーしたりのコストがかかるし。
何かしら我慢するしか無いんだろうか…。