Solution46
LibCommon::CString クラス

文字列クラス [詳解]

#include "CString.h"

LibCommon::CString の継承関係図
Inheritance graph
LibCommon::CString 連携図
Collaboration graph

公開メンバ関数

 CString () noexcept
 コンストラクタ [詳解]
 
 CString (wchar_t const &rChar) noexcept
 コンストラクタ [詳解]
 
 CString (wchar_t const *pszString) noexcept
 コンストラクタ [詳解]
 
 CString (wchar_t const *pszString, int nCount) noexcept
 コンストラクタ [詳解]
 
 CString (char const *pszMbString) noexcept
 コンストラクタ [詳解]
 
 CString (char const *pszMbString, int nCount) noexcept
 コンストラクタ [詳解]
 
 CString (std::initializer_list< wchar_t const > const &rcInitializer) noexcept
 コンストラクタ [詳解]
 
 CString (CString const &rcInstance) noexcept
 コピーコンストラクタ [詳解]
 
 CString (CString &&rcInstance) noexcept
 ムーブコンストラクタ [詳解]
 
virtual ~CString () noexcept
 デストラクタ [詳解]
 
virtual wchar_t const * GetBuffer () const noexcept
 文字列バッファ取得関数 [詳解]
 
virtual int GetSize () const noexcept
 バッファサイズ取得関数 [詳解]
 
virtual int GetCount () const noexcept
 文字数取得関数 [詳解]
 
virtual int GetSegmentSize () const noexcept
 セグメントサイズ取得関数 [詳解]
 
virtual CStringoperator= (CString const &rcInstance) noexcept
 コピー代入演算子オーバーロード関数 [詳解]
 
virtual CStringoperator= (CString &&rcInstance) noexcept
 ムーブ代入演算子オーバーロード関数 [詳解]
 
virtual CStringoperator= (wchar_t const &rChar) noexcept
 代入演算子オーバーロード関数 [詳解]
 
virtual CStringoperator= (wchar_t const *pszString) noexcept
 代入演算子オーバーロード関数 [詳解]
 
virtual CStringoperator= (char const *pszMbString) noexcept
 代入演算子オーバーロード関数 [詳解]
 
virtual CStringoperator= (std::initializer_list< wchar_t const > const &rcInitializer) noexcept
 代入演算子オーバーロード関数 [詳解]
 
virtual CStringoperator+= (CString const &rcInstance) noexcept
 加算代入演算子オーバーロード関数 [詳解]
 
virtual CStringoperator+= (wchar_t const &rChar) noexcept
 加算代入演算子オーバーロード関数 [詳解]
 
virtual CStringoperator+= (wchar_t const *pszString) noexcept
 加算代入演算子オーバーロード関数 [詳解]
 
virtual CStringoperator+= (char const *pszMbString) noexcept
 加算代入演算子オーバーロード関数 [詳解]
 
virtual CStringoperator+= (std::initializer_list< wchar_t const > const &rcInitializer) noexcept
 加算代入演算子オーバーロード関数 [詳解]
 
virtual wchar_t & operator[] (int nIndex) noexcept
 配列添字演算子オーバーロード関数 [詳解]
 
virtual operator wchar_t const * () noexcept
 文字列ポインタキャスト演算子オーバーロード関数 [詳解]
 
virtual CStringoperator() () noexcept
 関数演算子オーバーロード関数 [詳解]
 
virtual void Clear () noexcept
 クリア関数 [詳解]
 
virtual bool CreateBuffer (int nSize) noexcept
 バッファ作成関数 [詳解]
 
virtual bool UpdateBuffer (int nCount) noexcept
 バッファサイズ更新関数 [詳解]
 
virtual bool CompactBuffer () noexcept
 バッファサイズコンパクト化関数 [詳解]
 
virtual bool Copy (CString const &rcInstance) noexcept
 コピー関数 [詳解]
 
virtual bool Copy (wchar_t const &rChar) noexcept
 コピー関数 [詳解]
 
virtual bool Copy (wchar_t const *pszString) noexcept
 コピー関数 [詳解]
 
virtual bool Copy (wchar_t const *pszString, int nCount) noexcept
 コピー関数 [詳解]
 
virtual bool Copy (char const *pszMbString) noexcept
 コピー関数 [詳解]
 
virtual bool Copy (char const *pszMbString, int nCount) noexcept
 コピー関数 [詳解]
 
virtual bool Copy (std::initializer_list< wchar_t const > const &rcInitializer) noexcept
 コピー関数 [詳解]
 
virtual bool Move (CString &&rcInstance) noexcept
 ムーブ関数 [詳解]
 
virtual bool Append (CString const &rcInstance) noexcept
 追加関数 [詳解]
 
virtual bool Append (wchar_t const &rChar) noexcept
 追加関数 [詳解]
 
virtual bool Append (wchar_t const *pszString) noexcept
 追加関数 [詳解]
 
virtual bool Append (wchar_t const *pszString, int nCount) noexcept
 追加関数 [詳解]
 
virtual bool Append (char const *pszMbString) noexcept
 追加関数 [詳解]
 
virtual bool Append (char const *pszMbString, int nCount) noexcept
 追加関数 [詳解]
 
virtual bool Append (std::initializer_list< wchar_t const > const &rcInitializer) noexcept
 追加関数 [詳解]
 
virtual bool Insert (int nIndex, CString const &rcInstance) noexcept
 挿入関数 [詳解]
 
virtual bool Insert (int nIndex, wchar_t const &rChar) noexcept
 挿入関数 [詳解]
 
virtual bool Insert (int nIndex, wchar_t const *pszString) noexcept
 挿入関数 [詳解]
 
virtual bool Insert (int nIndex, wchar_t const *pszString, int nCount) noexcept
 挿入関数 [詳解]
 
virtual bool Insert (int nIndex, char const *pszMbString) noexcept
 挿入関数 [詳解]
 
virtual bool Insert (int nIndex, char const *pszMbString, int nCount) noexcept
 挿入関数 [詳解]
 
virtual bool Insert (int nIndex, std::initializer_list< wchar_t const > const &rcInitializer) noexcept
 挿入関数 [詳解]
 
virtual bool Remove () noexcept
 削除関数 [詳解]
 
virtual bool Remove (int nIndex) noexcept
 削除関数 [詳解]
 
virtual bool Remove (int nIndex, int nCount) noexcept
 削除関数 [詳解]
 
virtual bool Get (int nIndex, wchar_t &rChar) const noexcept
 取得関数 [詳解]
 
virtual bool Set (int nIndex, wchar_t const &rChar) noexcept
 設定関数 [詳解]
 
virtual int Find (wchar_t const &rChar) const noexcept
 検索関数 [詳解]
 
virtual bool Push (wchar_t const &rChar) noexcept
 プッシュ関数 [詳解]
 
virtual bool Push (wchar_t const *pszString) noexcept
 プッシュ関数 [詳解]
 
virtual bool Push (wchar_t const *pszString, int nCount) noexcept
 プッシュ関数 [詳解]
 
virtual bool Push (char const *pszMbString) noexcept
 プッシュ関数 [詳解]
 
virtual bool Push (char const *pszMbString, int nCount) noexcept
 プッシュ関数 [詳解]
 
virtual bool Push (std::initializer_list< wchar_t const > const &rcInitializer) noexcept
 プッシュ関数 [詳解]
 
virtual bool Pop (wchar_t &rChar) noexcept
 ポップ関数 [詳解]
 
virtual bool PopFront (wchar_t &rChar) noexcept
 ポップフロント関数 [詳解]
 
virtual wchar_t const * Format (wchar_t const *pszFormat,...) noexcept
 書式設定文字列代入関数 [詳解]
 
virtual wchar_t const * FormatArgs (wchar_t const *pszFormat, va_list vaArgs) noexcept
 引数リスト書式設定文字列代入関数 [詳解]
 

静的公開変数類

static int const SEGMENT_SIZE = 256
 セグメントサイズ初期値 [詳解]
 

限定公開変数類

wchar_t * m_pszBuffer
 文字列ポインタ [詳解]
 
int m_nSize
 バッファサイズ [詳解]
 
int m_nCount
 要素数 [詳解]
 

詳解

文字列クラス

文字列クラスです。

注意
なし

CString.h31 行目に定義があります。

構築子と解体子

LibCommon::CString::CString ( )
explicitnoexcept

コンストラクタ

コンストラクタです。

引数
なし
戻り値
なし
注意
なし

CString.cpp30 行目に定義があります。

32  : m_pszBuffer( nullptr )
33  , m_nSize( 0 )
34  , m_nCount( 0 )
35  {}
wchar_t * m_pszBuffer
文字列ポインタ
Definition: CString.h:916
int m_nSize
バッファサイズ
Definition: CString.h:917
int m_nCount
要素数
Definition: CString.h:918
LibCommon::CString::CString ( wchar_t const &  rChar)
explicitnoexcept

コンストラクタ

コンストラクタです。

引数
[in]rChar文字コード参照
戻り値
なし
注意
なし

CString.cpp39 行目に定義があります。

参照先 Copy().

41  : CString()
42  {
43  // コピーする
44  Copy( rChar );
45  }
virtual bool Copy(CString const &rcInstance) noexcept
コピー関数
Definition: CString.cpp:371
CString() noexcept
コンストラクタ
Definition: CString.cpp:30

呼び出し関係図:

LibCommon::CString::CString ( wchar_t const *  pszString)
explicitnoexcept

コンストラクタ

コンストラクタです。

引数
[in]pszString文字列ポインタ
戻り値
なし
注意
なし

CString.cpp49 行目に定義があります。

参照先 Copy().

51  : CString()
52  {
53  // コピーする
54  Copy( pszString );
55  }
virtual bool Copy(CString const &rcInstance) noexcept
コピー関数
Definition: CString.cpp:371
CString() noexcept
コンストラクタ
Definition: CString.cpp:30

呼び出し関係図:

LibCommon::CString::CString ( wchar_t const *  pszString,
int  nCount 
)
explicitnoexcept

コンストラクタ

コンストラクタです。

引数
[in]pszString文字列ポインタ
[in]nCount文字数
戻り値
なし
注意
なし

CString.cpp59 行目に定義があります。

参照先 Copy().

61  : CString()
62  {
63  // コピーする
64  Copy( pszString, nCount );
65  }
virtual bool Copy(CString const &rcInstance) noexcept
コピー関数
Definition: CString.cpp:371
CString() noexcept
コンストラクタ
Definition: CString.cpp:30

呼び出し関係図:

LibCommon::CString::CString ( char const *  pszMbString)
explicitnoexcept

コンストラクタ

コンストラクタです。

引数
[in]pszMbStringマルチバイト文字列ポインタ
戻り値
なし
注意
なし

CString.cpp69 行目に定義があります。

参照先 Copy().

71  : CString()
72  {
73  // コピーする
74  Copy( pszMbString );
75  }
virtual bool Copy(CString const &rcInstance) noexcept
コピー関数
Definition: CString.cpp:371
CString() noexcept
コンストラクタ
Definition: CString.cpp:30

呼び出し関係図:

LibCommon::CString::CString ( char const *  pszMbString,
int  nCount 
)
explicitnoexcept

コンストラクタ

コンストラクタです。

引数
[in]pszMbStringマルチバイト文字列ポインタ
[in]nCount文字数
戻り値
なし
注意
なし

CString.cpp79 行目に定義があります。

参照先 Copy().

81  : CString()
82  {
83  // コピーする
84  Copy( pszMbString, nCount );
85  }
virtual bool Copy(CString const &rcInstance) noexcept
コピー関数
Definition: CString.cpp:371
CString() noexcept
コンストラクタ
Definition: CString.cpp:30

呼び出し関係図:

LibCommon::CString::CString ( std::initializer_list< wchar_t const > const &  rcInitializer)
explicitnoexcept

コンストラクタ

コンストラクタです。

引数
[in]rcInitializer文字コード初期化子リスト参照
戻り値
なし
注意
なし

CString.cpp89 行目に定義があります。

参照先 Copy().

91  : CString()
92  {
93  // コピーする
94  Copy( rcInitializer );
95  }
virtual bool Copy(CString const &rcInstance) noexcept
コピー関数
Definition: CString.cpp:371
CString() noexcept
コンストラクタ
Definition: CString.cpp:30

呼び出し関係図:

LibCommon::CString::CString ( CString const &  rcInstance)
explicitnoexcept

コピーコンストラクタ

コピーコンストラクタです。

引数
[in]rcInstanceインスタンス参照
戻り値
なし
注意
なし

CString.cpp99 行目に定義があります。

参照先 Copy().

101  : CString()
102  {
103  // コピーする
104  Copy( rcInstance );
105  }
virtual bool Copy(CString const &rcInstance) noexcept
コピー関数
Definition: CString.cpp:371
CString() noexcept
コンストラクタ
Definition: CString.cpp:30

呼び出し関係図:

LibCommon::CString::CString ( CString &&  rcInstance)
explicitnoexcept

ムーブコンストラクタ

ムーブコンストラクタです。

引数
[in]rcInstanceインスタンス左辺値参照
戻り値
なし
注意
なし

CString.cpp109 行目に定義があります。

参照先 Move().

111  : CString()
112  {
113  // ムーブする
114  Move( std::move( rcInstance ) );
115  }
virtual bool Move(CString &&rcInstance) noexcept
ムーブ関数
Definition: CString.cpp:441
CString() noexcept
コンストラクタ
Definition: CString.cpp:30

呼び出し関係図:

LibCommon::CString::~CString ( )
virtualnoexcept

デストラクタ

デストラクタです。

引数
なし
戻り値
なし
注意
なし

CString.cpp119 行目に定義があります。

参照先 Clear().

119  {
120  // クリアする
121  Clear();
122  }
virtual void Clear() noexcept
クリア関数
Definition: CString.cpp:263

呼び出し関係図:

関数詳解

virtual wchar_t const* LibCommon::CString::GetBuffer ( ) const
inlinevirtualnoexcept

文字列バッファ取得関数

文字列バッファ取得関数です。

引数
なし
戻り値
文字列ポインタ
注意
なし

CString.h159 行目に定義があります。

参照元 LibWindow::CWndPane::Create(), LibWindow::CWndPane::DrawPaintRect(), LibJson::CJsonDocument::GetJsonPathList(), LibJson::CJsonToken::OutputJson(), AppTest::CAppTest::ResumeConfigConsole(), LibWindow::CWndMain::UpdateStatusBar(), AppTest::CAppTest::~CAppTest().

159 { return m_pszBuffer; }
wchar_t * m_pszBuffer
文字列ポインタ
Definition: CString.h:916

被呼び出し関係図:

virtual int LibCommon::CString::GetSize ( ) const
inlinevirtualnoexcept

バッファサイズ取得関数

バッファサイズ取得関数です。

引数
なし
戻り値
バッファサイズ
注意
なし

CString.h170 行目に定義があります。

170 { return m_nSize; }
int m_nSize
バッファサイズ
Definition: CString.h:917
virtual int LibCommon::CString::GetCount ( ) const
inlinevirtualnoexcept

文字数取得関数

文字数取得関数です。

引数
なし
戻り値
文字数
注意
なし

CString.h181 行目に定義があります。

参照元 LibJson::CJsonToken::GetLastChar().

181 { return m_nCount; }
int m_nCount
要素数
Definition: CString.h:918

被呼び出し関係図:

virtual int LibCommon::CString::GetSegmentSize ( ) const
inlinevirtualnoexcept

セグメントサイズ取得関数

セグメントサイズ取得関数です。

引数
なし
戻り値
セグメントサイズ
注意
なし

CString.h192 行目に定義があります。

参照元 UpdateBuffer().

192 { return SEGMENT_SIZE; }
static int const SEGMENT_SIZE
セグメントサイズ初期値
Definition: CString.h:923

被呼び出し関係図:

CString & LibCommon::CString::operator= ( CString const &  rcInstance)
virtualnoexcept

コピー代入演算子オーバーロード関数

コピー代入演算子オーバーロード関数です。

引数
[in]rcInstanceインスタンス参照
戻り値
インスタンス参照
注意
なし

CString.cpp128 行目に定義があります。

参照先 Copy().

128  {
129  // コピーする
130  Copy( rcInstance );
131 
132  // インスタンス参照を返す
133  return *this;
134  }
virtual bool Copy(CString const &rcInstance) noexcept
コピー関数
Definition: CString.cpp:371

呼び出し関係図:

CString & LibCommon::CString::operator= ( CString &&  rcInstance)
virtualnoexcept

ムーブ代入演算子オーバーロード関数

ムーブ代入演算子オーバーロード関数です。

引数
[in]rcInstanceインスタンス左辺値参照
戻り値
インスタンス参照
注意
なし

CString.cpp138 行目に定義があります。

参照先 Move().

138  {
139  // ムーブする
140  Move( std::move( rcInstance ) );
141 
142  // インスタンス参照を返す
143  return *this;
144  }
virtual bool Move(CString &&rcInstance) noexcept
ムーブ関数
Definition: CString.cpp:441

呼び出し関係図:

CString & LibCommon::CString::operator= ( wchar_t const &  rChar)
virtualnoexcept

代入演算子オーバーロード関数

代入演算子オーバーロード関数です。

引数
[in]rChar文字コード参照
戻り値
インスタンス参照
注意
なし

CString.cpp148 行目に定義があります。

参照先 Copy().

148  {
149  // コピーする
150  Copy( rChar );
151 
152  // インスタンス参照を返す
153  return *this;
154  }
virtual bool Copy(CString const &rcInstance) noexcept
コピー関数
Definition: CString.cpp:371

呼び出し関係図:

CString & LibCommon::CString::operator= ( wchar_t const *  pszString)
virtualnoexcept

代入演算子オーバーロード関数

代入演算子オーバーロード関数です。

引数
[in]pszString文字列ポインタ
戻り値
インスタンス参照
注意
なし

CString.cpp158 行目に定義があります。

参照先 Copy().

158  {
159  // コピーする
160  Copy( pszString );
161 
162  // インスタンス参照を返す
163  return *this;
164  }
virtual bool Copy(CString const &rcInstance) noexcept
コピー関数
Definition: CString.cpp:371

呼び出し関係図:

CString & LibCommon::CString::operator= ( char const *  pszMbString)
virtualnoexcept

代入演算子オーバーロード関数

代入演算子オーバーロード関数です。

引数
[in]pszMbStringマルチバイト文字列ポインタ
戻り値
インスタンス参照
注意
なし

CString.cpp168 行目に定義があります。

参照先 Copy().

168  {
169  // コピーする
170  Copy( pszMbString );
171 
172  // インスタンス参照を返す
173  return *this;
174  }
virtual bool Copy(CString const &rcInstance) noexcept
コピー関数
Definition: CString.cpp:371

呼び出し関係図:

CString & LibCommon::CString::operator= ( std::initializer_list< wchar_t const > const &  rcInitializer)
virtualnoexcept

代入演算子オーバーロード関数

代入演算子オーバーロード関数です。

引数
[in]rcInitializer文字コード初期化子リスト参照
注意
なし

CString.cpp178 行目に定義があります。

参照先 Copy().

178  {
179  // コピーする
180  Copy( rcInitializer );
181 
182  // インスタンス参照を返す
183  return *this;
184  }
virtual bool Copy(CString const &rcInstance) noexcept
コピー関数
Definition: CString.cpp:371

呼び出し関係図:

CString & LibCommon::CString::operator+= ( CString const &  rcInstance)
virtualnoexcept

加算代入演算子オーバーロード関数

加算代入演算子オーバーロード関数です。

引数
[in]rcInstanceインスタンス参照
戻り値
インスタンス参照
注意
なし

CString.cpp188 行目に定義があります。

参照先 Append().

188  {
189  // 追加する
190  Append( rcInstance );
191 
192  // インスタンス参照を返す
193  return *this;
194  }
virtual bool Append(CString const &rcInstance) noexcept
追加関数
Definition: CString.cpp:468

呼び出し関係図:

CString & LibCommon::CString::operator+= ( wchar_t const &  rChar)
virtualnoexcept

加算代入演算子オーバーロード関数

加算代入演算子オーバーロード関数です。

引数
[in]rChar文字コード参照
戻り値
インスタンス参照
注意
なし

CString.cpp198 行目に定義があります。

参照先 Append().

198  {
199  // 追加する
200  Append( rChar );
201 
202  // インスタンス参照を返す
203  return *this;
204  }
virtual bool Append(CString const &rcInstance) noexcept
追加関数
Definition: CString.cpp:468

呼び出し関係図:

CString & LibCommon::CString::operator+= ( wchar_t const *  pszString)
virtualnoexcept

加算代入演算子オーバーロード関数

加算代入演算子オーバーロード関数です。

引数
[in]pszString文字列ポインタ
戻り値
インスタンス参照
注意
なし

CString.cpp208 行目に定義があります。

参照先 Append().

208  {
209  // 追加する
210  Append( pszString );
211 
212  // インスタンス参照を返す
213  return *this;
214  }
virtual bool Append(CString const &rcInstance) noexcept
追加関数
Definition: CString.cpp:468

呼び出し関係図:

CString & LibCommon::CString::operator+= ( char const *  pszMbString)
virtualnoexcept

加算代入演算子オーバーロード関数

加算代入演算子オーバーロード関数です。

引数
[in]pszMbStringマルチバイト文字列ポインタ
戻り値
インスタンス参照
注意
なし

CString.cpp218 行目に定義があります。

参照先 Append().

218  {
219  // 追加する
220  Append( pszMbString );
221 
222  // インスタンス参照を返す
223  return *this;
224  }
virtual bool Append(CString const &rcInstance) noexcept
追加関数
Definition: CString.cpp:468

呼び出し関係図:

CString & LibCommon::CString::operator+= ( std::initializer_list< wchar_t const > const &  rcInitializer)
virtualnoexcept

加算代入演算子オーバーロード関数

加算代入演算子オーバーロード関数です。

引数
[in]rcInitializer文字コード初期化子リスト参照
戻り値
インスタンス参照
注意
なし

CString.cpp228 行目に定義があります。

参照先 Append().

228  {
229  // 追加する
230  Append( rcInitializer );
231 
232  // インスタンス参照を返す
233  return *this;
234  }
virtual bool Append(CString const &rcInstance) noexcept
追加関数
Definition: CString.cpp:468

呼び出し関係図:

wchar_t & LibCommon::CString::operator[] ( int  nIndex)
virtualnoexcept

配列添字演算子オーバーロード関数

配列添字演算子オーバーロード関数です。

引数
[in]nIndexインデックス
戻り値
文字コード参照
注意
なし

CString.cpp238 行目に定義があります。

参照先 m_nCount, m_pszBuffer.

238  {
239  // 静的文字コード
240  static wchar_t ch;
241 
242  // 処理ブロック
243  wchar_t* result = &ch;
244  do {
245  // インデックスを調べる
246  if ( ( 0 > nIndex ) || ( m_nCount <= nIndex ) ) {
247  // 失敗!
248  break;
249  }
250 
251  // 成功!
252  result = &m_pszBuffer[ nIndex ];
253  } while ( false );
254 
255  // 実行結果を返す
256  return *result;
257  }
wchar_t * m_pszBuffer
文字列ポインタ
Definition: CString.h:916
int m_nCount
要素数
Definition: CString.h:918
virtual LibCommon::CString::operator wchar_t const * ( )
inlinevirtualnoexcept

文字列ポインタキャスト演算子オーバーロード関数

文字列ポインタキャスト演算子オーバーロード関数です。

引数
なし
戻り値
文字列ポインタ
注意
なし

CString.h337 行目に定義があります。

337 { return m_pszBuffer; }
wchar_t * m_pszBuffer
文字列ポインタ
Definition: CString.h:916
virtual CString& LibCommon::CString::operator() ( )
inlinevirtualnoexcept

関数演算子オーバーロード関数

関数演算子オーバーロード関数です。

引数
なし
戻り値
インスタンス参照
注意
なし

CString.h348 行目に定義があります。

348 { return *this; }
void LibCommon::CString::Clear ( )
virtualnoexcept

クリア関数

クリア関数です。

引数
なし
戻り値
なし
注意
なし

LibCommon::CStringStreamで再実装されています。

CString.cpp263 行目に定義があります。

参照先 m_nCount, m_nSize, m_pszBuffer.

参照元 LibCommon::CStringStream::Clear(), Copy(), FormatArgs(), Move(), ~CString().

263  {
264  // バッファを削除する
265  delete[] m_pszBuffer;
266 
267  // メンバ変数を初期化する
268  m_pszBuffer = nullptr;
269  m_nSize = 0;
270  m_nCount = 0;
271  }
wchar_t * m_pszBuffer
文字列ポインタ
Definition: CString.h:916
int m_nSize
バッファサイズ
Definition: CString.h:917
int m_nCount
要素数
Definition: CString.h:918

被呼び出し関係図:

bool LibCommon::CString::CreateBuffer ( int  nSize)
virtualnoexcept

バッファ作成関数

バッファ作成関数です。

引数
[in]nSizeバッファサイズ
戻り値
実行結果
  • true 成功
  • false 失敗
注意
なし

CString.cpp275 行目に定義があります。

参照先 m_nCount, m_nSize, m_pszBuffer.

参照元 CompactBuffer(), UpdateBuffer().

275  {
276  // 処理ブロック
277  bool result = false;
278  do {
279  // バッファサイズを調べる
280  if ( m_nCount >= nSize ) {
281  // 失敗!
282  break;
283  }
284  // バッファサイズを調べる
285  else if ( m_nSize != nSize ) {
286  // 新規バッファを作成する
287  wchar_t* pNewBuffer = new wchar_t[ nSize ];
288  if ( nullptr == pNewBuffer ) {
289  // 失敗!
290  break;
291  }
292  // 巡回する
293  else for ( int nIndex = 0; m_nCount > nIndex; ++nIndex ) {
294  // 文字コードをコピーする
295  pNewBuffer[ nIndex ] = m_pszBuffer[ nIndex ];
296  }
297 
298  // 巡回する
299  for ( int nIndex = m_nCount; nSize > nIndex; ++nIndex ) {
300  // 文字コードをクリアする
301  ::memset( &pNewBuffer[ nIndex ], 0, sizeof( wchar_t ) );
302  }
303 
304  // 既存バッファを削除する
305  delete[] m_pszBuffer;
306 
307  // バッファポインタとバッファサイズを設定する
308  m_pszBuffer = pNewBuffer;
309  m_nSize = nSize;
310  }
311 
312  // 成功!
313  result = true;
314  } while ( false );
315 
316  // 実行結果を返す
317  return result;
318  }
wchar_t * m_pszBuffer
文字列ポインタ
Definition: CString.h:916
int m_nSize
バッファサイズ
Definition: CString.h:917
int m_nCount
要素数
Definition: CString.h:918

被呼び出し関係図:

bool LibCommon::CString::UpdateBuffer ( int  nCount)
virtualnoexcept

バッファサイズ更新関数

バッファサイズ更新関数です。

引数
[in]nCount文字数
戻り値
実行結果
  • true 成功
  • false 失敗
注意
なし

CString.cpp322 行目に定義があります。

参照先 CreateBuffer(), GetSegmentSize(), m_nSize.

参照元 FormatArgs(), Insert(), LibCommon::CStringStream::UpdateEndPoint().

322  {
323  // 処理ブロック
324  bool result = false;
325  do {
326  // 文字数とバッファサイズを比較する
327  if ( m_nSize < nCount ) {
328  // 終端文字コード分を追加したセグメント単位のバッファサイズを取得する
329  int nSize = ( ( nCount + GetSegmentSize() ) / GetSegmentSize() * GetSegmentSize() );
330 
331  // バッファを作成する
332  if ( !CreateBuffer( nSize ) ) {
333  // 失敗!
334  break;
335  }
336  }
337 
338  // 成功!
339  result = true;
340  } while ( false );
341 
342  // 実行結果を返す
343  return result;
344  }
virtual bool CreateBuffer(int nSize) noexcept
バッファ作成関数
Definition: CString.cpp:275
virtual int GetSegmentSize() const noexcept
セグメントサイズ取得関数
Definition: CString.h:192
int m_nSize
バッファサイズ
Definition: CString.h:917

呼び出し関係図:

被呼び出し関係図:

bool LibCommon::CString::CompactBuffer ( )
virtualnoexcept

バッファサイズコンパクト化関数

バッファサイズコンパクト化関数です。

引数
なし
戻り値
実行結果
  • true 成功
  • false 失敗
注意
なし

CString.cpp348 行目に定義があります。

参照先 CreateBuffer(), m_nCount, m_nSize.

参照元 LibJson::CJsonToken::CompactJson(), LibJson::CJsonNumber::InputJson(), LibJson::CJsonString::InputJson(), LibJson::CJsonFixed::InputJson().

348  {
349  // 処理ブロック
350  bool result = false;
351  do {
352  // バッファサイズとバッファカウントを比較する
353  if ( m_nSize > ( m_nCount + 1 ) ) {
354  // バッファを作成する
355  if ( !CreateBuffer( m_nCount + 1 ) ) {
356  // 失敗!
357  break;
358  }
359  }
360 
361  // 成功!
362  result = true;
363  } while ( false );
364 
365  // 実行結果を返す
366  return result;
367  }
virtual bool CreateBuffer(int nSize) noexcept
バッファ作成関数
Definition: CString.cpp:275
int m_nSize
バッファサイズ
Definition: CString.h:917
int m_nCount
要素数
Definition: CString.h:918

呼び出し関係図:

被呼び出し関係図:

bool LibCommon::CString::Copy ( CString const &  rcInstance)
virtualnoexcept

コピー関数

コピー関数です。

引数
[in]rcInstanceインスタンス参照
戻り値
実行結果
  • true 成功
  • false 失敗
注意
なし

CString.cpp371 行目に定義があります。

参照先 Clear(), Insert().

参照元 CString(), operator=().

371  {
372  // クリアする
373  Clear();
374 
375  // 挿入する
376  return Insert( 0, rcInstance );
377  }
virtual bool Insert(int nIndex, CString const &rcInstance) noexcept
挿入関数
Definition: CString.cpp:517
virtual void Clear() noexcept
クリア関数
Definition: CString.cpp:263

呼び出し関係図:

被呼び出し関係図:

bool LibCommon::CString::Copy ( wchar_t const &  rChar)
virtualnoexcept

コピー関数

コピー関数です。

引数
[in]rChar文字コード参照
戻り値
実行結果
  • true 成功
  • false 失敗
注意
なし

CString.cpp381 行目に定義があります。

参照先 Clear(), Insert().

381  {
382  // クリアする
383  Clear();
384 
385  // 挿入する
386  return Insert( 0, rChar );
387  }
virtual bool Insert(int nIndex, CString const &rcInstance) noexcept
挿入関数
Definition: CString.cpp:517
virtual void Clear() noexcept
クリア関数
Definition: CString.cpp:263

呼び出し関係図:

bool LibCommon::CString::Copy ( wchar_t const *  pszString)
virtualnoexcept

コピー関数

コピー関数です。

引数
[in]pszString文字列ポインタ
戻り値
実行結果
  • true 成功
  • false 失敗
注意
なし

CString.cpp391 行目に定義があります。

参照先 Clear(), Insert().

391  {
392  // クリアする
393  Clear();
394 
395  // 挿入する
396  return Insert( 0, pszString );
397  }
virtual bool Insert(int nIndex, CString const &rcInstance) noexcept
挿入関数
Definition: CString.cpp:517
virtual void Clear() noexcept
クリア関数
Definition: CString.cpp:263

呼び出し関係図:

bool LibCommon::CString::Copy ( wchar_t const *  pszString,
int  nCount 
)
virtualnoexcept

コピー関数

コピー関数です。

引数
[in]pszString文字列ポインタ
[in]nCount文字数
戻り値
実行結果
  • true 成功
  • false 失敗
注意
なし

CString.cpp401 行目に定義があります。

参照先 Clear(), Insert().

401  {
402  // クリアする
403  Clear();
404 
405  // 挿入する
406  return Insert( 0, pszString, nCount );
407  }
virtual bool Insert(int nIndex, CString const &rcInstance) noexcept
挿入関数
Definition: CString.cpp:517
virtual void Clear() noexcept
クリア関数
Definition: CString.cpp:263

呼び出し関係図:

bool LibCommon::CString::Copy ( char const *  pszMbString)
virtualnoexcept

コピー関数

コピー関数です。

引数
[in]pszMbStringマルチバイト文字列ポインタ
戻り値
実行結果
  • true 成功
  • false 失敗
注意
なし

CString.cpp411 行目に定義があります。

参照先 Clear(), Insert().

411  {
412  // クリアする
413  Clear();
414 
415  // 挿入する
416  return Insert( 0, pszMbString );
417  }
virtual bool Insert(int nIndex, CString const &rcInstance) noexcept
挿入関数
Definition: CString.cpp:517
virtual void Clear() noexcept
クリア関数
Definition: CString.cpp:263

呼び出し関係図:

bool LibCommon::CString::Copy ( char const *  pszMbString,
int  nCount 
)
virtualnoexcept

コピー関数

コピー関数です。

引数
[in]pszMbStringマルチバイト文字列ポインタ
[in]nCount文字数
戻り値
実行結果
  • true 成功
  • false 失敗
注意
なし

CString.cpp421 行目に定義があります。

参照先 Clear(), Insert().

421  {
422  // クリアする
423  Clear();
424 
425  // 挿入する
426  return Insert( 0, pszMbString, nCount );
427  }
virtual bool Insert(int nIndex, CString const &rcInstance) noexcept
挿入関数
Definition: CString.cpp:517
virtual void Clear() noexcept
クリア関数
Definition: CString.cpp:263

呼び出し関係図:

bool LibCommon::CString::Copy ( std::initializer_list< wchar_t const > const &  rcInitializer)
virtualnoexcept

コピー関数

コピー関数です。

引数
[in]rcInitializer文字コード初期化子リスト参照
戻り値
実行結果
  • true 成功
  • false 失敗
注意
なし

CString.cpp431 行目に定義があります。

参照先 Clear(), Insert().

431  {
432  // クリアする
433  Clear();
434 
435  // 挿入する
436  return Insert( 0, rcInitializer );
437  }
virtual bool Insert(int nIndex, CString const &rcInstance) noexcept
挿入関数
Definition: CString.cpp:517
virtual void Clear() noexcept
クリア関数
Definition: CString.cpp:263

呼び出し関係図:

bool LibCommon::CString::Move ( CString &&  rcInstance)
virtualnoexcept

ムーブ関数

ムーブ関数です。

引数
[in]rcInstanceインスタンス左辺値参照
戻り値
実行結果
  • true 成功
  • false 失敗
注意
なし

CString.cpp441 行目に定義があります。

参照先 Clear(), m_nCount, m_nSize, m_pszBuffer.

参照元 CString(), operator=().

441  {
442  // 処理ブロック
443  bool result = false;
444  do {
445  // クリアする
446  Clear();
447 
448  // メンバ変数をコピーする
449  m_pszBuffer = rcInstance.m_pszBuffer;
450  m_nSize = rcInstance.m_nSize;
451  m_nCount = rcInstance.m_nCount;
452 
453  // ムーブ元インスタンスのメンバ変数を初期化する
454  rcInstance.m_pszBuffer = nullptr;
455  rcInstance.m_nSize = 0;
456  rcInstance.m_nCount = 0;
457 
458  // 成功!
459  result = true;
460  } while ( false );
461 
462  // 実行結果を返す
463  return result;
464  }
wchar_t * m_pszBuffer
文字列ポインタ
Definition: CString.h:916
virtual void Clear() noexcept
クリア関数
Definition: CString.cpp:263
int m_nSize
バッファサイズ
Definition: CString.h:917
int m_nCount
要素数
Definition: CString.h:918

呼び出し関係図:

被呼び出し関係図:

bool LibCommon::CString::Append ( CString const &  rcInstance)
virtualnoexcept

追加関数

追加関数です。

引数
[in]rcInstanceインスタンス参照
戻り値
実行結果
  • true 成功
  • false 失敗
注意
なし

CString.cpp468 行目に定義があります。

参照先 Insert(), m_nCount.

参照元 operator+=(), Push().

468  {
469  // 挿入する
470  return Insert( m_nCount, rcInstance );
471  }
virtual bool Insert(int nIndex, CString const &rcInstance) noexcept
挿入関数
Definition: CString.cpp:517
int m_nCount
要素数
Definition: CString.h:918

呼び出し関係図:

被呼び出し関係図:

bool LibCommon::CString::Append ( wchar_t const &  rChar)
virtualnoexcept

追加関数

追加関数です。

引数
[in]rChar文字コード参照
戻り値
実行結果
  • true 成功
  • false 失敗
注意
なし

CString.cpp475 行目に定義があります。

参照先 Insert(), m_nCount.

475  {
476  // 挿入する
477  return Insert( m_nCount, rChar );
478  }
virtual bool Insert(int nIndex, CString const &rcInstance) noexcept
挿入関数
Definition: CString.cpp:517
int m_nCount
要素数
Definition: CString.h:918

呼び出し関係図:

bool LibCommon::CString::Append ( wchar_t const *  pszString)
virtualnoexcept

追加関数

追加関数です。

引数
[in]pszString文字列ポインタ
戻り値
実行結果
  • true 成功
  • false 失敗
注意
なし

CString.cpp482 行目に定義があります。

参照先 Insert(), m_nCount.

482  {
483  // 挿入する
484  return Insert( m_nCount, pszString );
485  }
virtual bool Insert(int nIndex, CString const &rcInstance) noexcept
挿入関数
Definition: CString.cpp:517
int m_nCount
要素数
Definition: CString.h:918

呼び出し関係図:

bool LibCommon::CString::Append ( wchar_t const *  pszString,
int  nCount 
)
virtualnoexcept

追加関数

追加関数です。

引数
[in]pszString文字列ポインタ
[in]nCount文字数
戻り値
実行結果
  • true 成功
  • false 失敗
注意
なし

CString.cpp489 行目に定義があります。

参照先 Insert(), m_nCount.

489  {
490  // 挿入する
491  return Insert( m_nCount, pszString, nCount );
492  }
virtual bool Insert(int nIndex, CString const &rcInstance) noexcept
挿入関数
Definition: CString.cpp:517
int m_nCount
要素数
Definition: CString.h:918

呼び出し関係図:

bool LibCommon::CString::Append ( char const *  pszMbString)
virtualnoexcept

追加関数

追加関数です。

引数
[in]pszMbStringマルチバイト文字列ポインタ
戻り値
実行結果
  • true 成功
  • false 失敗
注意
なし

CString.cpp496 行目に定義があります。

参照先 Insert(), m_nCount.

496  {
497  // 挿入する
498  return Insert( m_nCount, pszMbString );
499  }
virtual bool Insert(int nIndex, CString const &rcInstance) noexcept
挿入関数
Definition: CString.cpp:517
int m_nCount
要素数
Definition: CString.h:918

呼び出し関係図:

bool LibCommon::CString::Append ( char const *  pszMbString,
int  nCount 
)
virtualnoexcept

追加関数

追加関数です。

引数
[in]pszMbStringマルチバイト文字列ポインタ
[in]nCount文字数
戻り値
実行結果
  • true 成功
  • false 失敗
注意
なし

CString.cpp503 行目に定義があります。

参照先 Insert(), m_nCount.

503  {
504  // 挿入する
505  return Insert( m_nCount, pszMbString, nCount );
506  }
virtual bool Insert(int nIndex, CString const &rcInstance) noexcept
挿入関数
Definition: CString.cpp:517
int m_nCount
要素数
Definition: CString.h:918

呼び出し関係図:

bool LibCommon::CString::Append ( std::initializer_list< wchar_t const > const &  rcInitializer)
virtualnoexcept

追加関数

追加関数です。

引数
[in]rcInitializer文字コード初期化子リスト参照
戻り値
実行結果
  • true 成功
  • false 失敗
注意
なし

CString.cpp510 行目に定義があります。

参照先 Insert(), m_nCount.

510  {
511  // 挿入する
512  return Insert( m_nCount, rcInitializer );
513  }
virtual bool Insert(int nIndex, CString const &rcInstance) noexcept
挿入関数
Definition: CString.cpp:517
int m_nCount
要素数
Definition: CString.h:918

呼び出し関係図:

bool LibCommon::CString::Insert ( int  nIndex,
CString const &  rcInstance 
)
virtualnoexcept

挿入関数

挿入関数です。

引数
[in]nIndexインデックス
[in]rcInstanceインスタンス参照
戻り値
実行結果
  • true 成功
  • false 失敗
注意
なし

CString.cpp517 行目に定義があります。

参照元 Append(), Copy(), Insert(), LibCommon::CStringStream::OutputChar().

517  {
518  // 挿入する
519  return Insert( nIndex, rcInstance.m_pszBuffer, rcInstance.m_nCount );
520  }
virtual bool Insert(int nIndex, CString const &rcInstance) noexcept
挿入関数
Definition: CString.cpp:517

被呼び出し関係図:

bool LibCommon::CString::Insert ( int  nIndex,
wchar_t const &  rChar 
)
virtualnoexcept

挿入関数

挿入関数です。

引数
[in]nIndexインデックス
[in]rChar文字コード参照
戻り値
実行結果
  • true 成功
  • false 失敗
注意
なし

CString.cpp524 行目に定義があります。

参照先 Insert().

524  {
525  // 挿入する
526  return Insert( nIndex, &rChar, 1 );
527  }
virtual bool Insert(int nIndex, CString const &rcInstance) noexcept
挿入関数
Definition: CString.cpp:517

呼び出し関係図:

bool LibCommon::CString::Insert ( int  nIndex,
wchar_t const *  pszString 
)
virtualnoexcept

挿入関数

挿入関数です。

引数
[in]nIndexインデックス
[in]pszString文字列ポインタ
戻り値
実行結果
  • true 成功
  • false 失敗
注意
なし

CString.cpp531 行目に定義があります。

参照先 Insert().

531  {
532  // 処理ブロック
533  bool result = false;
534  do {
535  // バッファポインタを調べる
536  if ( nullptr == pszString ) {
537  // 失敗!
538  break;
539  }
540 
541  // 文字数を取得する
542  int nCount = static_cast< int >( ::wcslen( pszString ) );
543 
544  // 挿入する
545  result = Insert( nIndex, pszString, nCount );
546  } while ( false );
547 
548  // 実行結果を返す
549  return result;
550  }
virtual bool Insert(int nIndex, CString const &rcInstance) noexcept
挿入関数
Definition: CString.cpp:517

呼び出し関係図:

bool LibCommon::CString::Insert ( int  nIndex,
wchar_t const *  pszString,
int  nCount 
)
virtualnoexcept

挿入関数

挿入関数です。

引数
[in]nIndexインデックス
[in]pszString文字列ポインタ
[in]nCount文字数
戻り値
実行結果
  • true 成功
  • false 失敗
注意
なし

CString.cpp577 行目に定義があります。

参照先 m_nCount, m_pszBuffer, UpdateBuffer().

577  {
578  // 処理ブロック
579  bool result = false;
580  do {
581  // バッファポインタを調べる
582  if ( nullptr == pszString ) {
583  // 失敗!
584  break;
585  }
586  // インデックスを調べる
587  else if ( ( 0 > nIndex ) || ( m_nCount < nIndex ) ) {
588  // 失敗!
589  break;
590  }
591  // 文字数を調べる
592  else if ( 0 > nCount ) {
593  // 失敗!
594  break;
595  }
596  // バッファサイズを更新する
597  else if ( !UpdateBuffer( m_nCount + nCount ) ) {
598  // 失敗!
599  break;
600  }
601 
602  // 移動文字数を取得する
603  int nMove = ( m_nCount - nIndex );
604  if ( 0 < nMove ) {
605  // 巡回する
606  wchar_t* pDst = &m_pszBuffer[ m_nCount + nCount - 1 ];
607  wchar_t const* pSrc = &m_pszBuffer[ m_nCount - 1 ];
608  for ( ; 0 < nMove; --nMove ) {
609  // 文字コードをコピーする
610  *pDst-- = *pSrc--;
611  }
612  }
613 
614  // 文字数を更新する
615  m_nCount += nCount;
616 
617  // 巡回する
618  wchar_t const* pSrc = pszString;
619  wchar_t* pDst = &m_pszBuffer[ nIndex ];
620  for ( ; 0 < nCount; --nCount ) {
621  // 文字コードをコピーする
622  *pDst++ = *pSrc++;
623  }
624 
625  // 成功!
626  result = true;
627  } while ( false );
628 
629  // 実行結果を返す
630  return result;
631  }
wchar_t * m_pszBuffer
文字列ポインタ
Definition: CString.h:916
virtual bool UpdateBuffer(int nCount) noexcept
バッファサイズ更新関数
Definition: CString.cpp:322
int m_nCount
要素数
Definition: CString.h:918

呼び出し関係図:

bool LibCommon::CString::Insert ( int  nIndex,
char const *  pszMbString 
)
virtualnoexcept

挿入関数

挿入関数です。

引数
[in]nIndexインデックス
[in]pszMbStringマルチバイト文字列ポインタ
戻り値
実行結果
  • true 成功
  • false 失敗
注意
なし

CString.cpp554 行目に定義があります。

参照先 Insert().

554  {
555  // 処理ブロック
556  bool result = false;
557  do {
558  // バッファポインタを調べる
559  if ( nullptr == pszMbString ) {
560  // 失敗!
561  break;
562  }
563 
564  // 文字数を取得する
565  int nCount = static_cast< int >( ::strlen( pszMbString ) );
566 
567  // 挿入する
568  result = Insert( nIndex, pszMbString, nCount );
569  } while ( false );
570 
571  // 実行結果を返す
572  return result;
573  }
virtual bool Insert(int nIndex, CString const &rcInstance) noexcept
挿入関数
Definition: CString.cpp:517

呼び出し関係図:

bool LibCommon::CString::Insert ( int  nIndex,
char const *  pszMbString,
int  nCount 
)
virtualnoexcept

挿入関数

挿入関数です。

引数
[in]nIndexインデックス
[in]pszMbStringマルチバイト文字列ポインタ
[in]nCount文字数
戻り値
実行結果
  • true 成功
  • false 失敗
注意
なし

CString.cpp635 行目に定義があります。

参照先 Insert().

635  {
636  // 処理ブロック
637  bool result = false;
638  do {
639  // 文字列ポインタを調べる
640  if ( nullptr == pszMbString ) {
641  // 失敗!
642  break;
643  }
644 
645  // ワイド文字列バッファサイズを取得する
646  int nCount = ::MultiByteToWideChar( CP_ACP, 0, pszMbString, -1, nullptr, 0 );
647  if ( 0 >= nCount ) {
648  // 失敗!
649  break;
650  }
651 
652  // ワイド文字列バッファを作成する
653  int nSize = ( nCount + 1 );
654  wchar_t* pszBuffer = new wchar_t[ nSize ];
655  if ( nullptr == pszBuffer ) {
656  // 失敗!
657  break;
658  }
659  // 処理ブロック
660  else do {
661  // ワイド文字列に変換する
662  if ( nCount != ::MultiByteToWideChar( CP_ACP, 0, pszMbString, -1, pszBuffer, nSize ) ) {
663  // 失敗!
664  break;
665  }
666  // 挿入する
667  else if ( !Insert( nIndex, pszBuffer, nCount ) ) {
668  // 失敗!
669  break;
670  }
671 
672  // 成功!
673  result = true;
674  } while ( false );
675 
676  // ワイド文字列バッファを削除する
677  delete[] pszBuffer;
678  } while ( false );
679 
680  // 実行結果を返す
681  return result;
682  }
virtual bool Insert(int nIndex, CString const &rcInstance) noexcept
挿入関数
Definition: CString.cpp:517

呼び出し関係図:

bool LibCommon::CString::Insert ( int  nIndex,
std::initializer_list< wchar_t const > const &  rcInitializer 
)
virtualnoexcept

挿入関数

挿入関数です。

引数
[in]nIndexインデックス
[in]rcInitializer文字コード初期化子リスト参照
戻り値
実行結果
  • true 成功
  • false 失敗
注意
なし

CString.cpp686 行目に定義があります。

参照先 Insert().

参照元 Insert().

686  {
687  // 処理ブロック
688  bool result = false;
689  do {
690  // 巡回する
691  for ( auto pcIter = rcInitializer.begin();; ++pcIter ) {
692  // イテレータを調べる
693  if ( rcInitializer.end() == pcIter ) {
694  // 成功!
695  result = true;
696  break;
697  }
698 
699  // 挿入する
700  if ( !Insert( nIndex++, *pcIter ) ) {
701  // 失敗!
702  break;
703  }
704  }
705  } while ( false );
706 
707  // 実行結果を返す
708  return result;
709  }
virtual bool Insert(int nIndex, CString const &rcInstance) noexcept
挿入関数
Definition: CString.cpp:517

呼び出し関係図:

被呼び出し関係図:

bool LibCommon::CString::Remove ( )
virtualnoexcept

削除関数

削除関数です。

引数
なし
戻り値
実行結果
  • true 成功
  • false 失敗
注意
なし

CString.cpp713 行目に定義があります。

参照先 m_nCount.

参照元 Pop(), PopFront(), Remove().

713  {
714  // 削除する
715  return Remove( m_nCount - 1 );
716  }
virtual bool Remove() noexcept
削除関数
Definition: CString.cpp:713
int m_nCount
要素数
Definition: CString.h:918

被呼び出し関係図:

bool LibCommon::CString::Remove ( int  nIndex)
virtualnoexcept

削除関数

削除関数です。

引数
[in]nIndexインデックス
戻り値
実行結果
  • true 成功
  • false 失敗
注意
なし

CString.cpp720 行目に定義があります。

参照先 Remove().

720  {
721  // 削除する
722  return Remove( nIndex, 1 );
723  }
virtual bool Remove() noexcept
削除関数
Definition: CString.cpp:713

呼び出し関係図:

bool LibCommon::CString::Remove ( int  nIndex,
int  nCount 
)
virtualnoexcept

削除関数

削除関数です。

引数
[in]nIndexインデックス
[in]nCount文字数
戻り値
実行結果
  • true 成功
  • false 失敗
注意
なし

CString.cpp727 行目に定義があります。

参照先 m_nCount, m_pszBuffer.

727  {
728  // 処理ブロック
729  bool result = false;
730  do {
731  // インデックスを調べる
732  if ( ( 0 > nIndex ) || ( m_nCount <= nIndex ) ) {
733  // 失敗!
734  break;
735  }
736  // 文字数を調べる
737  else if ( ( m_nCount - nIndex ) < nCount ) {
738  // 失敗!
739  break;
740  }
741 
742  // 移動文字数を取得する
743  int nMove = ( m_nCount - nIndex - nCount );
744  if ( 0 < nMove ) {
745  // 巡回する
746  for ( ; 0 < nMove; --nMove, ++nIndex ) {
747  // 文字コードをコピーする
748  m_pszBuffer[ nIndex ] = m_pszBuffer[ nIndex + nCount ];
749  }
750  }
751 
752  // 巡回する
753  for ( ; m_nCount > nIndex; ++nIndex ) {
754  // 文字コードをクリアする
755  ::memset( &m_pszBuffer[ nIndex ], 0, sizeof( wchar_t ) );
756  }
757 
758  // 文字数を更新する
759  m_nCount -= nCount;
760 
761  // 成功!
762  result = true;
763  } while ( false );
764 
765  // 実行結果を返す
766  return result;
767  }
wchar_t * m_pszBuffer
文字列ポインタ
Definition: CString.h:916
int m_nCount
要素数
Definition: CString.h:918
bool LibCommon::CString::Get ( int  nIndex,
wchar_t &  rChar 
) const
virtualnoexcept

取得関数

取得関数です。

引数
[in]nIndexインデックス
[in]rChar文字コード参照
戻り値
実行結果
  • true 成功
  • false 失敗
注意
なし

CString.cpp771 行目に定義があります。

参照先 m_nCount, m_pszBuffer.

参照元 Pop(), PopFront().

771  {
772  // 処理ブロック
773  bool result = false;
774  do {
775  // インデックスを調べる
776  if ( ( 0 > nIndex ) || ( m_nCount <= nIndex ) ) {
777  // 失敗!
778  break;
779  }
780 
781  // 文字コードを取得する
782  rChar = m_pszBuffer[ nIndex ];
783 
784  // 成功!
785  result = true;
786  } while ( false );
787 
788  // 実行結果を返す
789  return result;
790  }
wchar_t * m_pszBuffer
文字列ポインタ
Definition: CString.h:916
int m_nCount
要素数
Definition: CString.h:918

被呼び出し関係図:

bool LibCommon::CString::Set ( int  nIndex,
wchar_t const &  rChar 
)
virtualnoexcept

設定関数

設定関数です。

引数
[in]nIndexインデックス
[in]rChar文字コード参照
戻り値
実行結果
  • true 成功
  • false 失敗
注意
なし

CString.cpp794 行目に定義があります。

参照先 m_nCount, m_pszBuffer.

794  {
795  // 処理ブロック
796  bool result = false;
797  do {
798  // インデックスを調べる
799  if ( ( 0 > nIndex ) || ( m_nCount <= nIndex ) ) {
800  // 失敗!
801  break;
802  }
803 
804  // 文字コードを設定する
805  m_pszBuffer[ nIndex ] = rChar;
806 
807  // 成功!
808  result = true;
809  } while ( false );
810 
811  // 実行結果を返す
812  return result;
813  }
wchar_t * m_pszBuffer
文字列ポインタ
Definition: CString.h:916
int m_nCount
要素数
Definition: CString.h:918
int LibCommon::CString::Find ( wchar_t const &  rChar) const
virtualnoexcept

検索関数

検索関数です。

引数
[in]rChar文字コード参照
戻り値
インデックス
  • 0 以上 成功
  • 0 未満 失敗
注意
なし

CString.cpp817 行目に定義があります。

参照先 m_nCount, m_pszBuffer.

817  {
818  // 処理ブロック
819  int result = -1;
820  do {
821  // 巡回する
822  for ( int nIndex = 0; m_nCount > nIndex; ++nIndex ) {
823  // 文字コードを調べる
824  if ( rChar == m_pszBuffer[ nIndex ] ) {
825  // 成功!
826  result = nIndex;
827  break;
828  }
829  }
830  } while ( false );
831 
832  // 実行結果を返す
833  return result;
834  }
wchar_t * m_pszBuffer
文字列ポインタ
Definition: CString.h:916
int m_nCount
要素数
Definition: CString.h:918
bool LibCommon::CString::Push ( wchar_t const &  rChar)
virtualnoexcept

プッシュ関数

プッシュ関数です。

引数
[in]rChar文字コード参照
戻り値
実行結果
  • true 成功
  • false 失敗
注意
なし

CString.cpp838 行目に定義があります。

参照先 Append().

参照元 LibCommon::CStringStream::OutputChar().

838  {
839  // 追加する
840  return Append( rChar );
841  }
virtual bool Append(CString const &rcInstance) noexcept
追加関数
Definition: CString.cpp:468

呼び出し関係図:

被呼び出し関係図:

bool LibCommon::CString::Push ( wchar_t const *  pszString)
virtualnoexcept

プッシュ関数

プッシュ関数です。

引数
[in]pszString文字列ポインタ
戻り値
実行結果
  • true 成功
  • false 失敗
注意
なし

CString.cpp845 行目に定義があります。

参照先 Append().

845  {
846  // 追加する
847  return Append( pszString );
848  }
virtual bool Append(CString const &rcInstance) noexcept
追加関数
Definition: CString.cpp:468

呼び出し関係図:

bool LibCommon::CString::Push ( wchar_t const *  pszString,
int  nCount 
)
virtualnoexcept

プッシュ関数

プッシュ関数です。

引数
[in]pszString文字列ポインタ
[in]nCount文字数
戻り値
実行結果
  • true 成功
  • false 失敗
注意
なし

CString.cpp852 行目に定義があります。

参照先 Append().

852  {
853  // 追加する
854  return Append( pszString, nCount );
855  }
virtual bool Append(CString const &rcInstance) noexcept
追加関数
Definition: CString.cpp:468

呼び出し関係図:

bool LibCommon::CString::Push ( char const *  pszMbString)
virtualnoexcept

プッシュ関数

プッシュ関数です。

引数
[in]pszMbStringマルチバイト文字列ポインタ
戻り値
実行結果
  • true 成功
  • false 失敗
注意
なし

CString.cpp859 行目に定義があります。

参照先 Append().

859  {
860  // 追加する
861  return Append( pszMbString );
862  }
virtual bool Append(CString const &rcInstance) noexcept
追加関数
Definition: CString.cpp:468

呼び出し関係図:

bool LibCommon::CString::Push ( char const *  pszMbString,
int  nCount 
)
virtualnoexcept

プッシュ関数

プッシュ関数です。

引数
[in]pszMbStringマルチバイト文字列ポインタ
[in]nCount文字数
戻り値
実行結果
  • true 成功
  • false 失敗
注意
なし

CString.cpp866 行目に定義があります。

参照先 Append().

866  {
867  // 追加する
868  return Append( pszMbString, nCount );
869  }
virtual bool Append(CString const &rcInstance) noexcept
追加関数
Definition: CString.cpp:468

呼び出し関係図:

bool LibCommon::CString::Push ( std::initializer_list< wchar_t const > const &  rcInitializer)
virtualnoexcept

プッシュ関数

プッシュ関数です。

引数
[in]rcInitializer文字コード初期化子リスト参照
戻り値
実行結果
  • true 成功
  • false 失敗
注意
なし

CString.cpp873 行目に定義があります。

参照先 Append().

873  {
874  // 追加する
875  return Append( rcInitializer );
876  }
virtual bool Append(CString const &rcInstance) noexcept
追加関数
Definition: CString.cpp:468

呼び出し関係図:

bool LibCommon::CString::Pop ( wchar_t &  rChar)
virtualnoexcept

ポップ関数

ポップ関数です。

引数
[in]rChar文字コード参照
戻り値
実行結果
  • true 成功
  • false 失敗
注意
なし

CString.cpp880 行目に定義があります。

参照先 Get(), m_nCount, Remove().

880  {
881  // 処理ブロック
882  bool result = false;
883  do {
884  // 文字数を取得する
885  if ( !Get( ( m_nCount - 1 ), rChar ) ) {
886  // 失敗!
887  break;
888  }
889  // 削除する
890  else if ( Remove() ) {
891  // 失敗!
892  break;
893  }
894 
895  // 成功!
896  result = true;
897  } while ( false );
898 
899  // 実行結果を返す
900  return result;
901  }
virtual bool Remove() noexcept
削除関数
Definition: CString.cpp:713
virtual bool Get(int nIndex, wchar_t &rChar) const noexcept
取得関数
Definition: CString.cpp:771
int m_nCount
要素数
Definition: CString.h:918

呼び出し関係図:

bool LibCommon::CString::PopFront ( wchar_t &  rChar)
virtualnoexcept

ポップフロント関数

ポップフロント関数です。

引数
[in]rChar文字コード参照
戻り値
実行結果
  • true 成功
  • false 失敗
注意
なし

CString.cpp905 行目に定義があります。

参照先 Get(), Remove().

905  {
906  // 処理ブロック
907  bool result = false;
908  do {
909  // 文字数を取得する
910  if ( !Get( 0, rChar ) ) {
911  // 失敗!
912  break;
913  }
914  // 削除する
915  else if ( Remove( 0 ) ) {
916  // 失敗!
917  break;
918  }
919 
920  // 成功!
921  result = true;
922  } while ( false );
923 
924  // 実行結果を返す
925  return result;
926  }
virtual bool Remove() noexcept
削除関数
Definition: CString.cpp:713
virtual bool Get(int nIndex, wchar_t &rChar) const noexcept
取得関数
Definition: CString.cpp:771

呼び出し関係図:

wchar_t const * LibCommon::CString::Format ( wchar_t const *  pszFormat,
  ... 
)
virtualnoexcept

書式設定文字列代入関数

書式設定文字列代入関数です。

引数
[in]pszFormat書式設定文字列ポインタ
[in]...可変長引数リスト
戻り値
文字列ポインタ
注意
なし

CString.cpp930 行目に定義があります。

参照先 FormatArgs().

参照元 LibJson::CJsonConfigAuto::CJsonConfigAuto(), LibWindow::CWndPane::Create(), LibWindow::CWndPane::DrawPaintRect(), LibJson::CJsonConfig::GetPath(), LibJson::CJsonConfig::Set(), LibWindow::CWndMain::UpdateStatusBar().

930  {
931  // 処理ブロック
932  wchar_t const* result = nullptr;
933  do {
934  // 引数リストを作成する
935  va_list vaArgs;
936  va_start( vaArgs, pszFormat );
937 
938  // 引数リスト書式設定文字列を代入する
939  result = FormatArgs( pszFormat, vaArgs );
940 
941  // 引数リストを解放する
942  va_end( vaArgs );
943  } while ( false );
944 
945  // 実行結果を返す
946  return result;
947  }
virtual wchar_t const * FormatArgs(wchar_t const *pszFormat, va_list vaArgs) noexcept
引数リスト書式設定文字列代入関数
Definition: CString.cpp:951

呼び出し関係図:

被呼び出し関係図:

wchar_t const * LibCommon::CString::FormatArgs ( wchar_t const *  pszFormat,
va_list  vaArgs 
)
virtualnoexcept

引数リスト書式設定文字列代入関数

引数リスト書式設定文字列代入関数です。

引数
[in]pszFormat書式設定文字列ポインタ
[in]vaArgs引数リスト
戻り値
文字列ポインタ
注意
なし

CString.cpp951 行目に定義があります。

参照先 Clear(), m_nCount, m_pszBuffer, UpdateBuffer().

参照元 Format(), AppTest::CAppTestMenuBase::OutputFinishMessage().

951  {
952  // 処理ブロック
953  wchar_t const* result = nullptr;
954  do {
955  // 書式設定文字列ポインタを調べる
956  if ( nullptr == pszFormat ) {
957  // 失敗!
958  break;
959  }
960 
961  // 文字列バッファサイズを取得する
962  int nCount = ::_vscwprintf( pszFormat, vaArgs );
963  if ( 0 >= nCount ) {
964  // 失敗!
965  break;
966  }
967 
968  // クリアする
969  Clear();
970 
971  // バッファサイズを更新する
972  if ( !UpdateBuffer( nCount ) ) {
973  // 失敗!
974  break;
975  }
976  // 書式設定文字列を展開する
977  else if ( nCount != ::vswprintf_s( m_pszBuffer, ( nCount + 1 ), pszFormat, vaArgs ) ) {
978  // 失敗!
979  break;
980  }
981 
982  // 文字数を設定する
983  m_nCount = nCount;
984 
985  // 成功!
986  result = m_pszBuffer;
987  } while ( false );
988 
989  // 実行結果を返す
990  return result;
991  }
wchar_t * m_pszBuffer
文字列ポインタ
Definition: CString.h:916
virtual bool UpdateBuffer(int nCount) noexcept
バッファサイズ更新関数
Definition: CString.cpp:322
virtual void Clear() noexcept
クリア関数
Definition: CString.cpp:263
int m_nCount
要素数
Definition: CString.h:918

呼び出し関係図:

被呼び出し関係図:

メンバ詳解

wchar_t* LibCommon::CString::m_pszBuffer
protected
int LibCommon::CString::m_nSize
protected

バッファサイズ

CString.h917 行目に定義があります。

参照元 Clear(), CompactBuffer(), CreateBuffer(), Move(), UpdateBuffer().

int const LibCommon::CString::SEGMENT_SIZE = 256
static

セグメントサイズ初期値

CString.h923 行目に定義があります。


このクラス詳解は次のファイルから抽出されました: