Herb C Reference
Loading...
Searching...
No Matches
buffer.h
Go to the documentation of this file.
1#ifndef HERB_BUFFER_H
2#define HERB_BUFFER_H
3
4#include <stdbool.h>
5#include <stdlib.h>
6
7typedef struct BUFFER_STRUCT {
8 char* value;
9 size_t length;
10 size_t capacity;
12
13bool buffer_init(buffer_T* buffer);
15
16bool buffer_increase_capacity(buffer_T* buffer, size_t required_length);
17bool buffer_reserve(buffer_T* buffer, size_t min_capacity);
18
19void buffer_append(buffer_T* buffer, const char* text);
20void buffer_append_with_length(buffer_T* buffer, const char* text, size_t length);
21void buffer_append_char(buffer_T* buffer, char character);
22void buffer_append_repeated(buffer_T* buffer, char character, size_t length);
23void buffer_append_whitespace(buffer_T* buffer, size_t length);
24void buffer_prepend(buffer_T* buffer, const char* text);
25void buffer_concat(buffer_T* destination, buffer_T* source);
26
27char* buffer_value(const buffer_T* buffer);
28
29size_t buffer_length(const buffer_T* buffer);
30size_t buffer_capacity(const buffer_T* buffer);
31size_t buffer_sizeof(void);
32
33void buffer_clear(buffer_T* buffer);
34void buffer_free(buffer_T* buffer);
35
36#endif
size_t buffer_length(const buffer_T *buffer)
Definition buffer.c:35
size_t buffer_sizeof(void)
Definition buffer.c:43
size_t buffer_capacity(const buffer_T *buffer)
Definition buffer.c:39
void buffer_append_whitespace(buffer_T *buffer, size_t length)
Definition buffer.c:154
bool buffer_init(buffer_T *buffer)
Definition buffer.c:10
struct BUFFER_STRUCT buffer_T
void buffer_concat(buffer_T *destination, buffer_T *source)
Definition buffer.c:172
void buffer_clear(buffer_T *buffer)
Definition buffer.c:187
void buffer_append_repeated(buffer_T *buffer, char character, size_t length)
Definition buffer.c:140
buffer_T buffer_new(void)
Definition buffer.c:25
void buffer_free(buffer_T *buffer)
Definition buffer.c:192
void buffer_append(buffer_T *buffer, const char *text)
Appends a null-terminated string to the buffer.
Definition buffer.c:96
char * buffer_value(const buffer_T *buffer)
Definition buffer.c:31
void buffer_prepend(buffer_T *buffer, const char *text)
Definition buffer.c:158
void buffer_append_with_length(buffer_T *buffer, const char *text, size_t length)
Appends a string of specified length to the buffer.
Definition buffer.c:121
bool buffer_reserve(buffer_T *buffer, size_t min_capacity)
Definition buffer.c:181
void buffer_append_char(buffer_T *buffer, char character)
Definition buffer.c:131
bool buffer_increase_capacity(buffer_T *buffer, size_t required_length)
Increases the capacity of the buffer if needed to accommodate additional content.
Definition buffer.c:57
Definition buffer.h:7
size_t length
Definition buffer.h:9
size_t capacity
Definition buffer.h:10
char * value
Definition buffer.h:8