Language

Package: uthash @ 2.1.0

Synopsis

Hash tables, lists, and other data structures implemented as C macros

Description

uthash implements a hash table and a few other basic data structures as C preprocessor macros. It aims to be minimalistic and efficient: it's around 1,000 lines of code which, being macros, inline automatically.

Unlike function calls with fixed prototypes, macros operate on untyped arguments. Thus, they are able to work with any type of structure and key. Any C structure can be stored in a hash table by adding UT_hash_handle to the structure and choosing one or more fields to act as the key.

Home page
https://troydhanson.github.io/uthash/
Location
gnu/packages/datastructures.scm (line: 238, column: 2)
License

Derivations

SystemTargetDerivationBuild status
x86_64-linux/gnu/store/rrzn0q9lhry4690066jkv29vdijd33xl-uthash-2.1.0.drv
x86_64-linuxxtensa-ath9k-elf/gnu/store/2zy0zfwd0r3hvq8nf03kcgz7b9yd1cx5-uthash-2.1.0.drv
x86_64-linuxx86_64-w64-mingw32/gnu/store/gcbvkp5sb1j5fya80q46bmavbkfik9cb-uthash-2.1.0.drv
x86_64-linuxx86_64-linux-gnux32/gnu/store/dbdmw9ymr3qdg4rgjx8c9m8jrx6kndnw-uthash-2.1.0.drv
x86_64-linuxriscv64-linux-gnu/gnu/store/n346v16d021bxwimk51f1zvrk4pxqbch-uthash-2.1.0.drv
x86_64-linuxpowerpc-linux-gnu/gnu/store/gdbrk9rj4zkbd4bkvb26m3hj50fxs0ac-uthash-2.1.0.drv
x86_64-linuxpowerpc64-linux-gnu/gnu/store/08b9ybiavz8fbr6hddqmzh713hnsljck-uthash-2.1.0.drv
x86_64-linuxpowerpc64le-linux-gnu/gnu/store/hk2zyki11rj3lpxlrsa6sj0r637ivc36-uthash-2.1.0.drv
x86_64-linuxor1k-elf/gnu/store/bvlllplgif4rs9c1xqj5xrakcggc00dm-uthash-2.1.0.drv
x86_64-linuxmips64el-linux-gnu/gnu/store/h9flacfbjkjmcd5c7d2ys4dlp3nf7qji-uthash-2.1.0.drv
x86_64-linuxi686-w64-mingw32/gnu/store/r6wxpq0h427llbimk6jz6crm8ds44c0v-uthash-2.1.0.drv
x86_64-linuxi586-pc-gnu/gnu/store/1010pb93m5192ipvncdqqz45ipzx7qs7-uthash-2.1.0.drv
x86_64-linuxavr/gnu/store/i82lwrc1gydi80bixbi1gpm1q39yjd5m-uthash-2.1.0.drv
x86_64-linuxarm-linux-gnueabihf/gnu/store/xswk22jrszx7vjmiixj9fv9c3lsf60f3-uthash-2.1.0.drv
x86_64-linuxaarch64-linux-gnu/gnu/store/3xzh4rd63vxgkck4i9k1bplgw2zz3nfq-uthash-2.1.0.drv
riscv64-linux/gnu/store/dwv6lq9c8yg3xs8lr7yj6h5ckf73hj0m-uthash-2.1.0.drv
powerpc-linux/gnu/store/r6wz2sr3hiph9437w2x9rwxxksyw5b7f-uthash-2.1.0.drv
    powerpc64le-linux/gnu/store/4aglfzna7xaih7pxk7q2dq002sdfh91a-uthash-2.1.0.drv
    mips64el-linux/gnu/store/1zvb5yh9vmqaich0zxkj036cxjcb1zxq-uthash-2.1.0.drv
      i686-linux/gnu/store/fr3h95c3bpwslqrjgk0020d7sk003z4y-uthash-2.1.0.drv
      i586-gnu/gnu/store/abyrzyzmpm7yqvgfnkqsf9vdra6l3x8r-uthash-2.1.0.drv
      armhf-linux/gnu/store/hp0s3cbdw2jf0cbvxzk0whlxm4411r1a-uthash-2.1.0.drv
      aarch64-linux/gnu/store/25p7ifpda9pj96bz35213nxsh8357n52-uthash-2.1.0.drv

      Lint warnings

      LinterMessageLocation
      optional-tests

      Make sure tests are only run when requested

      the 'check' phase should respect #:tests?
      compiler-for-target

      Check that cross-compilers are used when cross-compiling

      'CC' should be set to '(cc-for-target)' instead of 'gcc'