std::all_of( ) と std:none_of( ) は両方とも、空のコンテナに対して true を返します。
これの概念的な側面について議論することは別として、コンテナが空であるかどうかを常にチェックし、all_of または none_of をチェックする必要のないイディオムを誰かが提案できますか?
これは、空のコンテナーの両方のアルゴリズムで同じ述語を使用すると、その述語が要素の ALL と NONE の両方に対して true であることを示すという点で厄介です。したがって、(空の) ベクトルは all_of "odd"、all_of "even"、none_of "odd"、および none_of "even" です。
より実用的なレベルでは、「処理の準備ができている」などのアイテムのコレクションのステータスをチェックし、空のコレクションが「いいえ、処理できる要素がありません」に対応することを期待しています。空かどうかを個別に確認できることはわかっていますが、他の可能性を探しています。