13GX_CORE_NAMESPACE_BEGIN()
31 static const u32 RESOURCE_VERSION;
33 static constexpr u32 BLOCK_SIZE = 4;
59#if GX_BITFIELD_LITTLEENDIAN
84 void cleanup(
void)
override;
93 void createCallback(
void* pUser);
102 u32 findColumnString(u32 row, GX_CSTR
string)
const;
104 u32 findColumnU64(u32 row, u64 value)
const;
106 u32 findColumnU32(u32 row, u32 value)
const;
108 u32 findColumnS32(u32 row, s32 value)
const;
110 u32 findColumnF32(u32 row, f32 value)
const;
113 u32 findRowString(u32 column, GX_CSTR
string)
const;
115 u32 findRowU64(u32 column, u64 value)
const;
117 u32 findRowU32(u32 column, u32 value)
const;
119 u32 findRowS32(u32 column, s32 value)
const;
121 u32 findRowF32(u32 column, f32 value)
const;
134 constexpr u32
getIndex(u32 column, u32 row)
const {
return row * _column + column; }
140 GX_FORCE_INLINE
b32 isSjis(
void)
const {
return _isSjis; }
143 virtual CELL_DATA_TYPE getDataType(u32 column, u32 row)
const;
145 virtual u32 getDataSize(u32 column, u32 row)
const;
147 virtual GX_CSTR getString(u32 column, u32 row)
const;
149 virtual u64 getValueU64(u32 column, u32 row)
const;
151 virtual u32 getValueU32(u32 column, u32 row)
const;
153 virtual s32 getValueS32(u32 column, u32 row)
const;
155 virtual f32 getValueF32(u32 column, u32 row)
const;
157 virtual b32 isExistValue(u32 column, u32 row)
const;
159 virtual void covertStringToPlatformEncoding(GX_STR dst, u32 column, u32 row);
163 const GxCellSheetOffset* getOffsetInformation(u32 column, u32 row)
const;
207 GX_RTTI_STRUCT(GxCellData)
212 static GX_CSTR ZERO_STRING;
224 void setCellString(GX_CSTR
string,
b32 isString =
false);
245 GxResCellSheetCsv(
void);
265 CELL_DATA_TYPE analyseCellDataType(
const GxCellData& cellData)
const;
267 u32 getCellDataBinarySize(
const GxCellData& cellData, CELL_DATA_TYPE cellDataType)
const;
269 void copyCellDataBinary(
void* pDst,
const GxCellData& cellData, CELL_DATA_TYPE cellDataType)
const;
272 static b32 isCommentData(GX_CSTR
string);
274 static b32 isLargeIntegerData(GX_CSTR
string);
276 static b32 isIntegerData(GX_CSTR
string);
278 static b32 isFloatData(GX_CSTR
string);
280 static b32 isHexadecimalData(GX_CSTR
string);
282 static b32 isReturnCode(GX_CSTR
string, u32& codeSize);
284 static void setReturnCode(GX_STR dst);
287 static b32 isEnterQuot(GX_CSTR sstringtr, u32& codeSize);
293 GxCellData* getCellData(u32 column, u32 row);
295 const GxCellData* getCellData(u32 column, u32 row)
const;
297 GxCellData* getCellData(u32 index);
299 const GxCellData* getCellData(u32 index)
const;
308 void setCellSize(u32 column, u32 row);
311 CELL_DATA_TYPE
getDataType(u32 column, u32 row)
const override;
313 u32
getDataSize(u32 column, u32 row)
const override;
315 GX_CSTR
getString(u32 column, u32 row)
const override;
317 u64
getValueU64(u32 column, u32 row)
const override;
319 u32
getValueU32(u32 column, u32 row)
const override;
321 f32
getValueF32(u32 column, u32 row)
const override;
324 void setString(u32 column, u32 row, GX_CSTR
string);
326 void setValueU32(u32 column, u32 row, u32 value);
328 void setValueU64(u32 column, u32 row, u64 value);
330 void setValueF32(u32 column, u32 row, f32 value);
336 void setSjis(
b32 sjis) { _isSjis = sjis; }
344 GxCellData* _pCellData;
350GX_CORE_NAMESPACE_END()
#define GX_PROHIBIT_CLASS_BASE_REFERENCE(__CLASS__)
GxClassBaseReference継承の禁止宣言(new以外の生成禁止 + コピー禁止)
Definition GxBase.h:244
#define GX_RTTI_RESOURCE(__THIS__, __BASE__)
リソースクラス型情報宣言
Definition GxRttiResource.h:102
リソース基底クラス
Definition GxResBase.h:23
セルシートリソースクラス
Definition GxResCellSheet.h:19
void * _pFinalizedData
ファイナライズデータバッファ
Definition GxResCellSheet.h:171
GX_FORCE_INLINE b32 isSjis(void) const
sjis を使用する (デフォルトは sjis)
Definition GxResCellSheet.h:140
virtual u32 getValueU32(u32 column, u32 row) const
整数取得 (u32)
Definition GxResCellSheet.cpp:575
constexpr u32 getNumRow(void) const
行(縦)の数取得
Definition GxResCellSheet.h:132
virtual f32 getValueF32(u32 column, u32 row) const
小数取得
Definition GxResCellSheet.cpp:625
virtual CELL_DATA_TYPE getDataType(u32 column, u32 row) const
セル値タイプ取得
Definition GxResCellSheet.cpp:447
virtual u32 getDataSize(u32 column, u32 row) const
セルデータサイズ取得
Definition GxResCellSheet.cpp:469
u32 _column
列(横)の数
Definition GxResCellSheet.h:173
u32 _finalizedDataSize
ファイナライズデータサイズ
Definition GxResCellSheet.h:172
b32 _isSjis
sjis 使用フラグ
Definition GxResCellSheet.h:176
CELL_DATA_TYPE
データタイプ (※追加の場合は _type のビット数に注意)
Definition GxResCellSheet.h:37
constexpr u32 getIndexMax(void) const
インデックス最大値取得
Definition GxResCellSheet.h:136
constexpr u32 getNumColumn(void) const
列(横)の数取得
Definition GxResCellSheet.h:130
virtual b32 isExistValue(u32 column, u32 row) const
セル値存在チェック
Definition GxResCellSheet.cpp:664
u32 _row
行(縦)の数
Definition GxResCellSheet.h:174
virtual u64 getValueU64(u32 column, u32 row) const
整数取得 (u64)
Definition GxResCellSheet.cpp:536
void cleanup(void) override
解放
Definition GxResCellSheet.cpp:56
b32 load(GxStream &stream, u32 dataSize)
リソース読み込み
Definition GxResCellSheet.cpp:85
GX_FORCE_INLINE b32 isUseSpace(void) const
半角スペース使用判定
Definition GxResCellSheet.h:138
constexpr u32 getIndex(u32 column, u32 row) const
インデックス取得
Definition GxResCellSheet.h:134
virtual GX_CSTR getString(u32 column, u32 row) const
文字列取得
Definition GxResCellSheet.cpp:491
b32 _isUseSpace
半角スペース使用フラグ
Definition GxResCellSheet.h:175
ストリーム基礎クラス
Definition GxStream.h:20
生成時情報
Definition GxResCellSheet.h:70
b32 _isUseSpace
半角スペース使用判定
Definition GxResCellSheet.h:71
バイナリオフセット情報
Definition GxResCellSheet.h:57
CELL_DATA_TYPE _type
タイプ
Definition GxResCellSheet.h:63
u32 _offset
オフセット位置
Definition GxResCellSheet.h:58
u32 _block
データブロックサイズ
Definition GxResCellSheet.h:64
文字列型クラス
Definition GxString.h:18
32bitブーリアン
Definition GxDefine.h:173