|
gwenhywfar 5.14.1
|
Go to the source code of this file.
Typedefs | |
| typedef struct GWEN_STRINGLISTSTRUCT | GWEN_STRINGLIST |
| typedef struct GWEN_STRINGLISTENTRYSTRUCT | GWEN_STRINGLISTENTRY |
Enumerations | |
| enum | GWEN_STRINGLIST_SORT_MODE { GWEN_StringList_SortModeNoCase =0 , GWEN_StringList_SortModeCase , GWEN_StringList_SortModeInt } |
| typedef struct GWEN_STRINGLISTSTRUCT GWEN_STRINGLIST |
Definition at line 56 of file stringlist.h.
| typedef struct GWEN_STRINGLISTENTRYSTRUCT GWEN_STRINGLISTENTRY |
Definition at line 53 of file stringlist.h.
Definition at line 41 of file stringlist.h.
| GWENHYWFAR_API void GWEN_StringList_AppendEntry | ( | GWEN_STRINGLIST * | sl, |
| GWEN_STRINGLISTENTRY * | se ) |
References GWENHYWFAR_API.
| GWENHYWFAR_API int GWEN_StringList_AppendString | ( | GWEN_STRINGLIST * | sl, |
| const char * | s, | ||
| int | take, | ||
| int | checkDouble ) |
Appends a string.
| take | if true then the StringList takes over ownership of the string |
| checkDouble | if true the the string will only be appended if it does not already exist |
References GWENHYWFAR_API.
| GWENHYWFAR_API void GWEN_StringList_AppendStringList | ( | GWEN_STRINGLIST * | slDest, |
| const GWEN_STRINGLIST * | slSource, | ||
| int | checkDouble ) |
Append duplicates of the entries in the source list to the destination list. The source list is not modified.
References GWENHYWFAR_API.
| GWENHYWFAR_API void GWEN_StringList_Clear | ( | GWEN_STRINGLIST * | sl | ) |
References GWENHYWFAR_API.
| GWENHYWFAR_API unsigned int GWEN_StringList_Count | ( | const GWEN_STRINGLIST * | sl | ) |
Returns the number of elements in this list.
| GWENHYWFAR_API GWEN_STRINGLIST * GWEN_StringList_dup | ( | const GWEN_STRINGLIST * | sl | ) |
| GWENHYWFAR_API GWEN_STRINGLISTENTRY * GWEN_StringList_FindStringEntry | ( | const GWEN_STRINGLIST * | sl, |
| const char * | s ) |
Returns the first stringlist entry which contains the given string
References GWENHYWFAR_API.
| GWENHYWFAR_API GWEN_STRINGLISTENTRY * GWEN_StringList_FirstEntry | ( | const GWEN_STRINGLIST * | sl | ) |
References GWENHYWFAR_API.
| GWENHYWFAR_API const char * GWEN_StringList_FirstString | ( | const GWEN_STRINGLIST * | l | ) |
Returns the first string in this list.
References GWENHYWFAR_API.
| GWENHYWFAR_API void * GWEN_StringList_ForEach | ( | const GWEN_STRINGLIST * | l, |
| void *(* | func )(const char *s, void *u), | ||
| void * | user_data ) |
Traverses the list, calling the callback function 'func' on each list element. Traversal will stop when 'func' returns a non-NULL value, and the routine will return with that value. Otherwise the routine will return NULL.
| l | The list to traverse. |
| func | The function to be called with each list element. |
| user_data | A pointer passed on to the function 'func'. |
References GWENHYWFAR_API.
| GWENHYWFAR_API void GWEN_StringList_free | ( | GWEN_STRINGLIST * | sl | ) |
References GWENHYWFAR_API.
| GWENHYWFAR_API GWEN_STRINGLIST * GWEN_StringList_fromString | ( | const char * | str, |
| const char * | delimiters, | ||
| int | checkDouble ) |
References GWENHYWFAR_API.
| GWENHYWFAR_API GWEN_STRINGLIST * GWEN_StringList_fromString2 | ( | const char * | str, |
| const char * | delimiters, | ||
| int | checkDouble, | ||
| uint32_t | flags ) |
Create a stringlist from a given complex string.
In addition to GWEN_StringList_fromString() this version allows to modify the behavior of the function by adding some flags (see GWEN_TEXT_FLAGS_CHECK_BACKSLASH and following). Typically used flags are:
| str | string to dissect |
| delimiters | word delimiters |
| checkDouble | if !=0 only add unique strings to the resulting list |
| flags | (see GWEN_TEXT_FLAGS_DEL_QUOTES and others) |
References GWENHYWFAR_API.
| GWENHYWFAR_API GWEN_STRINGLIST * GWEN_StringList_fromTabString | ( | const char * | s, |
| int | checkDup ) |
References GWENHYWFAR_API.
| GWENHYWFAR_API int GWEN_StringList_GetStringPos | ( | const GWEN_STRINGLIST * | sl, |
| const char * | s ) |
Returns the position of the given string within the stringlist.
References GWENHYWFAR_API.
| GWENHYWFAR_API int GWEN_StringList_HasString | ( | const GWEN_STRINGLIST * | sl, |
| const char * | s ) |
Checks whether the given string already exists within in the string list.
References GWENHYWFAR_API.
| GWENHYWFAR_API int GWEN_StringList_InsertString | ( | GWEN_STRINGLIST * | sl, |
| const char * | s, | ||
| int | take, | ||
| int | checkDouble ) |
Inserts a string.
| take | if true then the StringList takes over ownership of the string |
| checkDouble | if true the the string will only be appended if it does not already exist |
References GWENHYWFAR_API.
| GWENHYWFAR_API GWEN_STRINGLIST * GWEN_StringList_new | ( | void | ) |
References GWENHYWFAR_API.
| GWENHYWFAR_API void GWEN_StringList_RemoveCommonFirstEntries | ( | GWEN_STRINGLIST * | sl1, |
| GWEN_STRINGLIST * | sl2 ) |
Remove first equal entries from both lists.
If stringlist 1 contains "A", "B", "C", "D" and stringlist 2 contains "A", "B", "X" then after this function the lists are changed to this: stringlist 1 contains "C", "D" stringlist 2 contains "X"
| GWENHYWFAR_API void GWEN_StringList_RemoveEntry | ( | GWEN_STRINGLIST * | sl, |
| GWEN_STRINGLISTENTRY * | se ) |
References GWENHYWFAR_API.
| GWENHYWFAR_API void GWEN_StringList_RemoveFirstString | ( | GWEN_STRINGLIST * | sl | ) |
Removes the first string from the stringlist (if any).
References GWENHYWFAR_API.
| GWENHYWFAR_API int GWEN_StringList_RemoveString | ( | GWEN_STRINGLIST * | sl, |
| const char * | s ) |
Removes a given string from the stringlist.
References GWENHYWFAR_API.
| GWENHYWFAR_API void GWEN_StringList_SetIgnoreRefCount | ( | GWEN_STRINGLIST * | sl, |
| int | i ) |
Normally this group of functions ignores reference counters on stringlist entries when removing a string via GWEN_StringList_RemoveString. You can change this behaviour here.
| sl | string list |
| i | if 0 then reference counters are honoured |
| GWENHYWFAR_API void GWEN_StringList_SetSenseCase | ( | GWEN_STRINGLIST * | sl, |
| int | i ) |
Normally this group of functions ignores cases when comparing two strings. You can change this behaviour here.
| sl | string list |
| i | if 0 then cases are ignored |
References GWENHYWFAR_API.
| GWENHYWFAR_API void GWEN_StringList_Sort | ( | GWEN_STRINGLIST * | l, |
| int | ascending, | ||
| GWEN_STRINGLIST_SORT_MODE | sortMode ) |
Sorts this list. Internally this uses qsort(3), so the sorting should be reasonably fast even for large lists.
| l | The list to sort. |
| ascending | If non-zero, the list is sorted ascending, i.e. smallest string first, according to strcmp(3) rules. If zero, the list is sorted descending. |
| sortMode | See GWEN_StringList_SortModeNoCase and following |
References GWENHYWFAR_API.
| GWENHYWFAR_API int GWEN_StringList_StringAsIntAt | ( | const GWEN_STRINGLIST * | l, |
| int | idx, | ||
| int | defaultValue ) |
References GWENHYWFAR_API.
| GWENHYWFAR_API const char * GWEN_StringList_StringAt | ( | const GWEN_STRINGLIST * | l, |
| int | idx ) |
References GWENHYWFAR_API.
| GWENHYWFAR_API int GWEN_StringList_toBuffer | ( | const GWEN_STRINGLIST * | sl, |
| const char * | delimiter, | ||
| GWEN_BUFFER * | outBuffer ) |
References GWENHYWFAR_API.
| GWENHYWFAR_API const char * GWEN_StringListEntry_Data | ( | const GWEN_STRINGLISTENTRY * | se | ) |
References GWENHYWFAR_API.
| GWENHYWFAR_API void GWEN_StringListEntry_free | ( | GWEN_STRINGLISTENTRY * | sl | ) |
References GWENHYWFAR_API.
| GWENHYWFAR_API GWEN_STRINGLISTENTRY * GWEN_StringListEntry_new | ( | const char * | s, |
| int | take ) |
References GWENHYWFAR_API.
| GWENHYWFAR_API GWEN_STRINGLISTENTRY * GWEN_StringListEntry_Next | ( | const GWEN_STRINGLISTENTRY * | se | ) |
References GWENHYWFAR_API.
| GWENHYWFAR_API void GWEN_StringListEntry_ReplaceString | ( | GWEN_STRINGLISTENTRY * | e, |
| const char * | s, | ||
| int | take ) |
References GWENHYWFAR_API.
| GWENHYWFAR_API void GWEN_StringListEntry_SetData | ( | GWEN_STRINGLISTENTRY * | se, |
| const char * | s ) |
References GWENHYWFAR_API.