Mercurial > repo
view src/ploki/kork.h @ 6707:2dd82f6f2ed9
<zgrep> ` echo \'if not o.path.isfile(a):print u.check_output(["?",a]),;exit()\' >> bin/tomfoolery
author | HackBot |
---|---|
date | Wed, 10 Feb 2016 02:56:49 +0000 |
parents | ac0403686959 |
children |
line wrap: on
line source
#ifndef KORK_H_ #define KORK_H_ #include "config.h" #include "IO.h" #include "Str.h" #include <stddef.h> struct ko_dolphin { String str; size_t refs; }; struct kork { struct ko_dolphin *kdp; size_t offset, length; }; struct kork *ko_new(void); struct kork *ko_dup(const struct kork *); void ko_decouple(struct kork *); void ko_delete(struct kork *); ATTR_PURE size_t ko_length(const struct kork *); ATTR_PURE int ko_at(const struct kork *, size_t); ATTR_PURE int ko_lastchar(const struct kork *); ATTR_PURE int ko_cmp(const struct kork *, const struct kork *); void ko_zero(struct kork *); ATTR_PURE const char *ko_ptr(const struct kork *); const String *ko_str(struct kork *); const char *ko_szp(struct kork *); void ko_grep(struct kork *, int (*)(int)); void ko_shift(struct kork *, size_t); void ko_num(struct kork *k, double); void ko_cpy_m(struct kork *, const void *, size_t); void ko_cpy(struct kork *, const struct kork *); void ko_cpy_s(struct kork *, const char *); void ko_cpy_c(struct kork *, char); void ko_cat_m(struct kork *, const void *, size_t); void ko_cat(struct kork *, const struct kork *); void ko_cat_c(struct kork *, char); void ko_reverse(struct kork *); size_t ko_getline(IO *, struct kork *); size_t ko_read(IO *, struct kork *, size_t); void ko_lower(struct kork *); void ko_upper(struct kork *); ATTR_PURE size_t ko_chr(const struct kork *, int); void ko_shiftws(struct kork *); void ko_trunc(struct kork *, size_t); #define ko_length(k) ((k)->length + 0u) #define ko_zero(k) ((void)((k)->length = 0u)) #endif /* KORK_H_ */