28
29 typedef struct str_s {
30 char *str_s;
31 sysdem_ops_t *str_ops;
32 size_t str_len;
33 size_t str_size;
34 } str_t;
35
36 typedef struct str_pair_s {
37 str_t strp_l;
38 str_t strp_r;
39 } str_pair_t;
40
41 void str_init(str_t *restrict, sysdem_ops_t *);
42 void str_fini(str_t *);
43 size_t str_length(const str_t *);
44 boolean_t str_copy(const str_t *, str_t *);
45 void str_set(str_t *, const char *, size_t);
46 boolean_t str_append(str_t *, const char *, size_t);
47 boolean_t str_append_str(str_t *, const str_t *);
48 boolean_t str_append_c(str_t *, int);
49 boolean_t str_insert(str_t *, size_t, const char *, size_t);
50 boolean_t str_insert_str(str_t *, size_t, const str_t *);
51 boolean_t str_erase(str_t *, size_t, size_t);
52
53 str_pair_t *str_pair_init(str_pair_t *, sysdem_ops_t *);
54 void str_pair_fini(str_pair_t *);
55 boolean_t str_pair_merge(str_pair_t *);
56 boolean_t str_pair_copy(const str_pair_t *, str_pair_t *);
57 size_t str_pair_len(const str_pair_t *);
58
59 #ifdef __cplusplus
60 }
61 #endif
62
63 #endif /* _STR_H */
|
28
29 typedef struct str_s {
30 char *str_s;
31 sysdem_ops_t *str_ops;
32 size_t str_len;
33 size_t str_size;
34 } str_t;
35
36 typedef struct str_pair_s {
37 str_t strp_l;
38 str_t strp_r;
39 } str_pair_t;
40
41 void str_init(str_t *restrict, sysdem_ops_t *);
42 void str_fini(str_t *);
43 size_t str_length(const str_t *);
44 boolean_t str_copy(const str_t *, str_t *);
45 void str_set(str_t *, const char *, size_t);
46 boolean_t str_append(str_t *, const char *, size_t);
47 boolean_t str_append_str(str_t *, const str_t *);
48 boolean_t str_append_c(str_t *, char);
49 boolean_t str_insert(str_t *, size_t, const char *, size_t);
50 boolean_t str_insert_str(str_t *, size_t, const str_t *);
51 boolean_t str_erase(str_t *, size_t, size_t);
52
53 str_pair_t *str_pair_init(str_pair_t *, sysdem_ops_t *);
54 void str_pair_fini(str_pair_t *);
55 boolean_t str_pair_merge(str_pair_t *);
56 boolean_t str_pair_copy(const str_pair_t *, str_pair_t *);
57 size_t str_pair_len(const str_pair_t *);
58
59 #ifdef __cplusplus
60 }
61 #endif
62
63 #endif /* _STR_H */
|