docs/Writerside/topics/collections.md

Fri, 23 May 2025 12:44:24 +0200

author
Mike Becker <universe@uap-core.de>
date
Fri, 23 May 2025 12:44:24 +0200
changeset 1327
ed75dc1db503
parent 1207
543988762f65
permissions
-rw-r--r--

make test-compile depend on both static and shared

the shared lib is not needed for the tests,
but when run with coverage, gcov will be confused
when outdated line information is available from
a previous shared build

# Data Structures

UCX provides a [linked list](linked_list.h.md) and [array list](array_list.h.md) implementation over a common [list](list.h.md) interface,
as well as a [hash nap](hash_map.h.md) implementation over a [map](map.h.md) interface, and a basic [tree](tree.h.md) implementation.

Additionally, UCX provides an abstraction for [iterators](iterator.h.md) that work with all collection types, and
plain C arrays.

The design goal of this API was to provide high level abstractions (functions in lowerCamelCase) and low level
implementations (functions in snake_case).
This way you can freely choose whether to use the predefined implementations for the various collection types,
or to implement your own collections using the low level API.

mercurial