NEX で使用されるコア文字列型。 [詳解]
#include <OnlineCore/src/Platform/Core/String.h>
クラス | |
class | LiteralStringHolder |
任意の文字列リテラルを格納するクラス。String::GetLiteralStringAs() により生成されます。 [詳解] | |
公開メンバ関数 | |
String () | |
コンストラクタです。 [詳解] | |
String (const qChar8 *szString) | |
コンストラクタです。 [詳解] | |
String (const qWideChar *szString) | |
コンストラクタです。 [詳解] | |
String (const String &oString) | |
コピーコンストラクタです。 [詳解] | |
virtual | ~String () |
デストラクタです。 | |
size_t | Capacity () const |
メモリの再割り当てなしで保持可能な文字列長を取得します。 [詳解] | |
qBool | ContainsCase (const String &strSubstr) const |
引数の文字列を含むかどうかを返します。大文字と小文字は区別されます。 [詳解] | |
qBool | ContainsNoCase (const String &strSubstr) const |
引数の文字列を含むかどうかを返します。大文字と小文字の区別はしません。 [詳解] | |
size_t | CopyString (qChar8 *pCopy, size_t size) const |
文字列のコピーを作成します。 [詳解] | |
size_t | CopyString (qWideChar *pCopy, size_t size) const |
文字列のコピーを作成します。 [詳解] | |
void | CreateCopy (qChar8 **szCopy) const |
文字列のコピーを作成します。 [詳解] | |
void | CreateCopy (qWideChar **szCopy) const |
文字列のコピーを作成します。 [詳解] | |
const qChar * | CStr () const |
文字列を C 形式のポインタで返します。 [詳解] | |
qBool | Empty () const |
文字列長が 0 なら true を返します。 [詳解] | |
qInt | FindSubstringCase (const qChar *szSubstring, qInt poi=0) const |
文字列を検索します。大文字と小文字は区別されます。 [詳解] | |
qInt | FindSubstringNoCase (const qChar *szSubstring) const |
文字列を検索します。大文字と小文字の区別はしません。 [詳解] | |
qChar * | GetBufferPtr () |
オブジェクト内部の文字列バッファを返します。 [詳解] | |
const qChar * | GetBufferPtr () const |
オブジェクト内部の文字列バッファを返します(const版)。 [詳解] | |
size_t | GetLength () const |
文字列長を返します。NULL 終端は含みません。 [詳解] | |
template<typename CharT > | |
LiteralStringHolder< CharT > | GetLiteralStringAs () const |
テンプレート引数で指定した型で文字列を取得します。 [詳解] | |
qBool | operator!= (const String &oString) const |
比較演算子です。 [詳解] | |
qBool | operator!= (const qChar *szString) const |
比較演算子です。 [詳解] | |
String & | operator+= (const String &strString) |
複合代入演算子です。文字列を結合します。 [詳解] | |
qBool | operator< (const String &oString) const |
比較演算子です。 [詳解] | |
qBool | operator<= (const String &oString) const |
比較演算子です。 [詳解] | |
String & | operator= (const qChar8 *szString) |
代入演算子です。 [詳解] | |
String & | operator= (const qWideChar *szString) |
代入演算子です。 [詳解] | |
String & | operator= (const String &oString) |
代入演算子です。 [詳解] | |
qBool | operator== (const String &oString) const |
比較演算子です。 [詳解] | |
qBool | operator== (const qChar *szString) const |
比較演算子です。 [詳解] | |
qBool | operator> (const String &oString) const |
比較演算子です。 [詳解] | |
qBool | operator>= (const String &oString) const |
比較演算子です。 [詳解] | |
void | Reserve (size_t length) |
指定した文字列長分の文字列を格納できるメモリを事前を確保します。 [詳解] | |
void | ShrinkToFit () |
内部バッファを現在の文字列長に切り詰めます。 | |
void | Swap (String &rhs) NEX_NOEXCEPT |
オブジェクト内部の情報を入れ替えます。 [詳解] | |
void | ToLower () |
小文字に変換します。 | |
void | ToUpper () |
大文字に変換します。 | |
String | Truncate (size_t uiLength) const |
指定した文字列長以降を切り捨てた String オブジェクトを作成します。 [詳解] | |
静的公開メンバ関数 | |
static int | Base64ToByteArray (const qChar *szASrc, size_t uiSrcLength, qByte *pbDest, size_t uiDestLength) |
base64 形式の文字列からバイナリデータに変換します。 [詳解] | |
static int | Base64ToByteArray (const String &strSrc, qByte *pbDest, size_t uiDestLength) |
base64 形式の文字列からバイナリデータに変換します。 [詳解] | |
static int | ByteArrayToBase64 (const qByte *pbSrc, size_t uiSrcLength, qChar *szADest, size_t uiDestLength) |
入力バイナリデータを base64 形式の qChar 文字列に変換します。 [詳解] | |
static void | ReleaseCopy (qChar8 *szCopy) |
文字列を解放します。 [詳解] | |
static void | ReleaseCopy (qWideChar *szCopy) |
文字列を解放します。 [詳解] | |
NEX で使用されるコア文字列型。
このクラスは基本的な文字列の機能を定義します。
CTR-NEX では UTF-16LE に対応しています。ただし、サロゲートペアには非対応です。
nn::nex::String::String | ( | ) |
コンストラクタです。
空文字列がセットされます。動的なメモリ確保は伴いません。
nn::nex::String::String | ( | const qChar8 * | szString | ) |
コンストラクタです。
[in] | szString | qChar8 型のANSI形式の文字列。内部で各文字が qWideChar 型に変換されます。 |
nn::nex::String::String | ( | const qWideChar * | szString | ) |
コンストラクタです。
[in] | szString | qWideChar 型の文字列。 |
代入演算子です。
[in] | szString | qChar8 型の文字列。内部で qWideChar 型に変換されます。 |
代入演算子です。
[in] | szString | qWideChar 型の文字列。 |
複合代入演算子です。文字列を結合します。
[in] | strString | String オブジェクト。 |
比較演算子です。
[in] | oString | 比較する String オブジェクト。 |
比較演算子です。
[in] | szString | 比較する String オブジェクト。 |
比較演算子です。
[in] | oString | 比較する String オブジェクト。 |
比較演算子です。
[in] | szString | 比較する String オブジェクト。 |
比較演算子です。
[in] | oString | 比較する String オブジェクト。 |
比較演算子です。
[in] | oString | 比較する String オブジェクト。 |
比較演算子です。
[in] | oString | 比較する String オブジェクト。 |
比較演算子です。
[in] | oString | 比較する String オブジェクト。 |
String nn::nex::String::Truncate | ( | size_t | uiLength | ) | const |
const qChar* nn::nex::String::CStr | ( | ) | const |
文字列を C 形式のポインタで返します。
qChar* nn::nex::String::GetBufferPtr | ( | ) |
オブジェクト内部の文字列バッファを返します。
const qChar* nn::nex::String::GetBufferPtr | ( | ) | const |
オブジェクト内部の文字列バッファを返します(const版)。
void nn::nex::String::Swap | ( | String & | rhs | ) |
オブジェクト内部の情報を入れ替えます。
[in] | rhs | 入れ替える対象のオブジェクト。 |
void nn::nex::String::Reserve | ( | size_t | length | ) |
指定した文字列長分の文字列を格納できるメモリを事前を確保します。
内部の文字列はそのまま保持されます。もし length 分の文字列を確保可能なバッファをすでに持っている場合は何も行いません。
[in] | length | 文字列長。(終端含まない) |
size_t nn::nex::String::Capacity | ( | ) | const |
void nn::nex::String::CreateCopy | ( | qChar8 ** | szCopy | ) | const |
文字列のコピーを作成します。
引数で与えられたポインタに文字列長分のメモリを確保し、コピーします。 内部で ANSI 形式に変換するため、元の文字列が ANSI 形式に変換できる必要があります。
本関数で生成した文字列は、 ReleaseCopy() で開放してください。
[out] | szCopy | qChar8 の C 形式文字列へのポインタ |
|
static |
size_t nn::nex::String::CopyString | ( | qChar8 * | pCopy, |
size_t | size | ||
) | const |
文字列のコピーを作成します。
引数で与えられたポインタに文字列をコピーします。あらかじめメモリが確保されている必要があります。 内部で ANSI 形式に変換するため、元の文字列が ANSI 形式に変換できる必要があります。 size が 0 以外の場合は、必ず \0 で終端されます。
[out] | pCopy | qChar8 の C 形式文字列領域へのポインタ。 |
[in] | size | 文字列領域のサイズ ( 終端の \0 を含む ) 。*pCopy の型換算の長さ(バッファサイズ / 型サイズ)です。) |
void nn::nex::String::CreateCopy | ( | qWideChar ** | szCopy | ) | const |
文字列のコピーを作成します。
引数で与えられたポインタに文字列長分のメモリを確保し、コピーします。
本関数で生成した文字列は、 ReleaseCopy() で開放してください。
[out] | szCopy | qWideChar の C 形式文字列へのポインタ |
|
static |
size_t nn::nex::String::CopyString | ( | qWideChar * | pCopy, |
size_t | size | ||
) | const |
文字列のコピーを作成します。
引数で与えられたポインタに文字列をコピーします。あらかじめメモリが確保されている必要があります。
size が 0 以外の場合は、必ず \0 で終端されます。
[out] | pCopy | qWideChar の C 形式文字列領域へのポインタ。 |
[in] | size | 文字列領域のサイズ ( 終端の \0 を含む ) 。*pCopy の型換算の長さ(バッファサイズ / 型サイズ)です。) |
LiteralStringHolder<CharT> nn::nex::String::GetLiteralStringAs | ( | ) | const |
テンプレート引数で指定した型で文字列を取得します。
本関数呼び出し後に String::LiteralStringHolder<CharT>::CStr() を呼び出すことで、任意の文字列型で内部値を取得できます。 String::CStr() は qChar 型を返しますが、それ以外の型で文字列を取得したい場合に使用してください。 例えば、 obj.GetLiteralStringAs<qChar8>.CStr() と呼び出すことで const qChar8* を受け取る関数の引数に文字列を渡すことが出来ます。 テンプレート引数には qChar8、qChar16、qWideChar などの文字列型を指定できます。
size_t nn::nex::String::GetLength | ( | ) | const |
文字列長を返します。NULL 終端は含みません。
qBool nn::nex::String::Empty | ( | ) | const |
文字列長が 0 なら true を返します。
文字列を検索します。大文字と小文字は区別されます。
[in] | szSubstring | 検索文字列 |
[in] | poi | 開始位置 0は先頭 (省略時0) |
文字列を検索します。大文字と小文字の区別はしません。
[in] | szSubstring | 検索文字列 |
|
static |
入力バイナリデータを base64 形式の qChar 文字列に変換します。
szADest に NULL を指定した場合、変換を行わず、変換に必要な szADest のサイズを返します。必要サイズはNULL終端文字に必要な領域分を含みます。
[in] | pbSrc | 入力データへのポインタ |
[in] | uiSrcLength | 入力データのサイズ |
[out] | szADest | base64 形式文字列の出力先バッファへのポインタ。変換に成功すると末尾にNULL終端文字が付与されます。 |
[in] | uiDestLength | szADest で示されるバッファのサイズ(NULL終端文字分を含む) |
-1 変換失敗(出力バッファのサイズ不足)
それ以外 変換後の文字列長
|
static |
base64 形式の文字列からバイナリデータに変換します。
pbDest に NULL を指定した場合、変換を行わず、変換に必要な pbDest のサイズ(理論値)を返します。
[in] | szASrc | 入力 base64 形式文字列へのポインタ。 |
[in] | uiSrcLength | 入力 base64 形式文字列の長さ。4の倍数である必要があります。NULL終端文字列は含みません。 |
[out] | pbDest | 出力データ格納先バッファへのポインタ |
[in] | uiDestLength | pbDest で示されるバッファのサイズ |
-1 変換失敗(出力バッファのサイズ不足)
それ以外 変換後のバッファサイズ
|
static |
base64 形式の文字列からバイナリデータに変換します。
pbDest に NULL を指定した場合、変換を行わず、変換に必要な pbDest のサイズ(理論値)を返します。
[in] | strSrc | 入力 base64 形式文字列 |
[out] | pbDest | 出力データ格納先バッファへのポインタ |
[in] | uiDestLength | pbDest で示されるバッファのサイズ |
-1 変換失敗(出力バッファのサイズ不足。base64 形式の文字列ではない)
それ以外 変換後のバッファサイズ