C++1y boolへの変換演算子をコンテナに持たせる
N3509 Operator Bool for Ranges
std::vector、std::stringといったコンテナクラスに、operator boolを持たせよう、という提案。
これがあると、!empty()を必要とする状況でプログラムの冗長性を解消できる、というのが動機です。
// 従来の方法 string s = f(); if (!s.empty()) { // sを使った処理 }
// operator boolがある場合 if (string s = f()) { // sを使った処理 }
こういう書き方は、Boost.Optionalでよく使います。文字列だと、1行ずつのファイル読み込み処理などで使えると思います。
boolへの変換演算子は、Boost.Rangeのiterator_rangeではすでに提供されています。