libjmmcg
release_579_6_g8cffd
A C++ library containing an eclectic mix of useful, advanced components.
|
#include "stdafx.h"
#include <boost/test/included/unit_test.hpp>
#include <boost/mpl/list.hpp>
#include "core/thread_pool_sequential.hpp"
#include "core/thread_pool_master.hpp"
#include "core/thread_pool_workers.hpp"
#include <boost/bind/bind.hpp>
Go to the source code of this file.
Classes | |
struct | fifo_queue_t< Db, Sz, Jn, Mdl, PoolSize, GSSk > |
struct | lifo_queue_t< Db, Sz, Jn, Mdl, PoolSize, GSSk > |
struct | lifo_lockfree_queue_t< Db, Sz, Jn, Mdl, PoolSize, GSSk > |
struct | priority_queue_t< Db, Sz, Jn, Mdl, PoolSize, GSSk > |
struct | res_t |
struct | work_type |
struct | work_type_simple |
Macros | |
#define | BOOST_TEST_MODULE libjmmcg_tests |
Typedefs | |
typedef boost::mpl::list< fifo_queue_t< pool_traits::work_distribution_mode_t::worker_threads_get_work< pool_traits::work_distribution_mode_t::queue_model_t::pool_owns_queue >, pool_traits::size_mode_t::sequential, generic_traits::return_data::nonjoinable, sequential_mode >, fifo_queue_t< pool_traits::work_distribution_mode_t::worker_threads_get_work< pool_traits::work_distribution_mode_t::queue_model_t::pool_owns_queue >, pool_traits::size_mode_t::sequential, generic_traits::return_data::joinable, sequential_mode >, lifo_queue_t< pool_traits::work_distribution_mode_t::worker_threads_get_work< pool_traits::work_distribution_mode_t::queue_model_t::pool_owns_queue >, pool_traits::size_mode_t::sequential, generic_traits::return_data::nonjoinable, sequential_mode >, lifo_queue_t< pool_traits::work_distribution_mode_t::worker_threads_get_work< pool_traits::work_distribution_mode_t::queue_model_t::pool_owns_queue >, pool_traits::size_mode_t::sequential, generic_traits::return_data::joinable, sequential_mode >, lifo_lockfree_queue_t< pool_traits::work_distribution_mode_t::worker_threads_get_work< pool_traits::work_distribution_mode_t::queue_model_t::pool_owns_queue >, pool_traits::size_mode_t::sequential, generic_traits::return_data::nonjoinable, sequential_mode >, lifo_lockfree_queue_t< pool_traits::work_distribution_mode_t::worker_threads_get_work< pool_traits::work_distribution_mode_t::queue_model_t::pool_owns_queue >, pool_traits::size_mode_t::sequential, generic_traits::return_data::joinable, sequential_mode >, priority_queue_t< pool_traits::work_distribution_mode_t::worker_threads_get_work< pool_traits::work_distribution_mode_t::queue_model_t::pool_owns_queue >, pool_traits::size_mode_t::sequential, generic_traits::return_data::nonjoinable, sequential_mode >, priority_queue_t< pool_traits::work_distribution_mode_t::worker_threads_get_work< pool_traits::work_distribution_mode_t::queue_model_t::pool_owns_queue >, pool_traits::size_mode_t::sequential, generic_traits::return_data::joinable, sequential_mode >, fifo_queue_t< pool_traits::work_distribution_mode_t::worker_threads_get_work< pool_traits::work_distribution_mode_t::queue_model_t::pool_owns_queue >, pool_traits::size_mode_t::fixed_size, generic_traits::return_data::nonjoinable, heavyweight_threading, 1 >, fifo_queue_t< pool_traits::work_distribution_mode_t::worker_threads_get_work< pool_traits::work_distribution_mode_t::queue_model_t::pool_owns_queue >, pool_traits::size_mode_t::fixed_size, generic_traits::return_data::nonjoinable, heavyweight_threading, 1, 2 >, fifo_queue_t< pool_traits::work_distribution_mode_t::worker_threads_get_work< pool_traits::work_distribution_mode_t::queue_model_t::pool_owns_queue >, pool_traits::size_mode_t::fixed_size, generic_traits::return_data::joinable, heavyweight_threading, 1 >, lifo_queue_t< pool_traits::work_distribution_mode_t::worker_threads_get_work< pool_traits::work_distribution_mode_t::queue_model_t::pool_owns_queue >, pool_traits::size_mode_t::fixed_size, generic_traits::return_data::nonjoinable, heavyweight_threading, 1 >, lifo_queue_t< pool_traits::work_distribution_mode_t::worker_threads_get_work< pool_traits::work_distribution_mode_t::queue_model_t::pool_owns_queue >, pool_traits::size_mode_t::fixed_size, generic_traits::return_data::nonjoinable, heavyweight_threading, 1, 2 >, lifo_queue_t< pool_traits::work_distribution_mode_t::worker_threads_get_work< pool_traits::work_distribution_mode_t::queue_model_t::pool_owns_queue >, pool_traits::size_mode_t::fixed_size, generic_traits::return_data::joinable, heavyweight_threading, 1 >, priority_queue_t< pool_traits::work_distribution_mode_t::worker_threads_get_work< pool_traits::work_distribution_mode_t::queue_model_t::pool_owns_queue >, pool_traits::size_mode_t::fixed_size, generic_traits::return_data::nonjoinable, heavyweight_threading, 1 >, priority_queue_t< pool_traits::work_distribution_mode_t::worker_threads_get_work< pool_traits::work_distribution_mode_t::queue_model_t::pool_owns_queue >, pool_traits::size_mode_t::fixed_size, generic_traits::return_data::nonjoinable, heavyweight_threading, 1, 2 >, priority_queue_t< pool_traits::work_distribution_mode_t::worker_threads_get_work< pool_traits::work_distribution_mode_t::queue_model_t::pool_owns_queue >, pool_traits::size_mode_t::fixed_size, generic_traits::return_data::joinable, heavyweight_threading, 1 >, fifo_queue_t< pool_traits::work_distribution_mode_t::worker_threads_get_work< pool_traits::work_distribution_mode_t::queue_model_t::pool_owns_queue >, pool_traits::size_mode_t::fixed_size, generic_traits::return_data::nonjoinable, heavyweight_threading, 2 >, fifo_queue_t< pool_traits::work_distribution_mode_t::worker_threads_get_work< pool_traits::work_distribution_mode_t::queue_model_t::pool_owns_queue >, pool_traits::size_mode_t::fixed_size, generic_traits::return_data::joinable, heavyweight_threading, 2 >, lifo_queue_t< pool_traits::work_distribution_mode_t::worker_threads_get_work< pool_traits::work_distribution_mode_t::queue_model_t::pool_owns_queue >, pool_traits::size_mode_t::fixed_size, generic_traits::return_data::nonjoinable, heavyweight_threading, 2 >, lifo_queue_t< pool_traits::work_distribution_mode_t::worker_threads_get_work< pool_traits::work_distribution_mode_t::queue_model_t::pool_owns_queue >, pool_traits::size_mode_t::fixed_size, generic_traits::return_data::joinable, heavyweight_threading, 2 >, priority_queue_t< pool_traits::work_distribution_mode_t::worker_threads_get_work< pool_traits::work_distribution_mode_t::queue_model_t::pool_owns_queue >, pool_traits::size_mode_t::fixed_size, generic_traits::return_data::nonjoinable, heavyweight_threading, 2 >, priority_queue_t< pool_traits::work_distribution_mode_t::worker_threads_get_work< pool_traits::work_distribution_mode_t::queue_model_t::pool_owns_queue >, pool_traits::size_mode_t::fixed_size, generic_traits::return_data::joinable, heavyweight_threading, 2 >> | finite_test_types |
typedef boost::mpl::list< fifo_queue_t< pool_traits::work_distribution_mode_t::one_thread_distributes<>, pool_traits::size_mode_t::sequential, generic_traits::return_data::nonjoinable, sequential_mode >, fifo_queue_t< pool_traits::work_distribution_mode_t::one_thread_distributes<>, pool_traits::size_mode_t::sequential, generic_traits::return_data::joinable, sequential_mode >, lifo_queue_t< pool_traits::work_distribution_mode_t::one_thread_distributes<>, pool_traits::size_mode_t::sequential, generic_traits::return_data::nonjoinable, sequential_mode >, lifo_queue_t< pool_traits::work_distribution_mode_t::one_thread_distributes<>, pool_traits::size_mode_t::sequential, generic_traits::return_data::joinable, sequential_mode >, priority_queue_t< pool_traits::work_distribution_mode_t::one_thread_distributes<>, pool_traits::size_mode_t::sequential, generic_traits::return_data::nonjoinable, sequential_mode >, priority_queue_t< pool_traits::work_distribution_mode_t::one_thread_distributes<>, pool_traits::size_mode_t::sequential, generic_traits::return_data::joinable, sequential_mode >, fifo_queue_t< pool_traits::work_distribution_mode_t::one_thread_distributes<>, pool_traits::size_mode_t::infinite, generic_traits::return_data::nonjoinable, heavyweight_threading >, fifo_queue_t< pool_traits::work_distribution_mode_t::one_thread_distributes<>, pool_traits::size_mode_t::infinite, generic_traits::return_data::nonjoinable, heavyweight_threading, 0, 2 >, fifo_queue_t< pool_traits::work_distribution_mode_t::one_thread_distributes<>, pool_traits::size_mode_t::infinite, generic_traits::return_data::joinable, heavyweight_threading >, lifo_queue_t< pool_traits::work_distribution_mode_t::one_thread_distributes<>, pool_traits::size_mode_t::infinite, generic_traits::return_data::nonjoinable, heavyweight_threading >, lifo_queue_t< pool_traits::work_distribution_mode_t::one_thread_distributes<>, pool_traits::size_mode_t::infinite, generic_traits::return_data::nonjoinable, heavyweight_threading, 0, 2 >, lifo_queue_t< pool_traits::work_distribution_mode_t::one_thread_distributes<>, pool_traits::size_mode_t::infinite, generic_traits::return_data::joinable, heavyweight_threading >, priority_queue_t< pool_traits::work_distribution_mode_t::one_thread_distributes<>, pool_traits::size_mode_t::infinite, generic_traits::return_data::nonjoinable, heavyweight_threading >, priority_queue_t< pool_traits::work_distribution_mode_t::one_thread_distributes<>, pool_traits::size_mode_t::infinite, generic_traits::return_data::nonjoinable, heavyweight_threading, 0, 2 >, priority_queue_t< pool_traits::work_distribution_mode_t::one_thread_distributes<>, pool_traits::size_mode_t::infinite, generic_traits::return_data::joinable, heavyweight_threading >> | infinite_test_types |
Functions | |
BOOST_AUTO_TEST_CASE_TEMPLATE (one_thread, T, finite_test_types) | |
BOOST_AUTO_TEST_CASE_TEMPLATE (n_threads, T, finite_test_types) | |
BOOST_AUTO_TEST_CASE_TEMPLATE (add_one_work, T, finite_test_types) | |
BOOST_AUTO_TEST_CASE_TEMPLATE (add_one_work_boost_bind, T, finite_test_types) | |
BOOST_AUTO_TEST_CASE_TEMPLATE (add_one_work_time_critical_simple, T, finite_test_types) | |
BOOST_AUTO_TEST_CASE_TEMPLATE (add_two_work, T, finite_test_types) | |
BOOST_AUTO_TEST_CASE_TEMPLATE (add_two_work_atonce, T, finite_test_types) | |
BOOST_AUTO_TEST_CASE_TEMPLATE (default_ctor, T, infinite_test_types) | |
BOOST_AUTO_TEST_CASE_TEMPLATE (add_one_work, T, infinite_test_types) | |
BOOST_AUTO_TEST_CASE_TEMPLATE (add_one_work_boost_bind, T, infinite_test_types) | |
BOOST_AUTO_TEST_CASE_TEMPLATE (add_one_work_time_critical, T, infinite_test_types) | |
BOOST_AUTO_TEST_CASE_TEMPLATE (add_two_work, T, infinite_test_types) | |
BOOST_AUTO_TEST_CASE_TEMPLATE (add_two_work_atonce, T, infinite_test_types) | |
#define BOOST_TEST_MODULE libjmmcg_tests |
Definition at line 21 of file dataflow_basic.cpp.
typedef boost::mpl::list< fifo_queue_t<pool_traits::work_distribution_mode_t::worker_threads_get_work<pool_traits::work_distribution_mode_t::queue_model_t::pool_owns_queue>, pool_traits::size_mode_t::sequential, generic_traits::return_data::nonjoinable, sequential_mode>, fifo_queue_t<pool_traits::work_distribution_mode_t::worker_threads_get_work<pool_traits::work_distribution_mode_t::queue_model_t::pool_owns_queue>, pool_traits::size_mode_t::sequential, generic_traits::return_data::joinable, sequential_mode>, lifo_queue_t<pool_traits::work_distribution_mode_t::worker_threads_get_work<pool_traits::work_distribution_mode_t::queue_model_t::pool_owns_queue>, pool_traits::size_mode_t::sequential, generic_traits::return_data::nonjoinable, sequential_mode>, lifo_queue_t<pool_traits::work_distribution_mode_t::worker_threads_get_work<pool_traits::work_distribution_mode_t::queue_model_t::pool_owns_queue>, pool_traits::size_mode_t::sequential, generic_traits::return_data::joinable, sequential_mode>, lifo_lockfree_queue_t<pool_traits::work_distribution_mode_t::worker_threads_get_work<pool_traits::work_distribution_mode_t::queue_model_t::pool_owns_queue>, pool_traits::size_mode_t::sequential, generic_traits::return_data::nonjoinable, sequential_mode>, lifo_lockfree_queue_t<pool_traits::work_distribution_mode_t::worker_threads_get_work<pool_traits::work_distribution_mode_t::queue_model_t::pool_owns_queue>, pool_traits::size_mode_t::sequential, generic_traits::return_data::joinable, sequential_mode>, priority_queue_t<pool_traits::work_distribution_mode_t::worker_threads_get_work<pool_traits::work_distribution_mode_t::queue_model_t::pool_owns_queue>, pool_traits::size_mode_t::sequential, generic_traits::return_data::nonjoinable, sequential_mode>, priority_queue_t<pool_traits::work_distribution_mode_t::worker_threads_get_work<pool_traits::work_distribution_mode_t::queue_model_t::pool_owns_queue>, pool_traits::size_mode_t::sequential, generic_traits::return_data::joinable, sequential_mode>, fifo_queue_t<pool_traits::work_distribution_mode_t::worker_threads_get_work<pool_traits::work_distribution_mode_t::queue_model_t::pool_owns_queue>, pool_traits::size_mode_t::fixed_size, generic_traits::return_data::nonjoinable, heavyweight_threading, 1>, fifo_queue_t<pool_traits::work_distribution_mode_t::worker_threads_get_work<pool_traits::work_distribution_mode_t::queue_model_t::pool_owns_queue>, pool_traits::size_mode_t::fixed_size, generic_traits::return_data::nonjoinable, heavyweight_threading, 1, 2>, fifo_queue_t<pool_traits::work_distribution_mode_t::worker_threads_get_work<pool_traits::work_distribution_mode_t::queue_model_t::pool_owns_queue>, pool_traits::size_mode_t::fixed_size, generic_traits::return_data::joinable, heavyweight_threading, 1>, lifo_queue_t<pool_traits::work_distribution_mode_t::worker_threads_get_work<pool_traits::work_distribution_mode_t::queue_model_t::pool_owns_queue>, pool_traits::size_mode_t::fixed_size, generic_traits::return_data::nonjoinable, heavyweight_threading, 1>, lifo_queue_t<pool_traits::work_distribution_mode_t::worker_threads_get_work<pool_traits::work_distribution_mode_t::queue_model_t::pool_owns_queue>, pool_traits::size_mode_t::fixed_size, generic_traits::return_data::nonjoinable, heavyweight_threading, 1, 2>, lifo_queue_t<pool_traits::work_distribution_mode_t::worker_threads_get_work<pool_traits::work_distribution_mode_t::queue_model_t::pool_owns_queue>, pool_traits::size_mode_t::fixed_size, generic_traits::return_data::joinable, heavyweight_threading, 1>, priority_queue_t<pool_traits::work_distribution_mode_t::worker_threads_get_work<pool_traits::work_distribution_mode_t::queue_model_t::pool_owns_queue>, pool_traits::size_mode_t::fixed_size, generic_traits::return_data::nonjoinable, heavyweight_threading, 1>, priority_queue_t<pool_traits::work_distribution_mode_t::worker_threads_get_work<pool_traits::work_distribution_mode_t::queue_model_t::pool_owns_queue>, pool_traits::size_mode_t::fixed_size, generic_traits::return_data::nonjoinable, heavyweight_threading, 1, 2>, priority_queue_t<pool_traits::work_distribution_mode_t::worker_threads_get_work<pool_traits::work_distribution_mode_t::queue_model_t::pool_owns_queue>, pool_traits::size_mode_t::fixed_size, generic_traits::return_data::joinable, heavyweight_threading, 1>, fifo_queue_t<pool_traits::work_distribution_mode_t::worker_threads_get_work<pool_traits::work_distribution_mode_t::queue_model_t::pool_owns_queue>, pool_traits::size_mode_t::fixed_size, generic_traits::return_data::nonjoinable, heavyweight_threading, 2>, fifo_queue_t<pool_traits::work_distribution_mode_t::worker_threads_get_work<pool_traits::work_distribution_mode_t::queue_model_t::pool_owns_queue>, pool_traits::size_mode_t::fixed_size, generic_traits::return_data::joinable, heavyweight_threading, 2>, lifo_queue_t<pool_traits::work_distribution_mode_t::worker_threads_get_work<pool_traits::work_distribution_mode_t::queue_model_t::pool_owns_queue>, pool_traits::size_mode_t::fixed_size, generic_traits::return_data::nonjoinable, heavyweight_threading, 2>, lifo_queue_t<pool_traits::work_distribution_mode_t::worker_threads_get_work<pool_traits::work_distribution_mode_t::queue_model_t::pool_owns_queue>, pool_traits::size_mode_t::fixed_size, generic_traits::return_data::joinable, heavyweight_threading, 2>, priority_queue_t<pool_traits::work_distribution_mode_t::worker_threads_get_work<pool_traits::work_distribution_mode_t::queue_model_t::pool_owns_queue>, pool_traits::size_mode_t::fixed_size, generic_traits::return_data::nonjoinable, heavyweight_threading, 2>, priority_queue_t<pool_traits::work_distribution_mode_t::worker_threads_get_work<pool_traits::work_distribution_mode_t::queue_model_t::pool_owns_queue>, pool_traits::size_mode_t::fixed_size, generic_traits::return_data::joinable, heavyweight_threading, 2>> finite_test_types |
Definition at line 141 of file dataflow_basic.cpp.
typedef boost::mpl::list<> infinite_test_types |
Definition at line 167 of file dataflow_basic.cpp.
BOOST_AUTO_TEST_CASE_TEMPLATE | ( | add_one_work | , |
T | , | ||
finite_test_types | |||
) |
Definition at line 246 of file dataflow_basic.cpp.
References work_type_simple::work_type_simple().
BOOST_AUTO_TEST_CASE_TEMPLATE | ( | add_one_work | , |
T | , | ||
infinite_test_types | |||
) |
Definition at line 308 of file dataflow_basic.cpp.
References work_type_simple::work_type_simple().
BOOST_AUTO_TEST_CASE_TEMPLATE | ( | add_one_work_boost_bind | , |
T | , | ||
finite_test_types | |||
) |
Definition at line 255 of file dataflow_basic.cpp.
References work_type_simple::exec(), and work_type_simple::work_type_simple().
BOOST_AUTO_TEST_CASE_TEMPLATE | ( | add_one_work_boost_bind | , |
T | , | ||
infinite_test_types | |||
) |
Definition at line 316 of file dataflow_basic.cpp.
References work_type_simple::exec(), and work_type_simple::work_type_simple().
BOOST_AUTO_TEST_CASE_TEMPLATE | ( | add_one_work_time_critical | , |
T | , | ||
infinite_test_types | |||
) |
Definition at line 324 of file dataflow_basic.cpp.
References work_type::work_type().
BOOST_AUTO_TEST_CASE_TEMPLATE | ( | add_one_work_time_critical_simple | , |
T | , | ||
finite_test_types | |||
) |
Definition at line 264 of file dataflow_basic.cpp.
References work_type_simple::work_type_simple().
BOOST_AUTO_TEST_CASE_TEMPLATE | ( | add_two_work | , |
T | , | ||
finite_test_types | |||
) |
Definition at line 274 of file dataflow_basic.cpp.
References work_type::work_type().
BOOST_AUTO_TEST_CASE_TEMPLATE | ( | add_two_work | , |
T | , | ||
infinite_test_types | |||
) |
Definition at line 333 of file dataflow_basic.cpp.
References work_type::work_type().
BOOST_AUTO_TEST_CASE_TEMPLATE | ( | add_two_work_atonce | , |
T | , | ||
finite_test_types | |||
) |
Definition at line 284 of file dataflow_basic.cpp.
References work_type_simple::work_type_simple().
BOOST_AUTO_TEST_CASE_TEMPLATE | ( | add_two_work_atonce | , |
T | , | ||
infinite_test_types | |||
) |
Definition at line 342 of file dataflow_basic.cpp.
References work_type_simple::work_type_simple().
BOOST_AUTO_TEST_CASE_TEMPLATE | ( | default_ctor | , |
T | , | ||
infinite_test_types | |||
) |
Definition at line 297 of file dataflow_basic.cpp.
BOOST_AUTO_TEST_CASE_TEMPLATE | ( | n_threads | , |
T | , | ||
finite_test_types | |||
) |
Definition at line 234 of file dataflow_basic.cpp.
BOOST_AUTO_TEST_CASE_TEMPLATE | ( | one_thread | , |
T | , | ||
finite_test_types | |||
) |
Definition at line 222 of file dataflow_basic.cpp.