IParser
パーサーの基底クラス
パーサーオブジェクトに1バイトずつ電文を投入することで、電文系列を解釈する状態遷移マシンです。
メソッド
Parse(), operator << ()
パーサーに1バイト入力します。入力のたびにパーサーの状態が変化し、パーサーの解釈が完了するとstate()
がE_TWESERCMD_COMPLETE
に変化し解釈完了状態となります。
state()
パーサーの状態を取得します。
operator bool(), is_complete()
パーサーの状態がE_TWESERCMD_COMPLETE
の場合true
になります。
length()
パーサーで解釈済みのバイト列のデータ長を返します。
operator[]()
パーサーの解釈済みのバイト列にアクセスします。
get_payload()
パーサーの解釈済みのバイト列を格納した配列クラスSmplBuf_Byte
を参照します。
set_payload()
パーサーオブジェクトを用いて出力を構築する際に、データ列をコピーします。コピー元はSmplBuf_Byte
データ構造またはuint8_t*
型の先頭と終端+1ポインタの組み合わせです。
reinit()
パーサーの解釈途中の内容を破棄し、新たな解釈を始めます。
operator << ()
IStreamOutをベースクラスにもつストリームオブジェクトに、書式出力します。
メソッド
_u8Parse()
1バイト入力して解釈を進める仮想関数です。派生クラスにより実装されます。
_vOutput()
バイト配列bobj
に格納されるバイト列に対応する書式をストリームp
に出力する仮想関数です。派生クラスにより実装されます。
状態
最終更新