devel/tllist 1.1.0 MidnightBSD
C header file only implementation of a typed linked list
- System
- MidnightBSD
- Repository
- mports
- Maintainer
- [email protected]
- License
- mit
- Categories
- devel
Description
Most C implementations of linked list are untyped. That is, their data carriers are typically void *. This is error prone since your compiler will not be able to help you correct your mistakes (oh, was it a pointer-to-a-pointer... I thought it was just a pointer...).
tllist addresses this by using pre-processor macros to implement dynamic types, where the data carrier is typed to whatever you want; both primitive data types are supported as well as aggregated ones such as structs, enums and unions.
Being a double-linked list, most operations are constant in time (including pushing and popping both to/from front and back).
The memory overhead is fairly small; each item carries, besides its data, a prev and next pointer (i.e. a constant 16 byte overhead per item on 64-bit architectures).
The list itself has two head and tail pointers, plus a length variable (typically 8 bytes on 64-bit architectures) to make list length lookup constant in time.
Thus, assuming 64-bit pointers (and a 64-bit size_t type), the total overhead is 3*8 + n*2*8 bytes.
In the other systems
The newest version among them is 1.1.0, as upstream numbers it.
| System | Port | Version | Vulnerabilities | Status | Maintainer | Last update |
|---|---|---|---|---|---|---|
| MidnightBSD | devel/tllist | 1.1.0 newest | no data | - | [email protected] | - |
| FreeBSD | devel/tllist | 1.1.0 newest | none known | - | [email protected] | - |
| OpenBSD | devel/tllist | 1.1.0p0 newest | no data | - | The OpenBSD ports mailing-list <[email protected]> | 2026-07-23 |
| NetBSD | devel/tllist | 1.1.0 newest | none known | - | [email protected] | - |
| DragonFly | devel/tllist | 1.1.0 newest | none known | - | [email protected] | - |
| HardenedBSD | devel/tllist | 1.1.0 newest | no data | - | [email protected] | - |
| GhostBSD | devel/tllist | 1.1.0 newest | no data | - | [email protected] | - |
Install
Binary package:
mport install tllist
From mports:
cd /usr/mports/devel/tllist && make install clean
To depend on this port in another port's Makefile:
RUN_DEPENDS= tllist>0:devel/tllist
Dependency graph
Ports that need it on the left, what it needs to run on the right; at most 8 of each. "Dependencies" below lists them all.
Dependencies
Required by 3
Configuration
No options to configure.
- USES
- meson
- Service scripts
- none
Files
distinfo 1
| File | Size | SHA256 |
|---|---|---|
| tllist-1.1.0.tar.gz | 7639 | 0e7b7094a02550dd80b7243bcffc3671550b0f1d8ba625e4dff52517827d5d23 |
Master sites 1
- https://codeberg.org/dnkl/tllist/archive/${DISTVERSIONFULL}${EXTRACT_SUFX}?dummy=/