├── .github ├── scripts │ ├── get_gtest.sh │ └── make_qd.sh └── workflows │ ├── ci.yml │ └── codespell.yml ├── .gitignore ├── CMakeLists.txt ├── LICENSE ├── README.md ├── examples └── counter │ ├── Makefile │ ├── README.md │ ├── counter_atomic.cpp │ ├── counter_futex.cpp │ ├── counter_mcsfutex.cpp │ ├── counter_pthreads.cpp │ ├── counter_qd.cpp │ ├── counter_std.cpp │ ├── cs.cpp │ ├── cs.hpp │ └── cs_atomic.cpp ├── hqdlock.hpp ├── locks ├── futex_lock.hpp ├── mcs_futex_lock.cpp ├── mcs_futex_lock.hpp ├── mcs_lock.cpp ├── mcs_lock.hpp ├── mutex_lock.hpp ├── pthreads_lock.hpp ├── tatas_lock.hpp ├── ticket_futex_lock.hpp └── waitable_lock.hpp ├── mrqdlock.hpp ├── padded.hpp ├── qd.hpp ├── qd_condition_variable.hpp ├── qdlock.hpp ├── qdlock_base.hpp ├── queues ├── buffer_queue.hpp ├── dual_buffer_queue.hpp ├── entry_queue.hpp └── simple_locked_queue.hpp ├── readindicator └── reader_groups.hpp ├── tests ├── CMakeLists.txt ├── gentests.py └── lock.hpp ├── threadid.cpp ├── threadid.hpp ├── util ├── pause.hpp └── type_tools.hpp └── waiting_future.hpp /.github/scripts/get_gtest.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davidklaftenegger/qd_library/HEAD/.github/scripts/get_gtest.sh -------------------------------------------------------------------------------- /.github/scripts/make_qd.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davidklaftenegger/qd_library/HEAD/.github/scripts/make_qd.sh -------------------------------------------------------------------------------- /.github/workflows/ci.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davidklaftenegger/qd_library/HEAD/.github/workflows/ci.yml -------------------------------------------------------------------------------- /.github/workflows/codespell.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davidklaftenegger/qd_library/HEAD/.github/workflows/codespell.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davidklaftenegger/qd_library/HEAD/.gitignore -------------------------------------------------------------------------------- /CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davidklaftenegger/qd_library/HEAD/CMakeLists.txt -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davidklaftenegger/qd_library/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davidklaftenegger/qd_library/HEAD/README.md -------------------------------------------------------------------------------- /examples/counter/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davidklaftenegger/qd_library/HEAD/examples/counter/Makefile -------------------------------------------------------------------------------- /examples/counter/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davidklaftenegger/qd_library/HEAD/examples/counter/README.md -------------------------------------------------------------------------------- /examples/counter/counter_atomic.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davidklaftenegger/qd_library/HEAD/examples/counter/counter_atomic.cpp -------------------------------------------------------------------------------- /examples/counter/counter_futex.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davidklaftenegger/qd_library/HEAD/examples/counter/counter_futex.cpp -------------------------------------------------------------------------------- /examples/counter/counter_mcsfutex.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davidklaftenegger/qd_library/HEAD/examples/counter/counter_mcsfutex.cpp -------------------------------------------------------------------------------- /examples/counter/counter_pthreads.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davidklaftenegger/qd_library/HEAD/examples/counter/counter_pthreads.cpp -------------------------------------------------------------------------------- /examples/counter/counter_qd.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davidklaftenegger/qd_library/HEAD/examples/counter/counter_qd.cpp -------------------------------------------------------------------------------- /examples/counter/counter_std.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davidklaftenegger/qd_library/HEAD/examples/counter/counter_std.cpp -------------------------------------------------------------------------------- /examples/counter/cs.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davidklaftenegger/qd_library/HEAD/examples/counter/cs.cpp -------------------------------------------------------------------------------- /examples/counter/cs.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davidklaftenegger/qd_library/HEAD/examples/counter/cs.hpp -------------------------------------------------------------------------------- /examples/counter/cs_atomic.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davidklaftenegger/qd_library/HEAD/examples/counter/cs_atomic.cpp -------------------------------------------------------------------------------- /hqdlock.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davidklaftenegger/qd_library/HEAD/hqdlock.hpp -------------------------------------------------------------------------------- /locks/futex_lock.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davidklaftenegger/qd_library/HEAD/locks/futex_lock.hpp -------------------------------------------------------------------------------- /locks/mcs_futex_lock.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davidklaftenegger/qd_library/HEAD/locks/mcs_futex_lock.cpp -------------------------------------------------------------------------------- /locks/mcs_futex_lock.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davidklaftenegger/qd_library/HEAD/locks/mcs_futex_lock.hpp -------------------------------------------------------------------------------- /locks/mcs_lock.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davidklaftenegger/qd_library/HEAD/locks/mcs_lock.cpp -------------------------------------------------------------------------------- /locks/mcs_lock.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davidklaftenegger/qd_library/HEAD/locks/mcs_lock.hpp -------------------------------------------------------------------------------- /locks/mutex_lock.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davidklaftenegger/qd_library/HEAD/locks/mutex_lock.hpp -------------------------------------------------------------------------------- /locks/pthreads_lock.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davidklaftenegger/qd_library/HEAD/locks/pthreads_lock.hpp -------------------------------------------------------------------------------- /locks/tatas_lock.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davidklaftenegger/qd_library/HEAD/locks/tatas_lock.hpp -------------------------------------------------------------------------------- /locks/ticket_futex_lock.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davidklaftenegger/qd_library/HEAD/locks/ticket_futex_lock.hpp -------------------------------------------------------------------------------- /locks/waitable_lock.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davidklaftenegger/qd_library/HEAD/locks/waitable_lock.hpp -------------------------------------------------------------------------------- /mrqdlock.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davidklaftenegger/qd_library/HEAD/mrqdlock.hpp -------------------------------------------------------------------------------- /padded.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davidklaftenegger/qd_library/HEAD/padded.hpp -------------------------------------------------------------------------------- /qd.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davidklaftenegger/qd_library/HEAD/qd.hpp -------------------------------------------------------------------------------- /qd_condition_variable.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davidklaftenegger/qd_library/HEAD/qd_condition_variable.hpp -------------------------------------------------------------------------------- /qdlock.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davidklaftenegger/qd_library/HEAD/qdlock.hpp -------------------------------------------------------------------------------- /qdlock_base.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davidklaftenegger/qd_library/HEAD/qdlock_base.hpp -------------------------------------------------------------------------------- /queues/buffer_queue.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davidklaftenegger/qd_library/HEAD/queues/buffer_queue.hpp -------------------------------------------------------------------------------- /queues/dual_buffer_queue.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davidklaftenegger/qd_library/HEAD/queues/dual_buffer_queue.hpp -------------------------------------------------------------------------------- /queues/entry_queue.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davidklaftenegger/qd_library/HEAD/queues/entry_queue.hpp -------------------------------------------------------------------------------- /queues/simple_locked_queue.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davidklaftenegger/qd_library/HEAD/queues/simple_locked_queue.hpp -------------------------------------------------------------------------------- /readindicator/reader_groups.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davidklaftenegger/qd_library/HEAD/readindicator/reader_groups.hpp -------------------------------------------------------------------------------- /tests/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davidklaftenegger/qd_library/HEAD/tests/CMakeLists.txt -------------------------------------------------------------------------------- /tests/gentests.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davidklaftenegger/qd_library/HEAD/tests/gentests.py -------------------------------------------------------------------------------- /tests/lock.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davidklaftenegger/qd_library/HEAD/tests/lock.hpp -------------------------------------------------------------------------------- /threadid.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davidklaftenegger/qd_library/HEAD/threadid.cpp -------------------------------------------------------------------------------- /threadid.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davidklaftenegger/qd_library/HEAD/threadid.hpp -------------------------------------------------------------------------------- /util/pause.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davidklaftenegger/qd_library/HEAD/util/pause.hpp -------------------------------------------------------------------------------- /util/type_tools.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davidklaftenegger/qd_library/HEAD/util/type_tools.hpp -------------------------------------------------------------------------------- /waiting_future.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davidklaftenegger/qd_library/HEAD/waiting_future.hpp --------------------------------------------------------------------------------