blob: 0739a4a91453f8ea1bd3331e0410a3c951cb185c (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
#include <assert.h>
#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);
}
|