Libecoli
0.11.5
Extensible COmmand LIne library
Toggle main menu visibility
Loading...
Searching...
No Matches
vec.h
1
/* SPDX-License-Identifier: BSD-3-Clause
2
* Copyright 2016, Olivier MATZ <zer0@droids-corp.org>
3
*/
4
14
15
#pragma once
16
17
#include <stdint.h>
18
#include <sys/types.h>
19
25
typedef
void (*
ec_vec_elt_free_t
)(
void
*ptr);
26
32
typedef
void (*
ec_vec_elt_copy_t
)(
void
*dst,
void
*src);
33
35
struct
ec_vec
*
ec_vec
(
size_t
elt_size,
size_t
size,
ec_vec_elt_copy_t
copy,
ec_vec_elt_free_t
free);
36
38
int
ec_vec_add_by_ref
(
struct
ec_vec
*vec,
void
*ptr);
39
41
int
ec_vec_add_ptr
(
struct
ec_vec
*vec,
void
*elt);
42
44
int
ec_vec_add_u8
(
struct
ec_vec
*vec, uint8_t elt);
46
int
ec_vec_add_u16
(
struct
ec_vec
*vec, uint16_t elt);
48
int
ec_vec_add_u32
(
struct
ec_vec
*vec, uint32_t elt);
50
int
ec_vec_add_u64
(
struct
ec_vec
*vec, uint64_t elt);
51
53
int
ec_vec_get
(
void
*ptr,
const
struct
ec_vec
*vec,
size_t
idx);
54
56
struct
ec_vec
*
ec_vec_dup
(
const
struct
ec_vec
*vec);
58
struct
ec_vec
*
ec_vec_ndup
(
const
struct
ec_vec
*vec,
size_t
off,
size_t
len);
60
void
ec_vec_free
(
struct
ec_vec
*vec);
61
63
__attribute__((pure))
size_t
ec_vec_len(
const
struct
ec_vec
*vec);
64
ec_vec_add_by_ref
int ec_vec_add_by_ref(struct ec_vec *vec, void *ptr)
ec_vec_free
void ec_vec_free(struct ec_vec *vec)
ec_vec_add_u16
int ec_vec_add_u16(struct ec_vec *vec, uint16_t elt)
ec_vec_elt_copy_t
void(* ec_vec_elt_copy_t)(void *dst, void *src)
Definition
vec.h:32
ec_vec_add_u32
int ec_vec_add_u32(struct ec_vec *vec, uint32_t elt)
ec_vec_add_u8
int ec_vec_add_u8(struct ec_vec *vec, uint8_t elt)
ec_vec_add_u64
int ec_vec_add_u64(struct ec_vec *vec, uint64_t elt)
ec_vec_get
int ec_vec_get(void *ptr, const struct ec_vec *vec, size_t idx)
ec_vec_elt_free_t
void(* ec_vec_elt_free_t)(void *ptr)
Definition
vec.h:25
ec_vec_dup
struct ec_vec * ec_vec_dup(const struct ec_vec *vec)
ec_vec_ndup
struct ec_vec * ec_vec_ndup(const struct ec_vec *vec, size_t off, size_t len)
ec_vec
struct ec_vec * ec_vec(size_t elt_size, size_t size, ec_vec_elt_copy_t copy, ec_vec_elt_free_t free)
ec_vec_add_ptr
int ec_vec_add_ptr(struct ec_vec *vec, void *elt)
ecoli
vec.h
Generated by
1.17.0