AsciiParser

アスキー形式のパーサー

アスキー書式の解釈を行うパーサーですが、TWESYS::TimeOutクラスをベースクラスに持つことで、タイムアウト処理を行っています。

メソッド

AsciiParser() - コンストラクタ

AsciiParser(size_t maxbuffsiz)
AsciiParser(SmplBuf_Byte& bobj)

パーサーオブジェクトを生成します。

生成時のパラメータにmaxbuffsizを与えると、maxbuffsizをバッファサイズとして動的にメモリ確保して、パーサーを初期化します。

あらかじめ生成されたSmplBuf_Byte配列bobjを参照して、パーサーを初期化することもできます。

_u8Parse()

uint8_t AsciiParser::_u8Parse(char_t u8byte)

アスキー書式の解釈アルゴリズムを実装します。バイトの入力のたびにタイムアウトのチェックを行います。

_vOutput()

void AsciiParser::_vOutput(TWEUTILS::SmplBuf_Byte& bobj, TWE::IStreamOut& p)

書式出力を行います。s_Output()メソッドを呼び出します。

s_Output(), vPutByte()

static void vPutByte(uint8_t u8byte, uint8_t* pu8lrc, TWE::IStreamOut& p)
static void s_vOutput(TWEUTILS::SmplBuf_Byte& bobj, TWE::IStreamOut& p)

vPutByte()は、ストリームに対して与えられたバイトu8byteをアスキー2文字で出力します。例えば0x9Aであれば"9A"という2バイト文字になります。

s_vOutput()は、ストリームに対して、与えられたバイト配列SmplBuf_Byteのバイト列をアスキー形式で出力します。

最終更新