fb16dfecae
Commit b7f05445c0
has added WWW entries to port Makefiles based on
WWW: lines in pkg-descr files.
This commit removes the WWW: lines of moved-over URLs from these
pkg-descr files.
Approved by: portmgr (tcberner)
23 lines
1.0 KiB
Plaintext
23 lines
1.0 KiB
Plaintext
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.
|