2020-09-08 21:37:30 -05:00
|
|
|
#ifndef STORM_STRING_HPP
|
|
|
|
|
#define STORM_STRING_HPP
|
|
|
|
|
|
2025-08-31 17:00:56 -07:00
|
|
|
#include <cstdarg>
|
2020-11-14 17:18:49 -06:00
|
|
|
#include <cstdint>
|
2020-09-08 21:37:30 -05:00
|
|
|
#include <cstdlib>
|
|
|
|
|
|
2020-11-14 17:47:10 -06:00
|
|
|
#define STORM_MAX_PATH 260
|
|
|
|
|
#define STORM_MAX_STR 0x7FFFFFFF
|
|
|
|
|
|
2025-08-31 22:14:28 -07:00
|
|
|
#define SSTR_HASH_CASESENSITIVE 1
|
|
|
|
|
|
2023-01-19 00:36:07 -05:00
|
|
|
char* SStrChr(char* string, char search);
|
|
|
|
|
|
2020-11-21 12:11:01 -06:00
|
|
|
const char* SStrChr(const char* string, char search);
|
|
|
|
|
|
2023-01-19 00:36:07 -05:00
|
|
|
char* SStrChrR(char* string, char search);
|
|
|
|
|
|
2020-11-21 12:49:47 -06:00
|
|
|
const char* SStrChrR(const char* string, char search);
|
|
|
|
|
|
2025-08-31 10:57:47 -07:00
|
|
|
int32_t SStrCmp(const char* string1, const char* string2, size_t maxchars = STORM_MAX_STR);
|
2020-11-14 17:58:34 -06:00
|
|
|
|
2025-08-31 10:57:47 -07:00
|
|
|
int32_t SStrCmpI(const char* string1, const char* string2, size_t maxchars = STORM_MAX_STR);
|
2020-11-15 12:47:41 -06:00
|
|
|
|
2025-08-31 10:57:47 -07:00
|
|
|
size_t SStrCopy(char* dest, const char* source, size_t destsize = STORM_MAX_STR);
|
2020-09-08 21:37:30 -05:00
|
|
|
|
2020-11-15 13:09:14 -06:00
|
|
|
char* SStrDupA(const char* string, const char* filename, uint32_t linenumber);
|
|
|
|
|
|
2025-08-31 22:14:28 -07:00
|
|
|
uint32_t SStrHash(const char* string, uint32_t flags = 0, uint32_t seed = 0);
|
|
|
|
|
|
2020-11-14 17:18:49 -06:00
|
|
|
uint32_t SStrHashHT(const char* string);
|
|
|
|
|
|
2020-11-15 12:57:32 -06:00
|
|
|
size_t SStrLen(const char* string);
|
|
|
|
|
|
2020-11-16 18:41:53 -06:00
|
|
|
void SStrLower(char* string);
|
|
|
|
|
|
2020-11-21 15:03:44 -06:00
|
|
|
uint32_t SStrPack(char* dest, const char* source, uint32_t destsize);
|
|
|
|
|
|
2020-11-21 21:02:01 -06:00
|
|
|
size_t SStrPrintf(char* dest, size_t maxchars, const char* format, ...);
|
|
|
|
|
|
2025-08-31 17:00:56 -07:00
|
|
|
size_t SStrVPrintf(char* dest, size_t maxchars, const char* format, va_list arglist);
|
|
|
|
|
|
2025-08-31 17:13:10 -07:00
|
|
|
char* SStrStr(char* string, const char* search);
|
|
|
|
|
|
2020-11-16 17:44:08 -06:00
|
|
|
const char* SStrStr(const char* string, const char* search);
|
|
|
|
|
|
2025-08-31 17:17:50 -07:00
|
|
|
char* SStrStrI(char* string, const char* search);
|
|
|
|
|
|
|
|
|
|
const char* SStrStrI(const char* string, const char* search);
|
|
|
|
|
|
2020-11-21 20:44:37 -06:00
|
|
|
void SStrTokenize(const char** string, char* buffer, size_t bufferchars, const char* whitespace, int32_t* quoted);
|
|
|
|
|
|
2025-08-31 16:40:16 -07:00
|
|
|
double SStrToDouble(const char* string);
|
|
|
|
|
|
2020-11-21 14:05:13 -06:00
|
|
|
float SStrToFloat(const char* string);
|
|
|
|
|
|
2020-11-21 13:14:15 -06:00
|
|
|
int32_t SStrToInt(const char* string);
|
|
|
|
|
|
2025-08-31 16:28:04 -07:00
|
|
|
uint32_t SStrToUnsigned(const char* string);
|
|
|
|
|
|
2021-02-13 18:51:47 -06:00
|
|
|
void SStrUpper(char* string);
|
|
|
|
|
|
2020-09-08 21:37:30 -05:00
|
|
|
#endif
|