SlackBuilds Repository

15.0 > Libraries > tllist (1.1.0)

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.

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.

tllist is a needed dependency for fcft,foot,fuzzel,fnott,wbg

Maintained by: Damian Perticone
Keywords: tllist
ChangeLog: tllist


Source Downloads:
1.1.0.tar.gz (77e9f57c5d37d74fd09522fee5f5137d)

Download SlackBuild:
tllist.tar.gz.asc (FAQ)

(the SlackBuild does not include the source)

Individual Files:

Validated for Slackware 15.0

See our HOWTO for instructions on how to use the contents of this repository.

Access to the repository is available via:
ftp git cgit http rsync

© 2006-2023 Project. All rights reserved.
Slackware® is a registered trademark of Patrick Volkerding
Linux® is a registered trademark of Linus Torvalds