文字列型クラス 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 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変換高速化テーブル