文字列型クラス More...
#include <GxString.h>


Classes | |
| struct | GxTokenizer |
| トークン操作クラス More... | |
Public Member Functions | |
初期化 | |
| GxString (void) | |
| デフォルトコンストラクタ | |
| GX_FORCE_INLINE | GxString (const GxString &string) |
| コンストラクタ | |
| GX_FORCE_INLINE | GxString (GX_CSTR string) |
| コンストラクタ | |
| ~GxString (void) | |
| デストラクタ | |
| GX_FORCE_INLINE void | clear (void) |
| クリア | |
演算子 | |
| GX_FORCE_INLINE const GxString & | operator= (GX_CSTR string) |
| 代入 | |
| GX_FORCE_INLINE const GxString & | operator= (const GxString &string) |
| 代入 | |
| GX_FORCE_INLINE void | operator+= (GX_CCHAR character) |
| 結合代入 | |
| GX_FORCE_INLINE void | operator+= (GX_CSTR string) |
| 結合代入 | |
| GX_FORCE_INLINE void | operator+= (const GxString &string) |
| 結合代入 | |
| GxString | operator+ (GX_CSTR string) const |
| 結合 | |
| GxString | operator+ (const GxString &string) const |
| 結合 | |
| GX_FORCE_INLINE b32 | operator== (GX_CSTR string) const |
| 一致 | |
| GX_FORCE_INLINE b32 | operator== (const GxString &string) const |
| 一致 | |
| GX_FORCE_INLINE b32 | operator!= (GX_CSTR string) const |
| 不一致 | |
| GX_FORCE_INLINE b32 | operator!= (const GxString &string) const |
| 不一致 | |
定義 | |
| enum class | CODE { SJIS = 0 , UTF8 , UTF16 , MAX } |
| コード分類定義 More... | |
| static constexpr u32 | MARGIN_LENGTH = 115 |
| 元々持っている文字列の長さ(sizeof(GxString)が16バイトの倍数になるようにする) | |
| static constexpr u32 | ALLOC_BLOCK_SIZE = GxMath::VALUE_16 |
| 確保する文字列のブロックサイズ | |
| static constexpr u32 | TEMPORARY_LENGTH = GxMath::VALUE_512 |
| 一時領域のサイズ | |
| static constexpr u32 | LENGTH_MAX = 0x0FFFFFFF |
| 最大長定義 | |
| static constexpr u32 | TEMPORARY_STACK_SIZE = GxMath::VALUE_2K |
| 一時メモリにスタックを使うか閾値 | |
| static constexpr u32 | NUM_SJIS_FAST_TABLE = 22 |
| SJIS変換高速化テーブルの個数 | |
| static const u32 | SJIS_FAST_TABLE [NUM_SJIS_FAST_TABLE][2] |
| SJIS変換高速化テーブル | |
| static constexpr u32 | NUM_UTF8_UTF16_TABLE = 3557 |
| 変換テーブルの個数 | |
| static constexpr u32 | NUM_HALF_KANA = 63 |
| 半角カナの個数 | |
| static const u8 | SJIS_UTF8_UTF16_TABLE [NUM_UTF8_UTF16_TABLE][static_cast< s32 >(CODE::MAX)][3] |
| 変換テーブル | |
| static constexpr s32 | FTOA_DEFAULT = -2 |
| ftoaフォーマット(標準) | |
| static constexpr s32 | FTOA_REAL = -1 |
| ftoaフォーマット(VisuaStudio 同等) | |
| static constexpr s32 | FTOA_INT = 0 |
| ftoaフォーマット(小数点無し) | |
アクセサ | |
| constexpr u32 | getLength (void) const |
| 文字列の長さを取得 | |
| u32 | getStartUtf8 (u32 characterNum) const |
| 文字の開始位置取得(UTF8) | |
| u32 | getStartSjis (u32 characterNum) const |
| 文字の開始位置取得(SJIS) | |
| b32 | isContain (GX_CSTR string) const |
| 指定された文字列を含むか判定 | |
| b32 | isStartsWith (GX_CSTR string) const |
| 指定された文字列で始まるか判定 | |
| b32 | isEndsWith (GX_CSTR string) const |
| 指定された文字列で終了するか判定 | |
| GX_FORCE_INLINE GX_STR | getString (void) |
| 文字列取得 | |
| constexpr GX_CSTR | getString (void) const |
| 文字列取得 | |
| GX_FORCE_INLINE void | getLeft (GxString &left, u32 length) const |
| 左文字列取得 | |
| GX_FORCE_INLINE void | getRight (GxString &right, u32 length) const |
| 右文字列取得 | |
| void | getSubString (GxString &subString, u32 start, u32 length=LENGTH_MAX) const |
| 指定位置からの抜き出し | |
| static u32 | getLength (GX_CSTR string) |
| 文字列の長さを取得 | |
| static u32 | getLengthUtf8 (GX_CSTR string) |
| 文字数を取得(UTF8) | |
| static u32 | getLengthSjis (GX_CSTR string) |
| 文字数を取得(SJIS) | |
| static u32 | getBytesUtf8 (GX_CSTR string) |
| 文字のバイト数取得(UTF8) | |
| static u32 | getBytesSjis (GX_CSTR string) |
| 文字のバイト数取得(SJIS) | |
| static b32 | isHalfUtf8 (GX_CSTR string) |
| 半角か判定(UTF8) | |
| static b32 | isHalfSjis (GX_CSTR string) |
| 半角か判定(SJIS) | |
| static b32 | isHalfKanaUtf8 (GX_CSTR string) |
| 半角カナか判定(UTF8) | |
| static b32 | isHalfKanaSjis (GX_CSTR string) |
| 半角カナか判定(SJIS) | |
| static b32 | isAscii (GX_CSTR string) |
| ASCIIか判定 | |
| static b32 | isNumber (GX_CCHAR character) |
| 数字か判定 | |
| static b32 | isUnsignedInteger (GX_CSTR string) |
| 符号なし整数文字列か判定 | |
| static b32 | isSignedInteger (GX_CSTR string) |
| 符号あり整数文字列か判定 | |
| static b32 | isFloat (GX_CSTR string) |
| 浮動小数文字列か判定 | |
| static b32 | isHexadecimal (GX_CSTR string) |
| 16進数文字列か判定 | |
| static b32 | isBinaryDigit (GX_CSTR string) |
| 2進数文字列か判定 | |
| static b32 | isWhiteSpace (GX_CCHAR character) |
| 空白文字か判定 | |
| static b32 | decodeUnsignedInteger (GX_CSTR string, u64 &result) |
| 16進数、2進数、含め文字列からuintに変換 | |
| static b32 | decodeSignedInteger (GX_CSTR string, s64 &result) |
| 16進数、2進数、含め文字列からintに変換 | |
| static b32 | decodeFloat (GX_CSTR string, f64 &result) |
| 16進数、2進数、含め文字列からfloatに変換 | |
| void | getStringProperty (void *pValue) |
| 文字列取得(プロパティ用) | |
| void | setStringProperty (const void *pValue) |
| 文字列設定(プロパティ用) | |
操作 | |
| s32 | find (GX_CSTR string, u32 start=0, b32 isIgnoreCase=false) const |
| 文字列検索 | |
| s32 | find (GX_CHAR character, u32 start=0, b32 isIgnoreCase=false) const |
| 文字検索 | |
| s32 | findReverse (GX_CSTR string, s32 start=-1, b32 isIgnoreCase=false) const |
| 文字列検索(終端から検索) | |
| s32 | findReverse (GX_CHAR character, s32 start=-1, b32 isIgnoreCase=false) const |
| 文字検索(終端から検索) | |
| s32 | findUtf8 (GX_CSTR string, u32 start=0) const |
| UTF8文字列検索 | |
| s32 | findUtf8 (GX_CHAR character, u32 start=0) const |
| UTF8文字検索 | |
| s32 | findSjis (GX_CSTR string, u32 start=0) const |
| SJIS文字列検索 | |
| s32 | findSjis (GX_CHAR character, u32 start=0) const |
| SJIS文字検索 | |
| u32 | findCount (GX_CSTR string, u32 start=0, b32 isIgnoreCase=false) const |
| 文字列の数を検索 | |
| u32 | findCount (GX_CHAR character, u32 start=0, b32 isIgnoreCase=false) const |
| 文字の数を検索 | |
| GX_FORCE_INLINE s32 | compare (GX_CSTR string) const |
| 比較 | |
| GX_FORCE_INLINE s32 | compare (const GxString &string) const |
| 比較 | |
| GX_FORCE_INLINE s32 | icompare (GX_CSTR string) const |
| 比較(大文字、小文字の区別なし) | |
| GX_FORCE_INLINE s32 | icompare (const GxString &string) const |
| 比較(大文字、小文字の区別なし) | |
| void | insert (u32 start, GX_CSTR string, u32 stringStart=0, s32 stringLength=-1) |
| 挿入 | |
| void | eraseLeft (u32 length) |
| 左文字列削除 | |
| void | eraseRight (u32 length) |
| 右文字列削除 | |
| void | erase (u32 start, u32 length=LENGTH_MAX) |
| 指定位置から文字列削除 | |
| void | trim (void) |
| 両端のタブとスペースを削除する | |
| void | trimStart (void) |
| 先頭のタブとスペースを全て削除する | |
| void | trimEnd (void) |
| 終端のタブとスペースを全て削除する | |
| const GxString & | format (GX_CSTR format,...) |
| フォーマット出力 | |
| void | addComma (void) |
| 数値文字列の3桁ごとにカンマを追加 | |
| void | replace (GX_CSTR oldString, GX_CSTR newString) |
| 文字列を置換する | |
| void | replaceUtf8 (GX_CSTR oldString, GX_CSTR newString) |
| 文字列を置換する (UTF8) | |
| void | replaceSjis (GX_CSTR oldString, GX_CSTR newString) |
| 文字列を置換する (Sjis) | |
| void | paddingLeft (u32 totalWidth, GX_CHAR paddingCharacter=' ') |
| 文字列の先頭に指定のパディング文字を挿入する | |
| void | paddingRight (u32 totalWidth, GX_CHAR paddingCharacter=' ') |
| 文字列の終端に指定のパディング文字を挿入する | |
| static s32 | compare (GX_CSTR string0, GX_CSTR string1) |
| 比較 | |
| static s32 | icompare (GX_CSTR string0, GX_CSTR string1) |
| 比較(大文字、小文字の区別なし) | |
| static GX_FORCE_INLINE s32 | ncompare (GX_CSTR string0, GX_CSTR string1, u32 length) |
| 比較(長さ指定) | |
| static s32 | nicompare (GX_CSTR string0, GX_CSTR string1, u32 length) |
| 比較(大文字、小文字の区別なし、長さ指定) | |
| static GX_STR | copy (GX_STR dst, GX_CSTR src) |
| コピー | |
| static GX_STR | ncopy (GX_STR dst, GX_CSTR src, u32 length) |
| コピー(長さ指定) | |
| static GX_STR | concatenate (GX_STR dst, GX_CSTR src) |
| 結合 | |
| static GX_STR | nconcatenate (GX_STR dst, GX_CSTR src, u32 length) |
| 結合(長さ指定) | |
| static void | itoa (s64 value, GX_STR string) |
| 整数→文字列 | |
| static void | uitoa (u64 value, GX_STR string) |
| 非負整数→文字列 | |
| static void | ftoa (f64 value, GX_STR string, s32 figure=-2) |
| 浮動小数→文字列 | |
| static void | uitoh (u64 value, GX_STR string, u32 figure) |
| 非負整数→16進数文字列 | |
| static void | uitob (u64 value, GX_STR string, u32 figure) |
| 非負整数→2進数文字列 | |
| static s64 | atoi (GX_CSTR string) |
| 文字列→整数 | |
| static u64 | atoui (GX_CSTR string) |
| 文字列→非負整数 | |
| static f64 | atof (GX_CSTR string) |
| 文字列→浮動小数 | |
| static u64 | htoui (GX_CSTR string) |
| 16進数文字列→非負整数 | |
| static u64 | btoui (GX_CSTR string) |
| 2進数文字列→非負整数 | |
| static GX_FORCE_INLINE GX_CHAR | utol (GX_CHAR character) |
| 大文字→小文字 | |
| static GX_FORCE_INLINE GX_CHAR | ltou (GX_CHAR character) |
| 小文字→大文字 | |
| static void | sjisToUtf8 (GX_CSTR sjis, GX_STR utf8) |
| SJIS→UTF-8. | |
| static void | utf8ToSjis (GX_CSTR utf8, GX_STR sjis) |
| UTF-8→SJIS. | |
| static GX_FORCE_INLINE void | setCallbackSjisToUtf8 (GxCallback::GxHandlerBase handler) |
| SJIS→UTF-8変換拡張コールバックを設定 | |
| static GX_FORCE_INLINE void | setCallbackUtf8ToSjis (GxCallback::GxHandlerBase handler) |
| UTF-8→SJIS変換拡張コールバックを設定 | |
Additional Inherited Members | |
Static Public Member Functions inherited from GxStructBase | |
| static GxRtti & | __getStaticRtti (void) |
文字列型クラス
|
strong |
|
static |
文字列→浮動小数
| string | [in] 文字列 |

|
static |
文字列→整数
| string | [in] 文字列 |


|
static |
文字列→非負整数
| string | [in] 文字列 |


|
static |
2進数文字列→非負整数
| string | [in] 文字列 |


|
static |
比較
| string0 | [in] 文字列0 |
| string1 | [in] 文字列1 |
|
static |
結合
| dst | [in] コピー先 |
| src | [in] コピー元 |

|
static |
コピー
| dst | [in] コピー先 |
| src | [in] コピー元 |

|
static |
16進数、2進数、含め文字列からfloatに変換
16進数、2進数、含め文字列からfloatに変換
| string | [in] 文字列 |
| value | [out] 結果を返す。変換できなかったら何もしない |


|
static |
16進数、2進数、含め文字列からintに変換
16進数、2進数、含め文字列からintに変換
| string | [in] 文字列 |
| value | [out] 結果を返す。変換できなかったら何もしない |


|
static |
16進数、2進数、含め文字列からuintに変換
16進数、2進数、含め文字列からuintに変換
| string | [in] 文字列 |
| result | [out] 結果を返す。変換できなかったら何もしない |


| void GxString::erase | ( | u32 | start, |
| u32 | length = LENGTH_MAX ) |
指定位置から文字列削除
| start | [in] 開始位置 |
| length | [in] 長さ |

| void GxString::eraseLeft | ( | u32 | length | ) |
左文字列削除
| length | [in] 長さ |

| void GxString::eraseRight | ( | u32 | length | ) |
右文字列削除
| length | [in] 長さ |

| s32 GxString::find | ( | GX_CHAR | character, |
| u32 | start = 0, | ||
| b32 | isIgnoreCase = false ) const |
文字検索
| character | [in] 文字 |
| start | [in] 開始位置 |
| isIgnoreCase | [in] 大文字と小文字を区別しないならtrue |
| s32 GxString::find | ( | GX_CSTR | string, |
| u32 | start = 0, | ||
| b32 | isIgnoreCase = false ) const |
文字列検索
| string | [in] 文字列 |
| start | [in] 開始位置 |
| isIgnoreCase | [in] 大文字と小文字を区別しないならtrue |

| u32 GxString::findCount | ( | GX_CHAR | character, |
| u32 | start = 0, | ||
| b32 | isIgnoreCase = false ) const |
文字の数を検索
| character | [in] 文字 |
| start | [in] 開始位置 |
| isIgnoreCase | [in] 大文字と小文字を区別しないならtrue |

| u32 GxString::findCount | ( | GX_CSTR | string, |
| u32 | start = 0, | ||
| b32 | isIgnoreCase = false ) const |
文字列の数を検索
| string | [in] 文字列 |
| start | [in] 開始位置 |
| isIgnoreCase | [in] 大文字と小文字を区別しないならtrue |

| s32 GxString::findReverse | ( | GX_CHAR | character, |
| s32 | start = -1, | ||
| b32 | isIgnoreCase = false ) const |
文字検索(終端から検索)
| character | [in] 文字 |
| start | [in] 開始位置 |
| isIgnoreCase | [in] 大文字と小文字を区別しないならtrue |
| s32 GxString::findReverse | ( | GX_CSTR | string, |
| s32 | start = -1, | ||
| b32 | isIgnoreCase = false ) const |
文字列検索(終端から検索)
| string | [in] 文字列 |
| start | [in] 開始位置 |
| isIgnoreCase | [in] 大文字と小文字を区別しないならtrue |

| s32 GxString::findSjis | ( | GX_CHAR | character, |
| u32 | start = 0 ) const |
SJIS文字検索
| character | [in] 文字 |
| start | [in] 開始位置 |

| s32 GxString::findSjis | ( | GX_CSTR | string, |
| u32 | start = 0 ) const |
SJIS文字列検索
| string | [in] 文字列 |
| start | [in] 開始位置 |


| s32 GxString::findUtf8 | ( | GX_CHAR | character, |
| u32 | start = 0 ) const |
UTF8文字検索
| character | [in] 文字 |
| start | [in] 開始位置 |

| s32 GxString::findUtf8 | ( | GX_CSTR | string, |
| u32 | start = 0 ) const |
UTF8文字列検索
| string | [in] 文字列 |
| start | [in] 開始位置 |


| const GxString & GxString::format | ( | GX_CSTR | format, |
| ... ) |
フォーマット出力
| str | [in] フォーマット後の文字列 |
| bufferSize | [in] str のバッファサイズ |
| format | [in] フォーマット |
| ap | [in] va_list |
| format | [in] 文字列 |


|
static |
浮動小数→文字列
| value | [in] 値 |
| string | [in] 文字列 |
| figure | [in] 桁数(-1ならVisualStudioの表示と同じに, -2 は標準) |

|
static |
文字のバイト数取得(SJIS)
| pCharacter | [in] 文字列 |


|
static |
文字のバイト数取得(UTF8)
| pCharacter | [in] 文字列 |

|
static |
文字列の長さを取得
| string | [in] 文字列 |
|
static |
文字数を取得(SJIS)
| string | [in] 文字列 |

|
static |
文字数を取得(UTF8)
| string | [in] 文字列 |


| u32 GxString::getStartSjis | ( | u32 | characterNum | ) | const |
文字の開始位置取得(SJIS)
| characterNum | [in] 文字数 |

| u32 GxString::getStartUtf8 | ( | u32 | characterNum | ) | const |
文字の開始位置取得(UTF8)
| characterNum | [in] 文字数 |

|
protected |
文字列取得(プロパティ用)
| pValue | [out] 取得文字列 |
| void GxString::getSubString | ( | GxString & | subString, |
| u32 | start, | ||
| u32 | length = LENGTH_MAX ) const |
指定位置からの抜き出し
| subString | [out] 抜き出し文字列 |
| start | [in] 開始位置 |
| length | [in] 長さ |

|
static |
16進数文字列→非負整数
| string | [in] 文字列 |


|
static |
比較(大文字、小文字の区別なし)
| string0 | [in] 文字列0 |
| string1 | [in] 文字列1 |

| void GxString::insert | ( | u32 | start, |
| GX_CSTR | string, | ||
| u32 | stringStart = 0, | ||
| s32 | stringLength = -1 ) |
挿入
| start | [in] 挿入位置 |
| string | [in] 挿入文字列 |
| stringStart | [in] 挿入文字列の開始位置 |
| stringLength | [in] 挿入文字列の長さ |

|
static |
ASCIIか判定
| pCharacter | [in] 文字列 |

|
static |
2進数文字列か判定
| string | [in] 文字列 |

| b32 GxString::isContain | ( | GX_CSTR | string | ) | const |
指定された文字列を含むか判定
| string | [in] 文字列 |

| b32 GxString::isEndsWith | ( | GX_CSTR | string | ) | const |
指定された文字列で終了するか判定
| string | [in] 文字列 |


|
static |
浮動小数文字列か判定
| string | [in] 文字列 |


|
static |
半角カナか判定(SJIS)
| pCharacter | [in] 文字列 |

|
static |
半角カナか判定(UTF8)
| pCharacter | [in] 文字列 |

|
static |
半角か判定(SJIS)
| pCharacter | [in] 文字列 |


|
static |
半角か判定(UTF8)
| pCharacter | [in] 文字列 |

|
static |
16進数文字列か判定
| string | [in] 文字列 |

|
static |
数字か判定
| character | [in] 文字 |

|
static |
符号あり整数文字列か判定
| string | [in] 文字列 |


| b32 GxString::isStartsWith | ( | GX_CSTR | string | ) | const |
指定された文字列で始まるか判定
| string | [in] 文字列 |

|
static |
符号なし整数文字列か判定
| string | [in] 文字列 |


|
static |
整数→文字列
| value | [in] 値 |
| string | [in] 文字列 |

|
static |
結合(長さ指定)
| dst | [in] コピー先 |
| src | [in] コピー元 |
| length | [in] 長さ |

|
static |
コピー(長さ指定)
| dst | [in] コピー先 |
| src | [in] コピー元 |
| length | [in] 長さ |

|
static |
比較(大文字、小文字の区別なし、長さ指定)
| string0 | [in] 文字列0 |
| string1 | [in] 文字列1 |
| length | [in] 長さ |
結合
| string | [in] 文字列 |

| GxString GxString::operator+ | ( | GX_CSTR | string | ) | const |
結合
| string | [in] 文字列 |

| void GxString::paddingLeft | ( | u32 | totalWidth, |
| GX_CHAR | paddingCharacter = ' ' ) |
文字列の先頭に指定のパディング文字を挿入する
| totalWidth | [in] 生成される文字列の文字数 |
| paddingCharacter | [in] パディング文字 |

| void GxString::paddingRight | ( | u32 | totalWidth, |
| GX_CHAR | paddingCharacter = ' ' ) |
文字列の終端に指定のパディング文字を挿入する
| totalWidth | [in] 生成される文字列の文字数 |
| paddingCharacter | [in] パディング文字 |

| void GxString::replace | ( | GX_CSTR | oldString, |
| GX_CSTR | newString ) |
文字列を置換する
文字列を置換
| oldString | [in] 変換前の文字列 |
| newString | [in] 変換後の文字列 |


| void GxString::replaceSjis | ( | GX_CSTR | oldString, |
| GX_CSTR | newString ) |
文字列を置換する (Sjis)
文字列を置換する (SJIS)
| oldString | [in] 変換前の文字列 |
| newString | [in] 変換後の文字列 |

| void GxString::replaceUtf8 | ( | GX_CSTR | oldString, |
| GX_CSTR | newString ) |
文字列を置換する (UTF8)
文字列を置換 (UTF8)
| oldString | [in] 変換前の文字列 |
| newString | [in] 変換後の文字列 |

|
protected |
文字列設定(プロパティ用)
| pValue | [in] 文字列 |
|
static |
SJIS→UTF-8.
| sjis | [in] SJIS文字列 |
| utf8 | [in] UTF8文字列 |


|
static |
非負整数→文字列
| value | [in] 値 |
| string | [in] 文字列 |


|
static |
非負整数→2進数文字列
| value | [in] 値 |
| string | [in] 文字列 |
| figure | [in] 桁数 |
|
static |
非負整数→16進数文字列
| value | [in] 値 |
| string | [in] 文字列 |
| figure | [in] 桁数 |
|
static |
UTF-8→SJIS.
| utf8 | [in] UTF8文字列 |
| sjis | [out] SJIS文字列(終端文字が入るので、確保サイズに注意する) |


|
static |
SJIS変換高速化テーブル