76 lines
3.0 KiB
C
76 lines
3.0 KiB
C
#pragma once
|
|
#include "gryphn_bool.h"
|
|
|
|
typedef char gnChar;
|
|
typedef struct gnString_t* gnString;
|
|
|
|
gnString gnCreateStringFromConstCharPtr(const gnChar* input);
|
|
gnString gnCreateStringFromCharPtr(gnChar* input);
|
|
gnString gnCreateStringFromChar(gnChar input);
|
|
gnString gnCreateEmptyString(void);
|
|
#define gnCreateString(input) _Generic((input), \
|
|
const gnChar*: gnCreateStringFromConstCharPtr, \
|
|
gnChar*: gnCreateStringFromCharPtr, \
|
|
gnChar: gnCreateStringFromChar \
|
|
)(input)
|
|
|
|
const char* gnToCString(const gnString string);
|
|
int gnStringLength(const gnString string);
|
|
gnString gnSubstring(const gnString string, int index1, int index2);
|
|
int gnLetterCount(const gnString string, const gnChar letter);
|
|
|
|
int gnStringFindChar(gnString string, const gnChar letter);
|
|
int gnStringFindString(gnString string, const gnString value);
|
|
#define gnStringFind(string, value) _Generic((value), \
|
|
const gnChar: gnStringFindChar, \
|
|
const gnString: gnStringFindValue \
|
|
)(string, value)
|
|
|
|
void gnAddCharToString(gnString string, gnChar val);
|
|
void gnAddCharPtrToString(gnString string, gnChar* val);
|
|
void gnAddConstCharPtrToString(gnString string, const gnChar* val);
|
|
void gnAddContGnStringToString(gnString string, gnString val);
|
|
#define gnAddToString(string, value) _Generic((value), \
|
|
gnChar: gnAddCharToString, \
|
|
int: gnAddCharToString, \
|
|
gnChar*: gnAddCharPtrToString, \
|
|
const gnChar*: gnAddConstCharPtrToString, \
|
|
gnString: gnAddContGnStringToString \
|
|
)(string, value)
|
|
|
|
gnString gnCombineStringsChar(const gnString string, gnChar val);
|
|
gnString gnCombineStringsCharPtr(const gnString string, gnChar* val);
|
|
gnString gnCombineStringsConstCharPtr(const gnString string, const gnChar* val);
|
|
gnString gnCombineStringsString(const gnString string, const gnString val);
|
|
#define gnCombineStrings(string, value) _Generic((value), \
|
|
gnChar: gnCombineStringsChar, \
|
|
int: gnCombineStringsChar, \
|
|
gnChar*: gnCombineStringsCharPtr, \
|
|
const gnChar*: gnCombineStringsConstCharPtr, \
|
|
gnString: gnCombineStringsString \
|
|
)(string, value)
|
|
|
|
gnBool gnStringEqualsCharPtr(const gnString string, gnChar* val);
|
|
gnBool gnStringEqualsConstCharPtr(const gnString string,const gnChar* val);
|
|
gnBool gnStringEqualsString(const gnString string, const gnString val);
|
|
#define gnStringEquals(string, value) _Generic((value), \
|
|
gnChar*: gnStringEqualsCharPtr, \
|
|
const gnChar*: gnStringEqualsConstCharPtr, \
|
|
gnString: gnStringEqualsString \
|
|
)(string, value)
|
|
|
|
gnChar gnGetCharAt(const gnString string, int index);
|
|
void gnSetCharAt(gnString string, int index, gnChar letter);
|
|
|
|
void gnSetStringToChar(gnString string, gnChar input);
|
|
void gnSetStringToCharPtr(gnString string, gnChar* input);
|
|
void gnSetStringToConstCharPtr(gnString string, const gnChar* input);
|
|
void gnSetStringToString(gnString string, const gnString input);
|
|
#define gnSetString(string, value) _Generic((value), \
|
|
gnChar: gnSetStringToChar, \
|
|
int: gnSetStringToChar, \
|
|
gnChar*: gnSetStringToCharPtr, \
|
|
const gnChar*: gnSetStringToConstCharPtr, \
|
|
gnString: gnSetStringToString \
|
|
)(string, value)
|