libstd v0.1.0
Loading...
Searching...
No Matches
base_string.h
Go to the documentation of this file.
1#ifndef BASE_STRING_H_
2#define BASE_STRING_H_
3
4#include <stddef.h>
5
9typedef struct {
10 char* data;
11 size_t size;
13 size_t
15} string;
16
26string* string_create(const char* initial);
27
33void string_destroy(string* str);
34
42size_t string_length(const string* str);
43
50size_t string_capacity(const string* str);
51
58void string_concat(string* str, const char* suffix);
59
68int string_compare(const string* str_1, const string* str_2);
69
76void string_clear(string* str);
77
86char* string_to_c(const string* str);
87
94void string_reserve(string* str, size_t new_capacity);
95
102void string_set(string* str, const char* new_value);
103
111int string_contains(const string* str, const char* substring);
112
125string** string_split(const string* str, const char* delimiter,
126 size_t* num_tokens);
127
135void string_replace(string* str, const char* old_substring,
136 const char* new_substring);
137
138#endif // BASE_STRING_H_
void string_set(string *str, const char *new_value)
Overwrites the current content of the string with a new value.
Definition base_string.c:85
char * string_to_c(const string *str)
Returns a pointer to the internal C-style null-terminated string.
Definition base_string.c:69
void string_replace(string *str, const char *old_substring, const char *new_substring)
Replaces all occurrences of a target substring with a new substring.
Definition base_string.c:154
void string_destroy(string *str)
Destroys a string instance and frees its allocated memory.
Definition base_string.c:27
string ** string_split(const string *str, const char *delimiter, size_t *num_tokens)
Splits the string into an array of tokens using a specified delimiter.
Definition base_string.c:107
size_t string_length(const string *str)
Retrieves the current length of the string.
Definition base_string.c:34
size_t string_capacity(const string *str)
Retrieves the current capacity of the string buffer.
Definition base_string.c:36
int string_contains(const string *str, const char *substring)
Checks if the string contains a specific substring.
Definition base_string.c:99
void string_reserve(string *str, size_t new_capacity)
Ensures that the string buffer has at least the specified capacity.
Definition base_string.c:71
int string_compare(const string *str_1, const string *str_2)
Lexicographically compares two string instances.
Definition base_string.c:54
void string_concat(string *str, const char *suffix)
Appends a C-string to the end of the existing string.
Definition base_string.c:38
void string_clear(string *str)
Clears the contents of the string, resetting its size to 0 without reallocating memory.
Definition base_string.c:62
string * string_create(const char *initial)
Creates and initializes a new string instance.
Definition base_string.c:7
Structure representing a dynamic string with capacity tracking.
Definition base_string.h:9
size_t capacity
Definition base_string.h:14
char * data
Definition base_string.h:10
size_t size
Definition base_string.h:11