Source: concurrentqueue Priority: optional Maintainer: Debian Med Packaging Team Uploaders: Steffen Moeller Build-Depends: debhelper-compat (= 13) Standards-Version: 4.5.0 Section: libs Homepage: https://github.com/cameron314/concurrentqueue Vcs-Browser: https://salsa.debian.org/med-team/concurrentqueue Vcs-Git: https://salsa.debian.org/med-team/concurrentqueue.git Rules-Requires-Root: no Package: libconcurrentqueue-dev Section: libdevel Architecture: all Depends: ${misc:Depends} Description: industrial-strength lock-free queue for C++ Features * Knock-your-socks-off blazing fast performance. * Single-header implementation. Just drop it in your project. * Fully thread-safe lock-free queue. Use concurrently from any number of threads. * C++11 implementation -- elements are moved (instead of copied) where possible. * Templated, obviating the need to deal exclusively with pointers -- memory is managed for you. * No artificial limitations on element types or maximum count. Memory can be allocated once up-front, or dynamically as needed. * Fully portable (no assembly; all is done through standard C++11 primitives). * Supports super-fast bulk operations. * Includes a low-overhead blocking version (BlockingConcurrentQueue). * Exception safe. . Reasons to use . There are not that many full-fledged lock-free queues for C++. Boost has one, but it's limited to objects with trivial assignment operators and trivial destructors, for example. Intel's TBB queue isn't lock-free, and requires trivial constructors too. There're many academic papers that implement lock-free queues in C++, but usable source code is hard to find, and tests even more so. . This queue not only has less limitations than others (for the most part), but it's also faster. It's been fairly well-tested, and offers advanced features like bulk enqueueing/dequeueing (which, with the new design, is much faster than one element at a time, approaching and even surpassing the speed of a non-concurrent queue even under heavy contention).