Go to file
Arwed Mett 972d3bbadf
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/tag Build is passing
fixed cmake find_package
2019-03-28 22:27:50 +01:00
cmake basic structure 2019-03-28 19:26:03 +01:00
include/vector implemented vector 2019-03-28 19:35:44 +01:00
src implemented vector 2019-03-28 19:35:44 +01:00
test implemented vector 2019-03-28 19:35:44 +01:00
.core.yml added drone file 2019-03-28 20:04:19 +01:00
.gitignore basic structure 2019-03-28 19:26:03 +01:00
CMakeLists.txt fixed cmake find_package 2019-03-28 22:27:50 +01:00
Dockerfile basic structure 2019-03-28 19:26:03 +01:00
LICENSE.txt basic structure 2019-03-28 19:26:03 +01:00
README.md fixed markdown errors in readme 2019-03-28 22:19:23 +01:00

Build Status

vector

A simple implementation of a dynamic vector, which automatically allocates and releases memory.

Installation

The library can either be downloaded as a prebuild version or compiled from source.

To compile the library execute the following steps:

git clone --branch <version> https://gitea.metthub.de/Pfeifenjoy/vector
cmake -DCMAKE_BUILD_TYPE=Release -H. -Bbuild
cmake --build build --target install

This will download the source code, compile and install it. Please replace <version> by your desired version of this library.

Usage with cmake

The library can be easily included into cmake projects by importing the targets.

find_package(vector <version> EXACT REQUIRED)
target_link_libraries(<target> PRIVATE vector::vector-shared)
#or
target_link_libraries(<target> PRIVATE vector::vector-static)

Hereby <target> is your target, which can be linked either to the shared or the static vector library.

Interface

The vector can be used as follows:

vector_t vector;
vector_init(&vector, sizeof(int)); //initialize vector of ints

int i = 42;
vector_push(&vector, &i); //copy i to the end of the vector

printf("The vector has %zu elements.\n", vector.length);

int *a = (int *) vector_get(&vector, 0); //get the first element
printf("Using element of vector: %d\n", *a);

vector_delete(&vector, 0); //delete the first element

vector_destroy(&vector);