ecoli_vec(3)

πŸ“¦
version 0.11.3 Β· 4 versions
, in epel 9

hi bestie πŸ’– welcome to ecoli_vec(3) β€” yep, that's the Libecoli manual page, section 3, and it's literally all about vectors. no cap.

✨ NAME ✨

  • ecoli_vec β€” Vectors
  • Helpers for vectors manipulation.

πŸ¦‹ SYNOPSIS πŸ¦‹

Typedefs

typedef void(* ec_vec_elt_free_t) (void *ptr)
typedef void(* ec_vec_elt_copy_t) (void *dst, void *src)

Functions

struct ec_vec * ec_vec (size_t elt_size, size_t size, ec_vec_elt_copy_t
    copy, ec_vec_elt_free_t free)
int ec_vec_add_by_ref (struct ec_vec *vec, void *ptr)
int ec_vec_add_ptr (struct ec_vec *vec, void *elt)
int ec_vec_add_u8 (struct ec_vec *vec, uint8_t elt)
int ec_vec_add_u16 (struct ec_vec *vec, uint16_t elt)
int ec_vec_add_u32 (struct ec_vec *vec, uint32_t elt)
int ec_vec_add_u64 (struct ec_vec *vec, uint64_t elt)
int ec_vec_get (void *ptr, const struct ec_vec *vec, size_t idx)
struct ec_vec * ec_vec_dup (const struct ec_vec *vec)
struct ec_vec * ec_vec_ndup (const struct ec_vec *vec, size_t off, size_t len)
void ec_vec_free (struct ec_vec *vec)

🌈 Detailed Description 🌈

Helpers for vectors manipulation.

The ec_vec API provides helpers to manipulate vectors of objects of any kind. it's giving "one little API, endless vector chaos" πŸ’…


πŸŽ€ Typedef Documentation πŸŽ€

typedef void(* ec_vec_elt_free_t) (void *ptr)

Custom free callback.

If it's NULL, the default does nothing.

Definition at line 25 of file vec.h.

typedef void(* ec_vec_elt_copy_t) (void *dst, void *src)

Custom copy callback.

If it's NULL, the default is literally: memcpy(dst, src, vec->elt_size).

Definition at line 32 of file vec.h.


πŸ‘‘ Function Documentation πŸ‘‘

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)

Create a new vector. fresh start energy ✨

ec_vec_add_by_ref

int ec_vec_add_by_ref (struct ec_vec * vec, void * ptr)

Add reference to a vector.

ec_vec_add_ptr

int ec_vec_add_ptr (struct ec_vec * vec, void * elt)

Add opaque element to a vector.

ec_vec_add_u8

int ec_vec_add_u8 (struct ec_vec * vec, uint8_t elt)

Add uint8_t value to a vector.

ec_vec_add_u16

int ec_vec_add_u16 (struct ec_vec * vec, uint16_t elt)

Add uint16_t value to a vector.

ec_vec_add_u32

int ec_vec_add_u32 (struct ec_vec * vec, uint32_t elt)

Add uint32_t value to a vector.

ec_vec_add_u64

int ec_vec_add_u64 (struct ec_vec * vec, uint64_t elt)

Add uint64_t value to a vector.

ec_vec_get

int ec_vec_get (void * ptr, const struct ec_vec * vec, size_t idx)

Get element located at an offset.

ec_vec_dup

struct ec_vec* ec_vec_dup (const struct ec_vec * vec)

Duplicate a vector. twin behavior fr fr πŸ‘―

ec_vec_ndup

struct ec_vec* ec_vec_ndup (const struct ec_vec * vec, size_t off, size_t
    len)

Duplicate a portion of a vector.

ec_vec_free

void ec_vec_free (struct ec_vec * vec)

Free a vector and all its contents. clean up your room bestie 🧹


πŸ’Œ Author πŸ’Œ

Generated automatically by Doxygen for Libecoli from the source code.


okay that's the whole page, bestie 🫢 β€” it's from Libecoli, Version 0.11.3, dated Thu Apr 9 2026, and it's the ecoli_vec(3) page. periodt πŸ’…βœ¨

πŸ“¦ where this page comes from