特にアプリケーション クラスで、iostream << 演算子のオーバーロードを記述する場合、そのストリーム オブジェクトで有効な標準マニピュレータに基づいて、そのオーバーロードの動作を変更することが望ましい場合があります。<< オーバーロードの実装内からストリームの標準マニピュレータの状態をポーリングできますか?
たとえば、
std::cout << std::internal << myClassReference;
~とは異なる振る舞いをする
std::cout << std::left << myClassReference;
違いを超えて、<< のカスタム オーバーロードは、その実装でメンバー << に引き継がれている可能性があります。
iostream のマニピュレータの状態をポーリングできる場合、これはどのように行われますか? また、マニピュレータの状態を同様にポーリングできるように、カスタム マニピュレータを実装する人は何をすべきでしょうか?