CVector  4.1.0
A C++ style vector library in strict ANSI C (C89)
Data Structures | Macros | Typedefs | Functions | Variables
cvector_template2.h File Reference
#include <stdlib.h>

Go to the source code of this file.

Data Structures

struct  cvector_TYPE
 Data structure for TYPE vector. More...
 

Macros

#define CVEC_SIZE_T   size_t
 
#define CVEC_SZ
 

Typedefs

typedef CVEC_SIZE_T cvec_sz
 

Functions

int cvec_TYPE (cvector_TYPE *vec, cvec_sz size, cvec_sz capacity, void(*elem_free)(void *), int(*elem_init)(void *, void *))
 
int cvec_init_TYPE (cvector_TYPE *vec, TYPE *vals, cvec_sz num, void(*elem_free)(void *), int(*elem_init)(void *, void *))
 
cvector_TYPEcvec_TYPE_heap (cvec_sz size, cvec_sz capacity, void(*elem_free)(void *), int(*elem_init)(void *, void *))
 
cvector_TYPEcvec_init_TYPE_heap (TYPE *vals, cvec_sz num, void(*elem_free)(void *), int(*elem_init)(void *, void *))
 
int cvec_copyc_TYPE (void *dest, void *src)
 
int cvec_copy_TYPE (cvector_TYPE *dest, cvector_TYPE *src)
 
int cvec_push_TYPE (cvector_TYPE *vec, TYPE *val)
 
void cvec_pop_TYPE (cvector_TYPE *vec, TYPE *ret)
 
int cvec_pushm_TYPE (cvector_TYPE *vec, TYPE *a)
 
void cvec_popm_TYPE (cvector_TYPE *vec, TYPE *ret)
 
int cvec_insertm_TYPE (cvector_TYPE *vec, cvec_sz i, TYPE *a)
 
int cvec_insert_arraym_TYPE (cvector_TYPE *vec, cvec_sz i, TYPE *a, cvec_sz num)
 
void cvec_replacem_TYPE (cvector_TYPE *vec, cvec_sz i, TYPE *a, TYPE *ret)
 
int cvec_extend_TYPE (cvector_TYPE *vec, cvec_sz num)
 
int cvec_insert_TYPE (cvector_TYPE *vec, cvec_sz i, TYPE *a)
 
int cvec_insert_array_TYPE (cvector_TYPE *vec, cvec_sz i, TYPE *a, cvec_sz num)
 
int cvec_replace_TYPE (cvector_TYPE *vec, cvec_sz i, TYPE *a, TYPE *ret)
 
void cvec_erase_TYPE (cvector_TYPE *vec, cvec_sz start, cvec_sz end)
 
void cvec_remove_TYPE (cvector_TYPE *vec, cvec_sz start, cvec_sz end)
 
int cvec_reserve_TYPE (cvector_TYPE *vec, cvec_sz size)
 
int cvec_set_cap_TYPE (cvector_TYPE *vec, cvec_sz size)
 
int cvec_set_val_sz_TYPE (cvector_TYPE *vec, TYPE *val)
 
int cvec_set_val_cap_TYPE (cvector_TYPE *vec, TYPE *val)
 
TYPE * cvec_back_TYPE (cvector_TYPE *vec)
 
void cvec_clear_TYPE (cvector_TYPE *vec)
 
void cvec_free_TYPE_heap (void *vec)
 
void cvec_free_TYPE (void *vec)
 

Variables

cvec_sz CVEC_TYPE_SZ
 

Macro Definition Documentation

◆ CVEC_SIZE_T

#define CVEC_SIZE_T   size_t

Definition at line 7 of file cvector_template2.h.

◆ CVEC_SZ

#define CVEC_SZ

Definition at line 11 of file cvector_template2.h.

Typedef Documentation

◆ cvec_sz

Definition at line 12 of file cvector_template2.h.

Function Documentation

◆ cvec_back_TYPE()

TYPE* cvec_back_TYPE ( cvector_TYPE vec)

◆ cvec_clear_TYPE()

void cvec_clear_TYPE ( cvector_TYPE vec)

◆ cvec_copy_TYPE()

int cvec_copy_TYPE ( cvector_TYPE dest,
cvector_TYPE src 
)

◆ cvec_copyc_TYPE()

int cvec_copyc_TYPE ( void *  dest,
void *  src 
)

◆ cvec_erase_TYPE()

void cvec_erase_TYPE ( cvector_TYPE vec,
cvec_sz  start,
cvec_sz  end 
)

◆ cvec_extend_TYPE()

int cvec_extend_TYPE ( cvector_TYPE vec,
cvec_sz  num 
)

◆ cvec_free_TYPE()

void cvec_free_TYPE ( void *  vec)

◆ cvec_free_TYPE_heap()

void cvec_free_TYPE_heap ( void *  vec)

◆ cvec_init_TYPE()

int cvec_init_TYPE ( cvector_TYPE vec,
TYPE *  vals,
cvec_sz  num,
void(*)(void *)  elem_free,
int(*)(void *, void *)  elem_init 
)

◆ cvec_init_TYPE_heap()

cvector_TYPE* cvec_init_TYPE_heap ( TYPE *  vals,
cvec_sz  num,
void(*)(void *)  elem_free,
int(*)(void *, void *)  elem_init 
)

◆ cvec_insert_array_TYPE()

int cvec_insert_array_TYPE ( cvector_TYPE vec,
cvec_sz  i,
TYPE *  a,
cvec_sz  num 
)

◆ cvec_insert_arraym_TYPE()

int cvec_insert_arraym_TYPE ( cvector_TYPE vec,
cvec_sz  i,
TYPE *  a,
cvec_sz  num 
)

◆ cvec_insert_TYPE()

int cvec_insert_TYPE ( cvector_TYPE vec,
cvec_sz  i,
TYPE *  a 
)

◆ cvec_insertm_TYPE()

int cvec_insertm_TYPE ( cvector_TYPE vec,
cvec_sz  i,
TYPE *  a 
)

◆ cvec_pop_TYPE()

void cvec_pop_TYPE ( cvector_TYPE vec,
TYPE *  ret 
)

◆ cvec_popm_TYPE()

void cvec_popm_TYPE ( cvector_TYPE vec,
TYPE *  ret 
)

◆ cvec_push_TYPE()

int cvec_push_TYPE ( cvector_TYPE vec,
TYPE *  val 
)

◆ cvec_pushm_TYPE()

int cvec_pushm_TYPE ( cvector_TYPE vec,
TYPE *  a 
)

◆ cvec_remove_TYPE()

void cvec_remove_TYPE ( cvector_TYPE vec,
cvec_sz  start,
cvec_sz  end 
)

◆ cvec_replace_TYPE()

int cvec_replace_TYPE ( cvector_TYPE vec,
cvec_sz  i,
TYPE *  a,
TYPE *  ret 
)

◆ cvec_replacem_TYPE()

void cvec_replacem_TYPE ( cvector_TYPE vec,
cvec_sz  i,
TYPE *  a,
TYPE *  ret 
)

◆ cvec_reserve_TYPE()

int cvec_reserve_TYPE ( cvector_TYPE vec,
cvec_sz  size 
)

◆ cvec_set_cap_TYPE()

int cvec_set_cap_TYPE ( cvector_TYPE vec,
cvec_sz  size 
)

◆ cvec_set_val_cap_TYPE()

int cvec_set_val_cap_TYPE ( cvector_TYPE vec,
TYPE *  val 
)

◆ cvec_set_val_sz_TYPE()

int cvec_set_val_sz_TYPE ( cvector_TYPE vec,
TYPE *  val 
)

◆ cvec_TYPE()

int cvec_TYPE ( cvector_TYPE vec,
cvec_sz  size,
cvec_sz  capacity,
void(*)(void *)  elem_free,
int(*)(void *, void *)  elem_init 
)

◆ cvec_TYPE_heap()

cvector_TYPE* cvec_TYPE_heap ( cvec_sz  size,
cvec_sz  capacity,
void(*)(void *)  elem_free,
int(*)(void *, void *)  elem_init 
)

Variable Documentation

◆ CVEC_TYPE_SZ

cvec_sz CVEC_TYPE_SZ
extern