Port details on branch 2023Q1 |
- tllist C header file only implementation of a typed linked list
- 1.1.0 devel =3 1.1.0Version of this port present on the latest quarterly branch.
- Maintainer: jbeich@FreeBSD.org
- Port Added: 2020-05-21 21:47:02
- Last Update: 2022-09-07 21:58:51
- Commit Hash: fb16dfe
- People watching this port, also watch:: qtkeychain-qt5, py39-treq, py311-Automat, linux-c7-atk, py39-beautifulsoup
- License: MIT
- WWW:
- https://codeberg.org/dnkl/tllist
- 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.
- ¦ ¦ ¦ ¦
- Manual pages:
- FreshPorts has no man page information for this port.
- pkg-plist: as obtained via:
make generate-plist - Dependency lines:
-
- To install the port:
- cd /usr/ports/devel/tllist/ && make install clean
- To add the package, run one of these commands:
- pkg install devel/tllist
- pkg install tllist
NOTE: If this package has multiple flavors (see below), then use one of them instead of the name specified above.- PKGNAME: tllist
- Flavors: there is no flavor information for this port.
- distinfo:
- TIMESTAMP = 1659856913
SHA256 (tllist-1.1.0.tar.gz) = 0e7b7094a02550dd80b7243bcffc3671550b0f1d8ba625e4dff52517827d5d23
SIZE (tllist-1.1.0.tar.gz) = 7639
Packages (timestamps in pop-ups are UTC):
- Dependencies
- NOTE: FreshPorts displays only information on required and default dependencies. Optional dependencies are not covered.
- Build dependencies:
-
- meson>=0.57.1_1 : devel/meson
- ninja : devel/ninja
- This port is required by:
- for Build
-
- x11/dwlb
- x11/fnott
- x11/foot
- x11/fuzzel
- x11/sandbar
- x11-fonts/fcft
Configuration Options:
- No options to configure
- Options name:
- devel_tllist
- USES:
- meson
- FreshPorts was unable to extract/find any pkg message
- Master Sites:
|