|
|
|
|
|
by pyritschard
4025 days ago
|
|
While not 100% necessary, header macros to implement lists, queues (and even trees, see: http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/sys/sys/tree.h?...) are common in C. They first appear for kernel usage where the fact that they expanded to inline code in functions avoided creating too many stack-frames and provided optimization. They do have the advantage of not relying on casting everything to "void *" or resort to callbacks for walking (see: TAILQ_FOREACH for instance). |
|