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

1141
a06a2d27c043 create new page structure
Mike Becker <universe@uap-core.de>
parents:
diff changeset
1 # Data Structures
1206
6ff6dffcbb08 add intro text for collections API
Mike Becker <universe@uap-core.de>
parents: 1141
diff changeset
2
1207
543988762f65 fixes accidental typos due to auto-resolution of topic titles
Mike Becker <universe@uap-core.de>
parents: 1206
diff changeset
3 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,
543988762f65 fixes accidental typos due to auto-resolution of topic titles
Mike Becker <universe@uap-core.de>
parents: 1206
diff changeset
4 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.
1206
6ff6dffcbb08 add intro text for collections API
Mike Becker <universe@uap-core.de>
parents: 1141
diff changeset
5
6ff6dffcbb08 add intro text for collections API
Mike Becker <universe@uap-core.de>
parents: 1141
diff changeset
6 Additionally, UCX provides an abstraction for [iterators](iterator.h.md) that work with all collection types, and
6ff6dffcbb08 add intro text for collections API
Mike Becker <universe@uap-core.de>
parents: 1141
diff changeset
7 plain C arrays.
6ff6dffcbb08 add intro text for collections API
Mike Becker <universe@uap-core.de>
parents: 1141
diff changeset
8
6ff6dffcbb08 add intro text for collections API
Mike Becker <universe@uap-core.de>
parents: 1141
diff changeset
9 The design goal of this API was to provide high level abstractions (functions in lowerCamelCase) and low level
6ff6dffcbb08 add intro text for collections API
Mike Becker <universe@uap-core.de>
parents: 1141
diff changeset
10 implementations (functions in snake_case).
6ff6dffcbb08 add intro text for collections API
Mike Becker <universe@uap-core.de>
parents: 1141
diff changeset
11 This way you can freely choose whether to use the predefined implementations for the various collection types,
6ff6dffcbb08 add intro text for collections API
Mike Becker <universe@uap-core.de>
parents: 1141
diff changeset
12 or to implement your own collections using the low level API.

mercurial