iostream
テンプレートを介して -syntax をサポートするカスタム ロギング クラスがありますoperator <<
。
template< class T >
MyLoggingClass & operator <<(MyLoggingClass &, const T &) {
// do stuff
}
ログメッセージが完了したときに呼び出されることになっている、このオペレーターの特殊なバージョンもあります。
template< >
MyLoggingClass & operator <<(MyLoggingClass &, consts EndOfMessageType &){
// build the message and process it
}
EndOfMessageType
は次のように定義されます。
class EndOfMessageType {};
const EndOfMessageType eom = EndOfMessageType( );
グローバル定数は、ユーザーがログ メッセージの最後eom
と同じように使用できるように定義されています。std::endl
私の質問は、このソリューションに落とし穴はありますか、それともこれを行うための確立されたパターンはありますか?
前もって感謝します!