#include #include "slice.h" struct slice slice(struct slice a, size_t i, size_t j) { assert(i <= a.size && j <= a.size && i <= j); return (struct slice) { .size = j - i, .buf = a.buf + i }; } struct slice slice1(struct slice a, size_t i) { return slice(a, i, a.size); } struct val_slice val_slice(struct val_slice a, size_t i, size_t j) { assert(i <= a.size && j <= a.size && i <= j); return (struct val_slice) { .size = j - i, .buf = a.buf + i }; } struct val_slice val_slice1(struct val_slice a, size_t i) { return val_slice(a, i, a.size); }