README.md
79616338
 # mulle-concurrent
5bac158c
 
137f2f12
 **mulle-concurrent** is a library for lock- and wait-free data structures.
 Wait-freeness is a desirable property for "hotly" contested data structures
 in multi-threaded environments.
5bac158c
 
ea015822
 > Many of the ideas are taken from [Preshing on Programming: A Resizable, Concurrent Map](http://preshing.com/20160222/a-resizable-concurrent-map/).
 > The definition of concurrent and wait-free are from [concurrencyfreaks.blogspot.de](http://concurrencyfreaks.blogspot.de/2013/05/lock-free-and-wait-free-definition-and.html)
 
 
188d0702
 Fork      |  Build Status | Release Version
 ----------|---------------|-----------------------------------
8294675f
 [Mulle kybernetiK](//github.com/mulle-c/mulle-concurrent) | [![Build Status](https://travis-ci.org/mulle-c/mulle-concurrent.svg?branch=release)](https://travis-ci.org/mulle-c/mulle-concurrent) | ![Mulle kybernetiK tag](https://img.shields.io/github/tag/mulle-c/mulle-concurrent.svg) [![Build Status](https://travis-ci.org/mulle-c/mulle-concurrent.svg?branch=release)](https://travis-ci.org/mulle-c/mulle-concurrent)
188d0702
 
5bac158c
 
8294675f
 ## Install
c3885d73
 
c10827c2
 ### Manually
 
8294675f
 Install the prerequisites first:
c3885d73
 
8294675f
 | Prerequisites                               |
 |---------------------------------------------|
 | [mulle-aba](//github.com/mulle-c/mulle-aba) |
5bac158c
 
8294675f
 Then build and install
5bac158c
 
 ```
8294675f
 mkdir build 2> /dev/null
 (
    cd build ;
    cmake .. ;
    make install
 )
5bac158c
 ```
d652e075
 
c10827c2
 
 ### Conveniently
 
8294675f
 Or let [mulle-sde](//github.com/mulle-sde) do it all for you.
5bac158c
 
 
8294675f
 ## Data structures
85b49daa
 
8294675f
 API                                                   | Description    | Example
 ------------------------------------------------------|----------------|---------
 [`mulle_concurrent_hashmap`](dox/API_POINTERARRAY.md) | A growing, mutable map of pointers, indexed by a hash. A.k.a. hashtable, dictionary, maptable | [Example](tests/hashmap/example.c)
 [`mulle_concurrent_pointerarray`](dox/API_HASHMAP.md) | A growing array of pointers                                                               | [Example](tests/array/example.c)
85b49daa
 
 
79616338
 ### Platforms and Compilers
5bac158c
 
79616338
 All platforms and compilers supported by
8294675f
 [mulle-c11](//github.com/mulle-c/mulle-c11) and
 [mulle-thread](//github.com/mulle-c/mulle-thread).
5bac158c
 
 
79616338
 ## Author
5bac158c
 
79616338
 [Nat!](//www.mulle-kybernetik.com/weblog) for
 [Mulle kybernetiK](//www.mulle-kybernetik.com) and
e7906057
 [Codeon GmbH](//www.codeon.de)