summaryrefslogtreecommitdiff
path: root/array.h
blob: bef87b89ef5f8ebf72d527bb5946a7ef7cc4f7d4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#ifndef __SAFEC_ARRAY_H
#define __SAFEC_ARRAY_H
#include "types.h"

typedef struct {
    size_t length;
    size_t elemsz;
    void* __data;
} array_t;

void* array_at(const array_t* array, size_t idx);
array_t array_slice(const array_t* array, size_t start, size_t length);

array_t array_heap_alloc(size_t length, size_t elemsz);
void array_heap_destroy(array_t array);

#endif