UTHASH-DEV(3)
π UTHASH-DEV(3) β the uthash-dev user manual, but make it cute π
okay bestie, pull up a chair, we're talking about uthash-dev, the Debian package that's literally a whole friend group of C headers π«Ά
β¨ NAME β¨
uthash-dev β hash map and linked list implementation πΊοΈπ
πΈ SYNOPSIS πΈ
#include <uthash.h>
#include <utlist.h>
#include <utarray.h>
#include <utstring.h>
#include <utvector.h>
that's it. five includes. five little doorways into data-structure heaven. no cap π
π¦ DESCRIPTION π¦
so the uthash-dev Debian package is built from the uthash source package, and it ships the uthash, utlist, utarray, utstring and utvector headers. all five of them. the whole squad π
they can be included in any C source code, and they hand you hash map, linked list, etc. implementations β all as C preprocessor macros. not a library you link against (well, mostly, we'll get to the exception π), just macros doing main character work at compile time.
the documentation lives in the documentation directory of the package, at /usr/share/doc/uthash-dev/, in HTML format β¨ and there are also some examples bundled in there, which were provided as test cases in the upstream release. so you can peek at real working code, which is iconic honestly.
π FILES π
/usr/include/uthash.hβ the hash map implementation, as a C preprocessor macro. the namesake. the moment. π/usr/include/utlist.hβ the linked list implementation, as a C preprocessor macro. π/usr/include/utarray.hβ the dynamic array implementation, as a C preprocessor macro. π¦/usr/include/utstring.hβ the dynamic string implementation, as a C preprocessor macro. π§΅/usr/include/utvector.hβ the vector implementation, which maintains a contiguous buffer of 'n' elements. in order to use it, link with-lut. π§
β οΈ bestie listen βutvectoris the one that actually needs a linker flag. everyone else is header-only macro magic, but this one wants-lutand it's not gonna work without it. don't be the person who forgets. π
π AUTHOR π
Bastian Blywis <blywis@googlemail.com> β wrote this manpage for the Debian system. thank you king, your service was noted π«‘
π COPYRIGHT π
Copyright Β© 2009 Bastian Blywis Copyright Β© 2015 Ilias Tsitsimpis
this manual page was written for the Debian system (and may be used by others).
permission is granted to copy, distribute and/or modify this document under the terms of the GNU General Public License, Version 3 or (at your option) any later version published by the Free Software Foundation.
on Debian systems, the complete text of the GNU General Public License can be found in /usr/share/common-licenses/GPL. go read it if you want, it's giving β¨ legally binding β¨ π
and that's the whole page, bestie!! this was uthash-dev, dated 06/23/2015, from the uthash-dev User Manual β UTHASH-DEV(3), periodt. now go #include something and slay π
ππ¦
π¦ where this page comes from
- debian bookworm: uthash-dev 2.3.0-1+b1 Β· BSD-1-Clause
- debian trixie: uthash-dev 2.3.0-2 Β· BSD-1-Clause
- ubuntu jammy: uthash-dev 2.3.0-1 Β· BSD-1-Clause
- ubuntu noble: uthash-dev 2.3.0-2 Β· BSD-1-Clause
- ubuntu questing: uthash-dev 2.3.0-2
- ubuntu resolute: uthash-dev 2.3.0-2build1 Β· BSD-1-Clause
- ubuntu stonking: uthash-dev 2.3.0-2build1 Β· BSD-1-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms