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'