Grassroots Infrastructure
The Grassroots Infrastructure is a suite of computing tools to help users and developers use scientific data infrastructure that can easily be interconnected.
|
Go to the documentation of this file.
26 #ifndef STRING_LINKED_LIST_H
27 #define STRING_LINKED_LIST_H
MEM_FLAG
An enum specifying the particular status of a piece of dynamically allocated memory for a particular ...
Definition: memory_allocations.h:38
bool AddStringToStringLinkedList(LinkedList *list_p, const char *const str_p, const MEM_FLAG mem_flag)
Create and add a new StringListNode to the tail of a LinkedList.
char * sln_string_s
The string value.
Definition: string_linked_list.h:55
bool InitStringListNode(StringListNode *node_p, const char *const value_s, const MEM_FLAG mem_flag)
Initialise a StringListNode.
StringListNode * AllocateStringListNode(const char *const str_p, const MEM_FLAG mem_flag)
Create a new StringListNode.
void ClearStringListNode(StringListNode *node_p)
Clear a StringListNode by deleting its sln_string_s value as appropriate.
A doubly-linked list that can be traversed in either direction.
Definition: linked_list.h:56
ListItem sln_node
The ListNode.
Definition: string_linked_list.h:52
A ListNode for LinkedLists that also stores a string value.
Definition: string_linked_list.h:49
char * GetStringLinkedListAsString(const LinkedList *const src_p)
Get a new string that is the concatenation of all of the entries on a StringLinkedList.
MEM_FLAG sln_string_flag
How the memory for the string is stored and freed.
Definition: string_linked_list.h:58
LinkedList * AllocateStringLinkedList(void)
Create a LinkedList designed to hold StringListNodes.
LinkedList * CopyStringLinkedList(const LinkedList *const src_p)
Make a copy of a LinkedList of StringListNodes.
char * DetachStringFromStringListNode(StringListNode *node_p)
void FreeStringListNode(ListItem *const node_p)
Free a StringListNode.
#define GRASSROOTS_UTIL_API
Definition: grassroots_util_library.h:47
A doubly-linked node that points to its predecessor and successor.
Definition: linked_list.h:43