├── .gitignore ├── CMakeLists.txt ├── LICENSE ├── README.md ├── include ├── oqpi.hpp └── oqpi │ ├── concurrent_queue.hpp │ ├── empty_layer.hpp │ ├── error_handling.hpp │ ├── parallel_algorithms.hpp │ ├── parallel_algorithms │ ├── atomic_partitioner.hpp │ ├── base_partitioner.hpp │ ├── parallel_for.hpp │ └── simple_partitioner.hpp │ ├── platform.hpp │ ├── scheduling.hpp │ ├── scheduling │ ├── context_container.hpp │ ├── group_context.hpp │ ├── parallel_group.hpp │ ├── scheduler.hpp │ ├── sequence_group.hpp │ ├── task.hpp │ ├── task_base.hpp │ ├── task_context.hpp │ ├── task_group.hpp │ ├── task_group_base.hpp │ ├── task_handle.hpp │ ├── task_notifier.hpp │ ├── task_result.hpp │ ├── task_type.hpp │ ├── worker.hpp │ ├── worker_base.hpp │ └── worker_context.hpp │ ├── scheduling_helpers.hpp │ ├── synchronization.hpp │ ├── synchronization │ ├── event.hpp │ ├── interface │ │ ├── interface_event.hpp │ │ ├── interface_mutex.hpp │ │ └── interface_semaphore.hpp │ ├── mutex.hpp │ ├── posix │ │ ├── posix_event.hpp │ │ ├── posix_mutex.hpp │ │ ├── posix_semaphore.hpp │ │ ├── posix_semaphore_wrapper.hpp │ │ └── posix_sync.hpp │ ├── semaphore.hpp │ ├── sync.hpp │ ├── sync_common.hpp │ └── win │ │ ├── win_event.hpp │ │ ├── win_mutex.hpp │ │ ├── win_semaphore.hpp │ │ └── win_sync.hpp │ ├── threading.hpp │ └── threading │ ├── interface_thread.hpp │ ├── posix_thread.hpp │ ├── this_thread.hpp │ ├── thread.hpp │ ├── thread_attributes.hpp │ └── win_thread.hpp └── tests ├── catch_amalgamated.cpp ├── catch_amalgamated.hpp ├── event_tests.hpp ├── mutex_tests.hpp ├── oqpi_tests.cpp ├── parallel_algorithms_tests.hpp ├── scheduling_tests.hpp ├── semaphore_tests.hpp ├── sync_tests.hpp ├── test_utils.hpp ├── threading_tests.hpp └── timer_contexts.hpp /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/H-EAL/oqpi/HEAD/.gitignore -------------------------------------------------------------------------------- /CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/H-EAL/oqpi/HEAD/CMakeLists.txt -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/H-EAL/oqpi/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/H-EAL/oqpi/HEAD/README.md -------------------------------------------------------------------------------- /include/oqpi.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/H-EAL/oqpi/HEAD/include/oqpi.hpp -------------------------------------------------------------------------------- /include/oqpi/concurrent_queue.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/H-EAL/oqpi/HEAD/include/oqpi/concurrent_queue.hpp -------------------------------------------------------------------------------- /include/oqpi/empty_layer.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/H-EAL/oqpi/HEAD/include/oqpi/empty_layer.hpp -------------------------------------------------------------------------------- /include/oqpi/error_handling.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/H-EAL/oqpi/HEAD/include/oqpi/error_handling.hpp -------------------------------------------------------------------------------- /include/oqpi/parallel_algorithms.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/H-EAL/oqpi/HEAD/include/oqpi/parallel_algorithms.hpp -------------------------------------------------------------------------------- /include/oqpi/parallel_algorithms/atomic_partitioner.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/H-EAL/oqpi/HEAD/include/oqpi/parallel_algorithms/atomic_partitioner.hpp -------------------------------------------------------------------------------- /include/oqpi/parallel_algorithms/base_partitioner.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/H-EAL/oqpi/HEAD/include/oqpi/parallel_algorithms/base_partitioner.hpp -------------------------------------------------------------------------------- /include/oqpi/parallel_algorithms/parallel_for.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/H-EAL/oqpi/HEAD/include/oqpi/parallel_algorithms/parallel_for.hpp -------------------------------------------------------------------------------- /include/oqpi/parallel_algorithms/simple_partitioner.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/H-EAL/oqpi/HEAD/include/oqpi/parallel_algorithms/simple_partitioner.hpp -------------------------------------------------------------------------------- /include/oqpi/platform.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/H-EAL/oqpi/HEAD/include/oqpi/platform.hpp -------------------------------------------------------------------------------- /include/oqpi/scheduling.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/H-EAL/oqpi/HEAD/include/oqpi/scheduling.hpp -------------------------------------------------------------------------------- /include/oqpi/scheduling/context_container.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/H-EAL/oqpi/HEAD/include/oqpi/scheduling/context_container.hpp -------------------------------------------------------------------------------- /include/oqpi/scheduling/group_context.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/H-EAL/oqpi/HEAD/include/oqpi/scheduling/group_context.hpp -------------------------------------------------------------------------------- /include/oqpi/scheduling/parallel_group.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/H-EAL/oqpi/HEAD/include/oqpi/scheduling/parallel_group.hpp -------------------------------------------------------------------------------- /include/oqpi/scheduling/scheduler.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/H-EAL/oqpi/HEAD/include/oqpi/scheduling/scheduler.hpp -------------------------------------------------------------------------------- /include/oqpi/scheduling/sequence_group.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/H-EAL/oqpi/HEAD/include/oqpi/scheduling/sequence_group.hpp -------------------------------------------------------------------------------- /include/oqpi/scheduling/task.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/H-EAL/oqpi/HEAD/include/oqpi/scheduling/task.hpp -------------------------------------------------------------------------------- /include/oqpi/scheduling/task_base.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/H-EAL/oqpi/HEAD/include/oqpi/scheduling/task_base.hpp -------------------------------------------------------------------------------- /include/oqpi/scheduling/task_context.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/H-EAL/oqpi/HEAD/include/oqpi/scheduling/task_context.hpp -------------------------------------------------------------------------------- /include/oqpi/scheduling/task_group.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/H-EAL/oqpi/HEAD/include/oqpi/scheduling/task_group.hpp -------------------------------------------------------------------------------- /include/oqpi/scheduling/task_group_base.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/H-EAL/oqpi/HEAD/include/oqpi/scheduling/task_group_base.hpp -------------------------------------------------------------------------------- /include/oqpi/scheduling/task_handle.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/H-EAL/oqpi/HEAD/include/oqpi/scheduling/task_handle.hpp -------------------------------------------------------------------------------- /include/oqpi/scheduling/task_notifier.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/H-EAL/oqpi/HEAD/include/oqpi/scheduling/task_notifier.hpp -------------------------------------------------------------------------------- /include/oqpi/scheduling/task_result.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/H-EAL/oqpi/HEAD/include/oqpi/scheduling/task_result.hpp -------------------------------------------------------------------------------- /include/oqpi/scheduling/task_type.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/H-EAL/oqpi/HEAD/include/oqpi/scheduling/task_type.hpp -------------------------------------------------------------------------------- /include/oqpi/scheduling/worker.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/H-EAL/oqpi/HEAD/include/oqpi/scheduling/worker.hpp -------------------------------------------------------------------------------- /include/oqpi/scheduling/worker_base.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/H-EAL/oqpi/HEAD/include/oqpi/scheduling/worker_base.hpp -------------------------------------------------------------------------------- /include/oqpi/scheduling/worker_context.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/H-EAL/oqpi/HEAD/include/oqpi/scheduling/worker_context.hpp -------------------------------------------------------------------------------- /include/oqpi/scheduling_helpers.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/H-EAL/oqpi/HEAD/include/oqpi/scheduling_helpers.hpp -------------------------------------------------------------------------------- /include/oqpi/synchronization.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/H-EAL/oqpi/HEAD/include/oqpi/synchronization.hpp -------------------------------------------------------------------------------- /include/oqpi/synchronization/event.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/H-EAL/oqpi/HEAD/include/oqpi/synchronization/event.hpp -------------------------------------------------------------------------------- /include/oqpi/synchronization/interface/interface_event.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/H-EAL/oqpi/HEAD/include/oqpi/synchronization/interface/interface_event.hpp -------------------------------------------------------------------------------- /include/oqpi/synchronization/interface/interface_mutex.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/H-EAL/oqpi/HEAD/include/oqpi/synchronization/interface/interface_mutex.hpp -------------------------------------------------------------------------------- /include/oqpi/synchronization/interface/interface_semaphore.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/H-EAL/oqpi/HEAD/include/oqpi/synchronization/interface/interface_semaphore.hpp -------------------------------------------------------------------------------- /include/oqpi/synchronization/mutex.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/H-EAL/oqpi/HEAD/include/oqpi/synchronization/mutex.hpp -------------------------------------------------------------------------------- /include/oqpi/synchronization/posix/posix_event.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/H-EAL/oqpi/HEAD/include/oqpi/synchronization/posix/posix_event.hpp -------------------------------------------------------------------------------- /include/oqpi/synchronization/posix/posix_mutex.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/H-EAL/oqpi/HEAD/include/oqpi/synchronization/posix/posix_mutex.hpp -------------------------------------------------------------------------------- /include/oqpi/synchronization/posix/posix_semaphore.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/H-EAL/oqpi/HEAD/include/oqpi/synchronization/posix/posix_semaphore.hpp -------------------------------------------------------------------------------- /include/oqpi/synchronization/posix/posix_semaphore_wrapper.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/H-EAL/oqpi/HEAD/include/oqpi/synchronization/posix/posix_semaphore_wrapper.hpp -------------------------------------------------------------------------------- /include/oqpi/synchronization/posix/posix_sync.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/H-EAL/oqpi/HEAD/include/oqpi/synchronization/posix/posix_sync.hpp -------------------------------------------------------------------------------- /include/oqpi/synchronization/semaphore.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/H-EAL/oqpi/HEAD/include/oqpi/synchronization/semaphore.hpp -------------------------------------------------------------------------------- /include/oqpi/synchronization/sync.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/H-EAL/oqpi/HEAD/include/oqpi/synchronization/sync.hpp -------------------------------------------------------------------------------- /include/oqpi/synchronization/sync_common.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/H-EAL/oqpi/HEAD/include/oqpi/synchronization/sync_common.hpp -------------------------------------------------------------------------------- /include/oqpi/synchronization/win/win_event.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/H-EAL/oqpi/HEAD/include/oqpi/synchronization/win/win_event.hpp -------------------------------------------------------------------------------- /include/oqpi/synchronization/win/win_mutex.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/H-EAL/oqpi/HEAD/include/oqpi/synchronization/win/win_mutex.hpp -------------------------------------------------------------------------------- /include/oqpi/synchronization/win/win_semaphore.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/H-EAL/oqpi/HEAD/include/oqpi/synchronization/win/win_semaphore.hpp -------------------------------------------------------------------------------- /include/oqpi/synchronization/win/win_sync.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/H-EAL/oqpi/HEAD/include/oqpi/synchronization/win/win_sync.hpp -------------------------------------------------------------------------------- /include/oqpi/threading.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/H-EAL/oqpi/HEAD/include/oqpi/threading.hpp -------------------------------------------------------------------------------- /include/oqpi/threading/interface_thread.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/H-EAL/oqpi/HEAD/include/oqpi/threading/interface_thread.hpp -------------------------------------------------------------------------------- /include/oqpi/threading/posix_thread.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/H-EAL/oqpi/HEAD/include/oqpi/threading/posix_thread.hpp -------------------------------------------------------------------------------- /include/oqpi/threading/this_thread.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/H-EAL/oqpi/HEAD/include/oqpi/threading/this_thread.hpp -------------------------------------------------------------------------------- /include/oqpi/threading/thread.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/H-EAL/oqpi/HEAD/include/oqpi/threading/thread.hpp -------------------------------------------------------------------------------- /include/oqpi/threading/thread_attributes.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/H-EAL/oqpi/HEAD/include/oqpi/threading/thread_attributes.hpp -------------------------------------------------------------------------------- /include/oqpi/threading/win_thread.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/H-EAL/oqpi/HEAD/include/oqpi/threading/win_thread.hpp -------------------------------------------------------------------------------- /tests/catch_amalgamated.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/H-EAL/oqpi/HEAD/tests/catch_amalgamated.cpp -------------------------------------------------------------------------------- /tests/catch_amalgamated.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/H-EAL/oqpi/HEAD/tests/catch_amalgamated.hpp -------------------------------------------------------------------------------- /tests/event_tests.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/H-EAL/oqpi/HEAD/tests/event_tests.hpp -------------------------------------------------------------------------------- /tests/mutex_tests.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/H-EAL/oqpi/HEAD/tests/mutex_tests.hpp -------------------------------------------------------------------------------- /tests/oqpi_tests.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/H-EAL/oqpi/HEAD/tests/oqpi_tests.cpp -------------------------------------------------------------------------------- /tests/parallel_algorithms_tests.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/H-EAL/oqpi/HEAD/tests/parallel_algorithms_tests.hpp -------------------------------------------------------------------------------- /tests/scheduling_tests.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/H-EAL/oqpi/HEAD/tests/scheduling_tests.hpp -------------------------------------------------------------------------------- /tests/semaphore_tests.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/H-EAL/oqpi/HEAD/tests/semaphore_tests.hpp -------------------------------------------------------------------------------- /tests/sync_tests.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/H-EAL/oqpi/HEAD/tests/sync_tests.hpp -------------------------------------------------------------------------------- /tests/test_utils.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/H-EAL/oqpi/HEAD/tests/test_utils.hpp -------------------------------------------------------------------------------- /tests/threading_tests.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/H-EAL/oqpi/HEAD/tests/threading_tests.hpp -------------------------------------------------------------------------------- /tests/timer_contexts.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/H-EAL/oqpi/HEAD/tests/timer_contexts.hpp --------------------------------------------------------------------------------