Solution46
|
コンソール入出力クラス [詳解]
#include "CConsole.h"
クラス | |
struct | SInputRecord |
入力レコード構造体 [詳解] | |
公開メンバ関数 | |
CConsole () noexcept | |
コンストラクタ [詳解] | |
virtual | ~CConsole () noexcept |
デストラクタ [詳解] | |
virtual int | GetInputCount () const noexcept |
入力レコード数取得関数 [詳解] | |
virtual void | StopInput () noexcept |
入力中止要求関数 [詳解] | |
virtual bool | OutputString (wchar_t const *pszString) noexcept override |
文字列出力関数 [詳解] | |
virtual bool | InputChar (wchar_t &rCh) noexcept override |
1文字入力関数 [詳解] | |
virtual int | InputString (wchar_t *pszBuffer, int nSize) noexcept override |
文字列入力関数 [詳解] | |
virtual bool | InputChar (wchar_t &rCh, DWORD dwTime) noexcept |
1文字入力関数 [詳解] | |
virtual int | InputString (wchar_t *pszBuffer, int nSize, DWORD dwTime) noexcept |
文字列入力関数 [詳解] | |
virtual int | InputString (wchar_t *pszBuffer, int nSize, wchar_t const *pszString, DWORD dwTime=INFINITE) noexcept |
文字列入力関数 [詳解] | |
virtual void | ClearInputBuffer () noexcept |
入力バッファクリア関数 [詳解] | |
virtual bool | InputRecord (SInputRecord &rsRecord, DWORD dwTime) noexcept |
入力レコード取得関数 [詳解] | |
virtual int | HitAnyKey (wchar_t const *pszString=nullptr, DWORD dwTime=INFINITE) noexcept |
キー入力待ち関数 [詳解] | |
virtual bool | YesNoKey (wchar_t const *pszString=nullptr, DWORD dwTime=INFINITE) noexcept |
確認入力待ち関数 [詳解] | |
![]() | |
CMutex () noexcept | |
コンストラクタ [詳解] | |
virtual | ~CMutex () noexcept |
デストラクタ [詳解] | |
virtual void | Close () noexcept override |
クローズ関数 [詳解] | |
virtual bool | Release () noexcept override |
リリース関数 [詳解] | |
virtual bool | Lock (DWORD dwTime=INFINITE) noexcept override |
ロック関数 [詳解] | |
virtual bool | Unlock () noexcept override |
ロック解除関数 [詳解] | |
virtual bool | Create (wchar_t const *pszObjectName=nullptr) noexcept |
作成関数 [詳解] | |
virtual bool | Open (wchar_t const *pszObjectName) noexcept |
オープン関数 [詳解] | |
![]() | |
CSync () noexcept | |
コンストラクタ [詳解] | |
virtual | ~CSync () noexcept |
デストラクタ [詳解] | |
virtual HANDLE | GetHandle () const noexcept |
オブジェクトハンドル取得関数 [詳解] | |
virtual bool | IsCreate () const noexcept |
新規作成状態取得関数 [詳解] | |
virtual bool | Wait (DWORD dwTime=INFINITE) noexcept |
ウェイト関数 [詳解] | |
![]() | |
virtual int | GetStreamSize () const noexcept |
ストリームサイズ取得関数 [詳解] | |
virtual int | GetStreamPoint () const noexcept |
ストリームポインタ取得関数 [詳解] | |
virtual bool | SetStreamPoint (int nPoint) noexcept |
ストリームポインタ設定関数 [詳解] | |
virtual bool | SetStreamEnd () noexcept |
ストリーム終端設定関数 [詳解] | |
virtual bool | IsStreamEnd () const noexcept |
ストリーム終端状態取得関数 [詳解] | |
virtual bool | SkipSpace () noexcept |
空白スキップ関数 [詳解] | |
virtual bool | SkipChar (wchar_t ch, bool bIgnore=false) noexcept |
1文字スキップ関数 [詳解] | |
virtual bool | SkipChar (wchar_t const *pszString, bool bIgnore=false) noexcept |
1文字スキップ関数 [詳解] | |
virtual bool | PushStreamPoint (CArray< int > *pcPointerList) noexcept |
ストリームポインタプッシュ関数 [詳解] | |
virtual bool | PopStreamPoint (CArray< int > *pcPointerList, bool bResume) noexcept |
ストリームポインタポップ数 [詳解] | |
![]() | |
virtual bool | OutputChar (wchar_t ch) noexcept |
1文字出力関数 [詳解] | |
virtual bool | OutputFormat (wchar_t const *pszFormat,...) noexcept |
書式設定文字列出力関数 [詳解] | |
virtual bool | OutputArgs (wchar_t const *pszFormat, va_list vaArgs) noexcept |
引数リスト文字列出力関数 [詳解] | |
virtual bool | OutputNewLine () noexcept |
改行出力関数 [詳解] | |
virtual bool | OutputLineHeader () noexcept |
行ヘッダー出力関数 [詳解] | |
virtual bool | UpdateLineNumber () noexcept |
行番号更新関数 [詳解] | |
virtual int | GetLineNumber () noexcept |
行番号取得関数 [詳解] | |
virtual int | GetIndentCount () noexcept |
インデントカウント取得関数 [詳解] | |
virtual bool | OutputIndent () noexcept |
インデント出力関数 [詳解] | |
virtual bool | Indent () noexcept |
インデント関数 [詳解] | |
virtual bool | Unindent () noexcept |
アンインデント関数 [詳解] | |
virtual bool | OutputLineString (wchar_t const *pszString, bool bHeader=true, bool bIndent=true) noexcept |
文字列行出力関数 [詳解] | |
virtual bool | OutputLineFormat (wchar_t const *pszFormat,...) noexcept |
書式設定文字列行出力関数 [詳解] | |
virtual bool | OutputLineArgs (wchar_t const *pszFormat, va_list vaArgs) noexcept |
引数リスト文字列行出力関数 [詳解] | |
virtual bool | ExOutputLineFormat (bool bHeader, bool bIndent, wchar_t const *pszFormat,...) noexcept |
拡張書式設定文字列行出力関数 [詳解] | |
virtual bool | ExOutputLineArgs (bool bHeader, bool bIndent, wchar_t const *pszFormat, va_list vaArgs) noexcept |
拡張引数リスト文字列行出力関数 [詳解] | |
静的公開メンバ関数 | |
static CConsole & | GetInstance () noexcept |
インスタンス取得関数 [詳解] | |
static HANDLE | GetInputHandle () noexcept |
入力ハンドル取得関数 [詳解] | |
static HANDLE | GetOutputHandle () noexcept |
出力ハンドル取得関数 [詳解] | |
static HWND | GetWindowHandle () noexcept |
ウィンドウハンドル取得関数 [詳解] | |
static bool | GetFontSize (int &rnWidth, int &rnHeight) noexcept |
フォントサイズ取得関数 [詳解] | |
static bool | GetSize (int &rnWidth, int &rnHeight) noexcept |
出力バッファサイズ取得関数 [詳解] | |
static bool | SetBufferSize (int nWidth, int nHeight) noexcept |
出力バッファサイズ設定関数 [詳解] | |
static bool | GetBufferPosition (int &rnLeft, int &rnTop) noexcept |
出力バッファ表示位置取得関数 [詳解] | |
static bool | SetBufferPosition (int nLeft, int nTop) noexcept |
出力バッファ表示位置設定関数 [詳解] | |
static bool | GetBufferArea (int &rnLeft, int &rnTop, int &rnWidth, int &rnHeight) noexcept |
出力バッファ表示領域取得関数 [詳解] | |
static bool | SetBufferArea (int nLeft, int nTop, int nWidth, int nHeight) noexcept |
出力バッファ表示領域設定関数 [詳解] | |
static bool | GetWindowArea (int &rnLeft, int &rnTop, int &rnWidth, int &rnHeight) noexcept |
ウィンドウ表示領域取得関数 [詳解] | |
static bool | SetWindowArea (int nLeft, int nTop, int nWidth, int nHeight) noexcept |
ウィンドウ表示領域設定関数 [詳解] | |
static bool | GetCursorPosition (int &rnX, int &rnY) noexcept |
カーソル位置取得関数 [詳解] | |
static bool | SetCursorPosition (int nX, int nY) noexcept |
カーソル位置設定関数 [詳解] | |
static bool | GetCursor (COORD &rsCursor) noexcept |
カーソル位置取得関数 [詳解] | |
static bool | SetCursor (COORD const &rsCursor) noexcept |
カーソル位置設定関数 [詳解] | |
static bool | ScrollWindow (int nX, int nY) noexcept |
ウィンドウスクロール関数 [詳解] | |
static bool | InputDirect (wchar_t &rCh) noexcept |
コンソール入力バッファ直接入力関数 [詳解] | |
static bool | KbHitDirect () noexcept |
コンソール入力バッファ直接検査関数 [詳解] | |
静的限定公開メンバ関数 | |
static DWORD WINAPI | SubThreadProc (LPVOID lpParam) noexcept |
サブスレッド関数 [詳解] | |
限定公開変数類 | |
wchar_t | m_szBuffer [BUFFER_SIZE+1] |
文字列バッファ [詳解] | |
SInputRecord | m_sRecordBuffer [RECORD_SIZE] |
入力レコードリングバッファ [詳解] | |
int | m_nRecordPos |
入力レコード先頭位置 [詳解] | |
int | m_nRecordCount |
入力レコードカウント [詳解] | |
COORD | m_sMaxCursor |
最大カーソル位置 [詳解] | |
CThread | m_cThreadSub |
サブスレッド [詳解] | |
bool | m_bStopInput |
入力中止要求フラグ [詳解] | |
![]() | |
DWORD | m_dwLockCount |
ロックカウント [詳解] | |
![]() | |
HANDLE | m_hObject |
オブジェクトハンドル [詳解] | |
bool | m_bIsCreate |
新規作成フラグ [詳解] | |
![]() | |
int | m_nLine |
行番号 [詳解] | |
int | m_nIndent |
インデントカウント [詳解] | |
静的限定公開変数類 | |
static int const | BUFFER_SIZE = ( 512 - 1 ) |
文字列バッファサイズ [詳解] | |
static int const | RECORD_SIZE = 512 |
入力レコードリングバッファサイズ [詳解] | |
static int const | KBHIT_RECORD_SIZE = 32 |
直接入力検査レコードバッファサイズ [詳解] | |
static CConsole | s_cInstance |
静的インスタンス [詳解] | |
![]() | |
static wchar_t const *const | OBJECT_NAME_EXT = L".CMutex" |
オブジェクト名拡張子 [詳解] | |
![]() | |
static int const | FORMAT_BUFFER_SIZE = ( 2048 - 1 ) |
書式設定文字列バッファサイズ [詳解] | |
非公開メンバ関数 | |
CConsole (CConsole const &)=delete | |
CConsole & | operator= (CConsole const &)=delete |
その他の継承メンバ | |
![]() | |
CStream () noexcept | |
コンストラクタ [詳解] | |
virtual | ~CStream () noexcept |
デストラクタ [詳解] | |
![]() | |
CStreamOut () noexcept | |
コンストラクタ [詳解] | |
virtual | ~CStreamOut () noexcept |
デストラクタ [詳解] | |
|
explicitnoexcept |
コンストラクタ
コンストラクタです。
なし |
CConsole.cpp の 31 行目に定義があります。
参照先 LibCommon::CMutex::Create(), NotifyConstructor, NotifyFatalError, SubThreadProc().
|
virtualnoexcept |
デストラクタ
デストラクタです。
なし |
CConsole.cpp の 61 行目に定義があります。
参照先 LibCommon::CThread::Close(), m_cThreadSub, NotifyDestructor.
|
privatedelete |
|
inlinevirtualnoexcept |
|
inlinevirtualnoexcept |
|
overridevirtualnoexcept |
文字列出力関数
文字列出力関数です。
[in] | pszString | 文字列ポインタ |
LibCommon::CStreamOutを実装しています。
CConsole.cpp の 73 行目に定義があります。
参照先 BUFFER_SIZE, GetCursor(), m_sMaxCursor, m_szBuffer.
参照元 HitAnyKey(), InputString(), YesNoKey().
|
inlineoverridevirtualnoexcept |
1文字入力関数
1文字入力関数です。
[out] | rCh | 文字コード参照 |
LibCommon::CStreamを実装しています。
CConsole.h の 173 行目に定義があります。
参照先 InputChar().
参照元 HitAnyKey(), InputChar(), YesNoKey().
|
inlineoverridevirtualnoexcept |
文字列入力関数
文字列入力関数です。
[in] | pszBuffer | 文字列バッファポインタ |
[in] | nSize | バッファサイズ |
LibCommon::CStreamを再実装しています。
CConsole.h の 185 行目に定義があります。
参照先 InputString().
参照元 InputString().
|
virtualnoexcept |
1文字入力関数
1文字入力関数です。
[out] | rCh | 文字コード参照 |
[in] | dwTime | 待機時間 |
CConsole.cpp の 132 行目に定義があります。
参照先 InputRecord(), m_bStopInput, m_cThreadSub, LibCommon::CConsole::SInputRecord::m_sEvent, LibCommon::CTimer::Wait(), LibCommon::CSync::Wait().
|
inlinevirtualnoexcept |
文字列入力関数
文字列入力関数です。
[in] | pszBuffer | 文字列バッファポインタ |
[in] | nSize | バッファサイズ |
[in] | dwTime | 待機時間 |
CConsole.h の 212 行目に定義があります。
参照先 InputString().
参照元 InputString().
|
virtualnoexcept |
文字列入力関数
文字列入力関数です。
[in] | pszBuffer | 文字列バッファポインタ |
[in] | nSize | バッファサイズ |
[in] | pszString | 文字列ポインタ |
[in] | dwTime | 待機時間 |
CConsole.cpp の 186 行目に定義があります。
参照先 GetCursor(), GetSize(), InputRecord(), LibCommon::CConsole::SInputRecord::m_bControl, m_bStopInput, LibCommon::CConsole::SInputRecord::m_sEvent, LibCommon::CStreamOut::OutputChar(), OutputString(), SetCursor().
|
virtualnoexcept |
入力バッファクリア関数
入力バッファクリア関数です。
なし |
CConsole.cpp の 510 行目に定義があります。
参照先 LibCommon::CSync::GetHandle(), GetInputHandle(), m_cThreadSub, m_nRecordCount, m_nRecordPos.
参照元 HitAnyKey(), YesNoKey().
|
virtualnoexcept |
入力レコード取得関数
入力レコード取得関数です。
[out] | rsRecord | 入力レコード参照 |
[in] | dwTime | 待機時間 |
CConsole.cpp の 544 行目に定義があります。
参照先 m_cThreadSub, m_nRecordCount, m_nRecordPos, m_sRecordBuffer, RECORD_SIZE, LibCommon::CSync::Wait(), LibCommon::CTimer::Wait().
参照元 InputChar(), InputString().
|
virtualnoexcept |
キー入力待ち関数
キー入力待ち関数です。
[in] | pszString | 文字列ポインタ |
[in] | dwTime | 待機時間 |
CConsole.cpp の 596 行目に定義があります。
参照先 ClearInputBuffer(), InputChar(), OutputString().
|
virtualnoexcept |
確認入力待ち関数
確認入力待ち関数です。
[in] | pszString | 文字列ポインタ |
[in] | dwTime | 待機時間 |
CConsole.cpp の 626 行目に定義があります。
参照先 ClearInputBuffer(), ConsoleLine, ConsoleNewLine, InputChar(), OutputString().
|
inlinestaticnoexcept |
|
inlinestaticnoexcept |
入力ハンドル取得関数
入力ハンドル取得関数です。
なし |
CConsole.h の 304 行目に定義があります。
参照元 ClearInputBuffer(), InputDirect(), KbHitDirect(), SubThreadProc().
|
inlinestaticnoexcept |
出力ハンドル取得関数
出力ハンドル取得関数です。
なし |
CConsole.h の 315 行目に定義があります。
参照元 GetBufferArea(), GetBufferPosition(), GetCursor(), GetCursorPosition(), GetFontSize(), GetSize(), ScrollWindow(), SetBufferArea(), SetBufferPosition(), SetBufferSize(), SetCursor(), SetCursorPosition().
|
inlinestaticnoexcept |
ウィンドウハンドル取得関数
ウィンドウハンドル取得関数です。
なし |
CConsole.h の 326 行目に定義があります。
参照元 GetWindowArea(), SetWindowArea(), SubThreadProc().
|
staticnoexcept |
フォントサイズ取得関数
フォントサイズ取得関数です。
[out] | rnWidth | 水平サイズ参照 |
[out] | rnHeight | 垂直サイズ参照 |
CConsole.cpp の 689 行目に定義があります。
参照先 GetOutputHandle().
|
staticnoexcept |
出力バッファサイズ取得関数
出力バッファサイズ取得関数です。
[out] | rnWidth | 水平サイズ参照 |
[out] | rnHeight | 垂直サイズ参照 |
CConsole.cpp の 714 行目に定義があります。
参照先 GetOutputHandle().
参照元 InputString().
|
staticnoexcept |
出力バッファサイズ設定関数
出力バッファサイズ設定関数です。
[in] | nWidth | 水平サイズ |
[in] | nHeight | 垂直サイズ |
CConsole.cpp の 739 行目に定義があります。
参照先 GetOutputHandle().
|
staticnoexcept |
出力バッファ表示位置取得関数
出力バッファ表示位置取得関数です。
[out] | rnLeft | 左位置参照 |
[out] | rnTop | 上位置参照 |
CConsole.cpp の 760 行目に定義があります。
参照先 GetOutputHandle().
|
staticnoexcept |
出力バッファ表示位置設定関数
出力バッファ表示位置設定関数です。
[in] | nLeft | 左位置 |
[in] | nTop | 上位置 |
CConsole.cpp の 785 行目に定義があります。
参照先 GetOutputHandle().
参照元 SubThreadProc().
|
staticnoexcept |
出力バッファ表示領域取得関数
出力バッファ表示領域取得関数です。
[out] | rnLeft | 左位置参照 |
[out] | rnTop | 上位置参照 |
[out] | rnWidth | 水平サイズ参照 |
[out] | rnHeight | 垂直サイズ参照 |
CConsole.cpp の 817 行目に定義があります。
参照先 GetOutputHandle().
参照元 SubThreadProc().
|
staticnoexcept |
出力バッファ表示領域設定関数
出力バッファ表示領域設定関数です。
[in] | nLeft | 左位置 |
[in] | nTop | 上位置 |
[in] | nWidth | 水平サイズ |
[in] | nHeight | 垂直サイズ |
CConsole.cpp の 844 行目に定義があります。
参照先 GetOutputHandle().
|
staticnoexcept |
ウィンドウ表示領域取得関数
ウィンドウ表示領域取得関数です。
[out] | rnLeft | 左座標参照 |
[out] | rnTop | 上座標参照 |
[out] | rnWidth | 水平サイズ参照 |
[out] | rnHeight | 垂直サイズ参照 |
CConsole.cpp の 869 行目に定義があります。
参照先 GetWindowHandle().
|
staticnoexcept |
ウィンドウ表示領域設定関数
ウィンドウ表示領域設定関数です。
[in] | nLeft | 左座標 |
[in] | nTop | 上座標 |
[in] | nWidth | 水平サイズ |
[in] | nHeight | 垂直サイズ |
CConsole.cpp の 896 行目に定義があります。
参照先 GetWindowHandle().
|
staticnoexcept |
カーソル位置取得関数
カーソル位置取得関数です。
[out] | rnX | 水平位置参照 |
[out] | rnY | 垂直位置参照 |
CConsole.cpp の 914 行目に定義があります。
参照先 GetOutputHandle().
|
staticnoexcept |
カーソル位置設定関数
カーソル位置設定関数です。
[in] | nX | 水平位置 |
[in] | nY | 垂直位置 |
CConsole.cpp の 939 行目に定義があります。
参照先 GetOutputHandle().
|
staticnoexcept |
カーソル位置取得関数
カーソル位置取得関数です。
[out] | rsCursor | カーソル位置構造体参照 |
CConsole.cpp の 960 行目に定義があります。
参照先 GetOutputHandle().
参照元 InputString(), OutputString().
|
staticnoexcept |
カーソル位置設定関数
カーソル位置設定関数です。
[in] | rsCursor | カーソル位置構造体参照 |
CConsole.cpp の 984 行目に定義があります。
参照先 GetOutputHandle().
参照元 InputString().
|
staticnoexcept |
ウィンドウスクロール関数
ウィンドウスクロール関数です。
[in] | nX | 水平スクロール量 |
[in] | nY | 垂直スクロール量 |
CConsole.cpp の 1004 行目に定義があります。
参照先 GetOutputHandle().
参照元 SubThreadProc().
|
staticnoexcept |
コンソール入力バッファ直接入力関数
コンソール入力バッファ直接入力関数です。
[out] | rCh | 文字コード参照 |
CConsole.cpp の 1029 行目に定義があります。
参照先 GetInputHandle().
|
staticnoexcept |
コンソール入力バッファ直接検査関数
コンソール入力バッファ直接検査関数です。
なし |
CConsole.cpp の 1069 行目に定義があります。
参照先 GetInputHandle(), KBHIT_RECORD_SIZE.
|
staticprotectednoexcept |
サブスレッド関数
サブスレッド関数です。
[in] | lpParam | 引数ポインタ |
CConsole.cpp の 1115 行目に定義があります。
参照先 LibCommon::Bottom, LibCommon::Full, GetBufferArea(), GetInputHandle(), GetWindowHandle(), LibCommon::Left, LibCommon::CConsole::SInputRecord::m_bControl, LibCommon::CConsole::SInputRecord::m_bMenu, LibCommon::CConsole::SInputRecord::m_bShift, m_nRecordCount, m_nRecordPos, LibCommon::CConsole::SInputRecord::m_sEvent, m_sMaxCursor, m_sRecordBuffer, NotifyFatalError, RECORD_SIZE, LibCommon::Right, ScrollWindow(), SetBufferPosition(), LibCommon::SetWindowPosition(), LibCommon::Top (計21項目).
参照元 CConsole().
|
staticprotected |
|
staticprotected |
|
staticprotected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
サブスレッド
CConsole.h の 588 行目に定義があります。
参照元 ClearInputBuffer(), InputChar(), InputRecord(), ~CConsole().
|
protected |
|
staticprotected |