Add symbol and structure support
[fur] / c / rope.h
1 #ifndef ROPE_H
2 #define ROPE H
3
4 struct Rope;
5 typedef struct Rope Rope;
6
7 enum Encoding {
8   ASCII,
9   UTF_8,
10   UTF_16,
11   UTF_32
12 };
13
14 typedef enum Encoding Encoding;
15
16 Rope* Rope_rereference(Rope*);
17 void Rope_destruct(Rope*);
18
19 void Rope_write(Rope*, Encoding, FILE);
20 Rope* Rope_read(Encoding, FILE);
21
22 Rope* Rope_concatenate(Rope* r0, Rope* r1);
23
24 size_t Rope_length(Rope*) __attribute__((pure));
25
26 #endif