All checks were successful
Build documentation / build-and-deploy (push) Successful in 2m8s
32 lines
657 B
C
32 lines
657 B
C
#ifndef _GAPBUFFER_H
|
|
#define _GAPBUFFER_H
|
|
|
|
#include <stddef.h>
|
|
|
|
struct gapbuffer {
|
|
char* buffer;
|
|
size_t size;
|
|
size_t gap_start;
|
|
size_t gap_end;
|
|
};
|
|
|
|
void gapbuffer_init (struct gapbuffer* gb, size_t capacity);
|
|
|
|
void gapbuffer_fini (struct gapbuffer* gb);
|
|
|
|
void gapbuffer_move (struct gapbuffer* gb, size_t pos);
|
|
|
|
void gapbuffer_insert (struct gapbuffer* gb, char c);
|
|
|
|
void gapbuffer_backspace (struct gapbuffer* gb);
|
|
|
|
void gapbuffer_grow (struct gapbuffer* gb);
|
|
|
|
char* gapbuffer_get_string (struct gapbuffer* gb);
|
|
|
|
size_t gapbuffer_length (struct gapbuffer* gb);
|
|
|
|
char* gapbuffer_string_at (struct gapbuffer* gb, size_t pos);
|
|
|
|
#endif // _GAPBUFFER_H
|