OpenRTM  1.0.0
クラス | 公開型 | 公開メンバ関数 | 限定公開メンバ関数 | 全メンバ一覧
coil::log_streambuf< _CharT, _Traits > クラステンプレート

log_streambuf テンプレートクラス [詳解]

#include <Logger.h>

coil::log_streambuf< _CharT, _Traits > の継承関係図

クラス

struct  Stream
 ストリーム管理用構造体 [詳解]
 

公開型

typedef _CharT char_type
 
typedef _Traits traits_type
 
typedef std::basic_streambuf< char_type, traits_typestreambuf_type
 
typedef coil::Mutex Mutex
 
typedef coil::Guard< coil::MutexGuard
 

公開メンバ関数

 log_streambuf ()
 コンストラクタ [詳解]
 
virtual ~log_streambuf ()
 デストラクタ [詳解]
 
void addStream (streambuf_type *stream, bool cleanup=false)
 ストリームを追加する [詳解]
 
bool removeStream (streambuf_type *stream)
 ストリームを削除する [詳解]
 
std::vector< streambuf_type * > getBuffers ()
 ストリームバッファ取得 [詳解]
 

限定公開メンバ関数

virtual std::streamsize xsputn (const char_type *s, std::streamsize n)
 basic_streambuf::xsputn のオーバーライド [詳解]
 
virtual std::streamsize stream_sputn ()
 ストリームへ出力する。 [詳解]
 
virtual std::streamsize stream_sputn (const char_type *s, std::streamsize n)
 ストリームへ出力する。 [詳解]
 
virtual int overflow (int c=traits_type::eof())
 basic_streambuf::overflow のオーバーライド [詳解]
 
virtual int sync ()
 basic_streambuf::sync のオーバーライド [詳解]
 

詳解

template<typename _CharT, typename _Traits = std::char_traits<_CharT>>
class coil::log_streambuf< _CharT, _Traits >

log_streambuf テンプレートクラス

型定義メンバ詳解

◆ char_type

template<typename _CharT , typename _Traits = std::char_traits<_CharT>>
typedef _CharT coil::log_streambuf< _CharT, _Traits >::char_type

◆ Guard

template<typename _CharT , typename _Traits = std::char_traits<_CharT>>
typedef coil::Guard<coil::Mutex> coil::log_streambuf< _CharT, _Traits >::Guard

◆ Mutex

template<typename _CharT , typename _Traits = std::char_traits<_CharT>>
typedef coil::Mutex coil::log_streambuf< _CharT, _Traits >::Mutex

◆ streambuf_type

template<typename _CharT , typename _Traits = std::char_traits<_CharT>>
typedef std::basic_streambuf<char_type, traits_type> coil::log_streambuf< _CharT, _Traits >::streambuf_type

◆ traits_type

template<typename _CharT , typename _Traits = std::char_traits<_CharT>>
typedef _Traits coil::log_streambuf< _CharT, _Traits >::traits_type

構築子と解体子

◆ log_streambuf()

template<typename _CharT , typename _Traits = std::char_traits<_CharT>>
coil::log_streambuf< _CharT, _Traits >::log_streambuf ( )
inline

コンストラクタ

コンストラクタ

参照先 BUFFER_LEN.

◆ ~log_streambuf()

template<typename _CharT , typename _Traits = std::char_traits<_CharT>>
virtual coil::log_streambuf< _CharT, _Traits >::~log_streambuf ( )
inlinevirtual

デストラクタ

デストラクタ。

関数詳解

◆ addStream()

template<typename _CharT , typename _Traits = std::char_traits<_CharT>>
void coil::log_streambuf< _CharT, _Traits >::addStream ( streambuf_type stream,
bool  cleanup = false 
)
inline

ストリームを追加する

log_streambuf に実際の出力先であるストリームを追加する。 ここで追加されたストリームの解体責任はユーザにあり、 log_streambuf 解体時には解体されることはない。 また追加されているストリームを log_streambuf の解体前に 解体してはならない。ストリームの解体は log_streambuf の解体後に、 ユーザが解体しなければならない。

引数
streamstd::basic_streambuf 型のストリームへのポインタ

◆ getBuffers()

template<typename _CharT , typename _Traits = std::char_traits<_CharT>>
std::vector<streambuf_type*> coil::log_streambuf< _CharT, _Traits >::getBuffers ( )
inline

ストリームバッファ取得

ストリームバッファを返す。

戻り値
streambuf_type リスト

◆ overflow()

template<typename _CharT , typename _Traits = std::char_traits<_CharT>>
virtual int coil::log_streambuf< _CharT, _Traits >::overflow ( int  c = traits_type::eof())
inlineprotectedvirtual

basic_streambuf::overflow のオーバーライド

引数
c入力文字
戻り値
返却値

参照先 coil::log_streambuf< _CharT, _Traits >::stream_sputn().

参照元 coil::log_streambuf< _CharT, _Traits >::sync().

◆ removeStream()

template<typename _CharT , typename _Traits = std::char_traits<_CharT>>
bool coil::log_streambuf< _CharT, _Traits >::removeStream ( streambuf_type stream)
inline

ストリームを削除する

log_streambuf から出力先であるストリームを削除する。 ここで削除されたストリームの解体責任はユーザにある。

引数
streamstd::basic_streambuf 型のストリームへのポインタ

◆ stream_sputn() [1/2]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>>
virtual std::streamsize coil::log_streambuf< _CharT, _Traits >::stream_sputn ( )
inlineprotectedvirtual

◆ stream_sputn() [2/2]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>>
virtual std::streamsize coil::log_streambuf< _CharT, _Traits >::stream_sputn ( const char_type s,
std::streamsize  n 
)
inlineprotectedvirtual

ストリームへ出力する。

引数
s入力文字列へのポインタ
n入力文字数
戻り値
入力文字列のサイズ

◆ sync()

template<typename _CharT , typename _Traits = std::char_traits<_CharT>>
virtual int coil::log_streambuf< _CharT, _Traits >::sync ( )
inlineprotectedvirtual

basic_streambuf::sync のオーバーライド

戻り値
返却値

参照先 coil::log_streambuf< _CharT, _Traits >::overflow(), coil::log_streambuf< _CharT, _Traits >::stream_sputn().

◆ xsputn()

template<typename _CharT , typename _Traits = std::char_traits<_CharT>>
virtual std::streamsize coil::log_streambuf< _CharT, _Traits >::xsputn ( const char_type s,
std::streamsize  n 
)
inlineprotectedvirtual

basic_streambuf::xsputn のオーバーライド

引数
s入力文字列へのポインタ
n入力文字数
戻り値
入力文字列のサイズ

参照先 coil::log_streambuf< _CharT, _Traits >::stream_sputn().