| 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 | 
| 確認入力待ち関数  [詳解] | |
|  基底クラス LibCommon::CMutex に属する継承公開メンバ関数 | |
| 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 | 
| オープン関数  [詳解] | |
|  基底クラス LibCommon::CSync に属する継承公開メンバ関数 | |
| CSync () noexcept | |
| コンストラクタ  [詳解] | |
| virtual | ~CSync () noexcept | 
| デストラクタ  [詳解] | |
| virtual HANDLE | GetHandle () const noexcept | 
| オブジェクトハンドル取得関数  [詳解] | |
| virtual bool | IsCreate () const noexcept | 
| 新規作成状態取得関数  [詳解] | |
| virtual bool | Wait (DWORD dwTime=INFINITE) noexcept | 
| ウェイト関数  [詳解] | |
|  基底クラス LibCommon::CStream に属する継承公開メンバ関数 | |
| 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 | 
| ストリームポインタポップ数  [詳解] | |
|  基底クラス LibCommon::CStreamOut に属する継承公開メンバ関数 | |
| 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 | 
| 入力中止要求フラグ  [詳解] | |
|  基底クラス LibCommon::CMutex に属する継承限定公開変数類 | |
| DWORD | m_dwLockCount | 
| ロックカウント  [詳解] | |
|  基底クラス LibCommon::CSync に属する継承限定公開変数類 | |
| HANDLE | m_hObject | 
| オブジェクトハンドル  [詳解] | |
| bool | m_bIsCreate | 
| 新規作成フラグ  [詳解] | |
|  基底クラス LibCommon::CStreamOut に属する継承限定公開変数類 | |
| 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 | 
| 静的インスタンス  [詳解] | |
|  基底クラス LibCommon::CMutex に属する継承静的限定公開変数類 | |
| static wchar_t const *const | OBJECT_NAME_EXT = L".CMutex" | 
| オブジェクト名拡張子  [詳解] | |
|  基底クラス LibCommon::CStreamOut に属する継承静的限定公開変数類 | |
| static int const | FORMAT_BUFFER_SIZE = ( 2048 - 1 ) | 
| 書式設定文字列バッファサイズ  [詳解] | |
| 非公開メンバ関数 | |
| CConsole (CConsole const &)=delete | |
| CConsole & | operator= (CConsole const &)=delete | 
| その他の継承メンバ | |
|  基底クラス LibCommon::CStream に属する継承限定公開メンバ関数 | |
| CStream () noexcept | |
| コンストラクタ  [詳解] | |
| virtual | ~CStream () noexcept | 
| デストラクタ  [詳解] | |
|  基底クラス LibCommon::CStreamOut に属する継承限定公開メンバ関数 | |
| 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 |