codepad
[
create a new paste
]
login
|
about
Language:
C
C++
D
Haskell
Lua
OCaml
PHP
Perl
Plain Text
Python
Ruby
Scheme
Tcl
In file included from thread_pool_test.cpp:12: thread_pool.hpp:225:75: error: ‘is_void_v’ is not a member of ‘std’; did you mean ‘is_void’? 225 | template <typename F, typename... A, typename = std::enable_if_t<std::is_void_v<std::invoke_result_t<std::decay_t<F>, std::decay_t<A>...>>>> | ^~~~~~~~~ | is_void thread_pool.hpp:225:75: error: ‘is_void_v’ is not a member of ‘std’; did you mean ‘is_void’? 225 | template <typename F, typename... A, typename = std::enable_if_t<std::is_void_v<std::invoke_result_t<std::decay_t<F>, std::decay_t<A>...>>>> | ^~~~~~~~~ | is_void thread_pool.hpp:225:90: error: ‘invoke_result_t’ is not a member of ‘std’ 225 | template <typename F, typename... A, typename = std::enable_if_t<std::is_void_v<std::invoke_result_t<std::decay_t<F>, std::decay_t<A>...>>>> | ^~~~~~~~~~~~~~~ thread_pool.hpp:225:138: error: pack expansion argument for non-pack parameter ‘_Tp’ of alias template ‘template<bool _Cond, class _Tp> using enable_if_t = typename std::enable_if::type’ 225 | template <typename F, typename... A, typename = std::enable_if_t<std::is_void_v<std::invoke_result_t<std::decay_t<F>, std::decay_t<A>...>>>> | ^~~ In file included from /usr/include/c++/9/bits/move.h:55, from /usr/include/c++/9/bits/nested_exception.h:40, from /usr/include/c++/9/exception:144, from /usr/include/c++/9/ios:39, from /usr/include/c++/9/istream:38, from /usr/include/c++/9/fstream:38, from thread_pool_test.cpp:6: /usr/include/c++/9/type_traits:2377:24: note: declared here 2377 | template<bool _Cond, typename _Tp = void> | ^~~~~~~~ In file included from thread_pool_test.cpp:12: thread_pool.hpp:225:143: error: expected unqualified-id before ‘>>’ token 225 | template <typename F, typename... A, typename = std::enable_if_t<std::is_void_v<std::invoke_result_t<std::decay_t<F>, std::decay_t<A>...>>>> | ^~ thread_pool.hpp:261:60: error: ‘invoke_result_t’ in namespace ‘std’ does not name a template type 261 | template <typename F, typename... A, typename R = std::invoke_result_t<std::decay_t<F>, std::decay_t<A>...>, typename = std::enable_if_t<!std::is_void_v<R>>> | ^~~~~~~~~~~~~~~ thread_pool.hpp:261:75: error: expected ‘>’ before ‘<’ token 261 | template <typename F, typename... A, typename R = std::invoke_result_t<std::decay_t<F>, std::decay_t<A>...>, typename = std::enable_if_t<!std::is_void_v<R>>> | ^ thread_pool.hpp:314:32: error: use of deleted function ‘std::atomic<bool>::atomic(const std::atomic<bool>&)’ 314 | std::atomic<bool> paused = false; | ^~~~~ In file included from thread_pool.hpp:17, from thread_pool_test.cpp:12: /usr/include/c++/9/atomic:73:5: note: declared here 73 | atomic(const atomic&) = delete; | ^~~~~~ /usr/include/c++/9/atomic:77:15: note: after user-defined conversion: ‘constexpr std::atomic<bool>::atomic(bool)’ 77 | constexpr atomic(bool __i) noexcept : _M_base(__i) { } | ^~~~~~ In file included from thread_pool_test.cpp:12: thread_pool.hpp:411:33: error: use of deleted function ‘std::atomic<bool>::atomic(const std::atomic<bool>&)’ 411 | std::atomic<bool> running = true; | ^~~~ In file included from thread_pool.hpp:17, from thread_pool_test.cpp:12: /usr/include/c++/9/atomic:73:5: note: declared here 73 | atomic(const atomic&) = delete; | ^~~~~~ /usr/include/c++/9/atomic:77:15: note: after user-defined conversion: ‘constexpr std::atomic<bool>::atomic(bool)’ 77 | constexpr atomic(bool __i) noexcept : _M_base(__i) { } | ^~~~~~ In file included from thread_pool_test.cpp:12: thread_pool.hpp:431:37: error: use of deleted function ‘std::atomic<long unsigned int>::atomic(const std::atomic<long unsigned int>&)’ 431 | std::atomic<ui32> tasks_total = 0; | ^ In file included from thread_pool.hpp:17, from thread_pool_test.cpp:12: /usr/include/c++/9/atomic:824:7: note: declared here 824 | atomic(const atomic&) = delete; | ^~~~~~ /usr/include/c++/9/atomic:828:17: note: after user-defined conversion: ‘constexpr std::atomic<long unsigned int>::atomic(std::atomic<long unsigned int>::__integral_type)’ 828 | constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { } | ^~~~~~ In file included from thread_pool_test.cpp:12: thread_pool.hpp: In member function ‘thread_pool::ui64 thread_pool::get_tasks_queued() const’: thread_pool.hpp:78:20: error: ‘scoped_lock’ in namespace ‘std’ does not name a type 78 | const std::scoped_lock lock(queue_mutex); | ^~~~~~~~~~~ thread_pool.hpp:78:15: note: ‘std::scoped_lock’ is only available from C++17 onwards 78 | const std::scoped_lock lock(queue_mutex); | ^~~ thread_pool.hpp: In member function ‘void thread_pool::push_task(const F&)’: thread_pool.hpp:176:24: error: ‘scoped_lock’ in namespace ‘std’ does not name a type 176 | const std::scoped_lock lock(queue_mutex); | ^~~~~~~~~~~ thread_pool.hpp:176:19: note: ‘std::scoped_lock’ is only available from C++17 onwards 176 | const std::scoped_lock lock(queue_mutex); | ^~~ thread_pool.hpp: In member function ‘bool thread_pool::pop_task(std::function<void()>&)’: thread_pool.hpp:356:20: error: ‘scoped_lock’ in namespace ‘std’ does not name a type 356 | const std::scoped_lock lock(queue_mutex); | ^~~~~~~~~~~ thread_pool.hpp:356:15: note: ‘std::scoped_lock’ is only available from C++17 onwards 356 | const std::scoped_lock lock(queue_mutex); | ^~~ thread_pool.hpp: In member function ‘void synced_stream::print(const T& ...)’: thread_pool.hpp:463:20: error: ‘scoped_lock’ in namespace ‘std’ does not name a type 463 | const std::scoped_lock lock(stream_mutex); | ^~~~~~~~~~~ thread_pool.hpp:463:15: note: ‘std::scoped_lock’ is only available from C++17 onwards 463 | const std::scoped_lock lock(stream_mutex); | ^~~ thread_pool.hpp:464:31: warning: fold-expressions only available with ‘-std=c++17’ or ‘-std=gnu++17’ 464 | (out_stream << ... << items); | ^~~~~ thread_pool_test.cpp: In function ‘ui32 count_unique_threads()’: thread_pool_test.cpp:126:10: error: ‘sort’ is not a member of ‘std’; did you mean ‘sqrt’? 126 | std::sort(thread_IDs.begin(), thread_IDs.end()); | ^~~~ | sqrt thread_pool_test.cpp:127:39: error: ‘unique’ is not a member of ‘std’ 127 | ui32 unique_threads = (ui32)(std::unique(thread_IDs.begin(), thread_IDs.end()) - thread_IDs.begin()); | ^~~~~~ thread_pool_test.cpp: In function ‘void check_submit()’: thread_pool_test.cpp:202:54: error: no matching function for call to ‘thread_pool::submit(check_submit()::<lambda()>)’ 202 | { flag = true; }); | ^ In file included from thread_pool_test.cpp:12: thread_pool.hpp:262:20: note: candidate: ‘template<class F, class ... A, class R> std::future<R> thread_pool::submit(const F&, const A& ...)’ 262 | std::future<R> submit(const F &task, const A &...args) | ^~~~~~ thread_pool.hpp:262:20: note: template argument deduction/substitution failed: thread_pool_test.cpp:210:43: error: no matching function for call to ‘thread_pool::submit(check_submit()::<lambda(bool*)>, bool*)’ 210 | &flag); | ^ In file included from thread_pool_test.cpp:12: thread_pool.hpp:262:20: note: candidate: ‘template<class F, class ... A, class R> std::future<R> thread_pool::submit(const F&, const A& ...)’ 262 | std::future<R> submit(const F &task, const A &...args) | ^~~~~~ thread_pool.hpp:262:20: note: template argument deduction/substitution failed: thread_pool_test.cpp:219:52: error: no matching function for call to ‘thread_pool::submit(check_submit()::<lambda(bool*, bool*)>, bool*, bool*)’ 219 | &flag1, &flag2); | ^ In file included from thread_pool_test.cpp:12: thread_pool.hpp:262:20: note: candidate: ‘template<class F, class ... A, class R> std::future<R> thread_pool::submit(const F&, const A& ...)’ 262 | std::future<R> submit(const F &task, const A &...args) | ^~~~~~ thread_pool.hpp:262:20: note: template argument deduction/substitution failed: thread_pool_test.cpp:229:39: error: no matching function for call to ‘thread_pool::submit(check_submit()::<lambda()>)’ 229 | }); | ^ In file included from thread_pool_test.cpp:12: thread_pool.hpp:262:20: note: candidate: ‘template<class F, class ... A, class R> std::future<R> thread_pool::submit(const F&, const A& ...)’ 262 | std::future<R> submit(const F &task, const A &...args) | ^~~~~~ thread_pool.hpp:262:20: note: template argument deduction/substitution failed: thread_pool_test.cpp:240:43: error: no matching function for call to ‘thread_pool::submit(check_submit()::<lambda(bool*)>, bool*)’ 240 | &flag); | ^ In file included from thread_pool_test.cpp:12: thread_pool.hpp:262:20: note: candidate: ‘template<class F, class ... A, class R> std::future<R> thread_pool::submit(const F&, const A& ...)’ 262 | std::future<R> submit(const F &task, const A &...args) | ^~~~~~ thread_pool.hpp:262:20: note: template argument deduction/substitution failed: thread_pool_test.cpp:252:52: error: no matching function for call to ‘thread_pool::submit(check_submit()::<lambda(bool*, bool*)>, bool*, bool*)’ 252 | &flag1, &flag2); | ^ In file included from thread_pool_test.cpp:12: thread_pool.hpp:262:20: note: candidate: ‘template<class F, class ... A, class R> std::future<R> thread_pool::submit(const F&, const A& ...)’ 262 | std::future<R> submit(const F &task, const A &...args) | ^~~~~~ thread_pool.hpp:262:20: note: template argument deduction/substitution failed: thread_pool_test.cpp: In function ‘void check_exceptions()’: thread_pool_test.cpp:443:84: error: no matching function for call to ‘thread_pool::submit(check_exceptions()::<lambda()>)’ 443 | { throw std::runtime_error("Exception thrown!"); }); | ^ In file included from thread_pool_test.cpp:12: thread_pool.hpp:262:20: note: candidate: ‘template<class F, class ... A, class R> std::future<R> thread_pool::submit(const F&, const A& ...)’ 262 | std::future<R> submit(const F &task, const A &...args) | ^~~~~~ thread_pool.hpp:262:20: note: template argument deduction/substitution failed: thread_pool_test.cpp: In function ‘double print_speedup(const std::vector<double>&)’: thread_pool_test.cpp:883:16: warning: structured bindings only available with ‘-std=c++17’ or ‘-std=gnu++17’ 883 | const auto [min_time, max_time] = std::minmax_element(std::begin(timings), std::end(timings)); | ^ thread_pool_test.cpp:883:44: error: ‘minmax_element’ is not a member of ‘std’ 883 | const auto [min_time, max_time] = std::minmax_element(std::begin(timings), std::end(timings)); | ^~~~~~~~~~~~~~ thread_pool_test.cpp: In function ‘std::pair<double, double> analyze(const std::vector<long int>&)’: thread_pool_test.cpp:904:21: error: missing template arguments before ‘(’ token 904 | return std::pair(mean, sd); | ^ thread_pool_test.cpp: In function ‘void check_performance()’: thread_pool_test.cpp:1046:38: error: ‘max_element’ is not a member of ‘std’; did you mean ‘tuple_element’? 1046 | const double max_speedup = *std::max_element(std::begin(speedups), std::end(speedups)); | ^~~~~~~~~~~ | tuple_element In file included from thread_pool_test.cpp:12: thread_pool.hpp: In instantiation of ‘void thread_pool::parallelize_loop(const T1&, const T2&, const F&, thread_pool::ui32) [with T1 = long int; T2 = long int; F = check_parallelize_loop(i32, i32, const ui32&)::<lambda(const i32&, const i32&)>; thread_pool::ui32 = long unsigned int]’: thread_pool_test.cpp:298:18: required from here thread_pool.hpp:147:27: error: use of deleted function ‘std::atomic<long unsigned int>::atomic(const std::atomic<long unsigned int>&)’ 147 | std::atomic<ui32> blocks_running = 0; | ^~~~~~~~~~~~~~ In file included from thread_pool.hpp:17, from thread_pool_test.cpp:12: /usr/include/c++/9/atomic:824:7: note: declared here 824 | atomic(const atomic&) = delete; | ^~~~~~ /usr/include/c++/9/atomic:828:17: note: after user-defined conversion: ‘constexpr std::atomic<long unsigned int>::atomic(std::atomic<long unsigned int>::__integral_type)’ 828 | constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { } | ^~~~~~ In file included from thread_pool_test.cpp:12: thread_pool.hpp: In instantiation of ‘void thread_pool::parallelize_loop(const T1&, const T2&, const F&, thread_pool::ui32) [with T1 = int; T2 = long unsigned int; F = random_matrix_generator<T, D>::generate_matrix(const ui64&, const ui64&, const ui32&) [with T = long int; D = std::uniform_int_distribution<long int>; ui64 = long unsigned int; ui32 = long unsigned int]::<lambda(const ui64&, const ui64&)>; thread_pool::ui32 = long unsigned int]’: thread_pool_test.cpp:779:13: required from ‘matrix<T> random_matrix_generator<T, D>::generate_matrix(const ui64&, const ui64&, const ui32&) [with T = long int; D = std::uniform_int_distribution<long int>; ui64 = long unsigned int; ui32 = long unsigned int]’ thread_pool_test.cpp:835:65: required from here thread_pool.hpp:147:27: error: use of deleted function ‘std::atomic<long unsigned int>::atomic(const std::atomic<long unsigned int>&)’ 147 | std::atomic<ui32> blocks_running = 0; | ^~~~~~~~~~~~~~ In file included from thread_pool.hpp:17, from thread_pool_test.cpp:12: /usr/include/c++/9/atomic:824:7: note: declared here 824 | atomic(const atomic&) = delete; | ^~~~~~ /usr/include/c++/9/atomic:828:17: note: after user-defined conversion: ‘constexpr std::atomic<long unsigned int>::atomic(std::atomic<long unsigned int>::__integral_type)’ 828 | constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { } | ^~~~~~ In file included from thread_pool_test.cpp:12: thread_pool.hpp: In instantiation of ‘void thread_pool::parallelize_loop(const T1&, const T2&, const F&, thread_pool::ui32) [with T1 = int; T2 = long unsigned int; F = add_matrices(const matrix<long int>&, const matrix<long int>&, const ui32&)::<lambda(const ui64&, const ui64&)>; thread_pool::ui32 = long unsigned int]’: thread_pool_test.cpp:659:13: required from ‘matrix<long int> add_matrices(const matrix<long int>&, const matrix<long int>&, const ui32&)’ thread_pool_test.cpp:839:50: required from here thread_pool.hpp:147:27: error: use of deleted function ‘std::atomic<long unsigned int>::atomic(const std::atomic<long unsigned int>&)’ 147 | std::atomic<ui32> blocks_running = 0; | ^~~~~~~~~~~~~~ In file included from thread_pool.hpp:17, from thread_pool_test.cpp:12: /usr/include/c++/9/atomic:824:7: note: declared here 824 | atomic(const atomic&) = delete; | ^~~~~~ /usr/include/c++/9/atomic:828:17: note: after user-defined conversion: ‘constexpr std::atomic<long unsigned int>::atomic(std::atomic<long unsigned int>::__integral_type)’ 828 | constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { } | ^~~~~~ In file included from thread_pool_test.cpp:12: thread_pool.hpp: In instantiation of ‘void thread_pool::parallelize_loop(const T1&, const T2&, const F&, thread_pool::ui32) [with T1 = int; T2 = long unsigned int; F = matrix<T>::transpose(const ui32&) const [with T = long int; ui32 = long unsigned int]::<lambda(const ui64&, const ui64&)>; thread_pool::ui32 = long unsigned int]’: thread_pool_test.cpp:628:13: required from ‘matrix<T> matrix<T>::transpose(const ui32&) const [with T = long int; ui32 = long unsigned int]’ thread_pool_test.cpp:846:42: required from here thread_pool.hpp:147:27: error: use of deleted function ‘std::atomic<long unsigned int>::atomic(const std::atomic<long unsigned int>&)’ 147 | std::atomic<ui32> blocks_running = 0; | ^~~~~~~~~~~~~~ In file included from thread_pool.hpp:17, from thread_pool_test.cpp:12: /usr/include/c++/9/atomic:824:7: note: declared here 824 | atomic(const atomic&) = delete; | ^~~~~~ /usr/include/c++/9/atomic:828:17: note: after user-defined conversion: ‘constexpr std::atomic<long unsigned int>::atomic(std::atomic<long unsigned int>::__integral_type)’ 828 | constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { } | ^~~~~~ In file included from thread_pool_test.cpp:12: thread_pool.hpp: In instantiation of ‘void thread_pool::parallelize_loop(const T1&, const T2&, const F&, thread_pool::ui32) [with T1 = int; T2 = long unsigned int; F = multiply_matrices(const matrix<long int>&, const matrix<long int>&, const ui32&)::<lambda(const ui64&, const ui64&)>; thread_pool::ui32 = long unsigned int]’: thread_pool_test.cpp:692:13: required from ‘matrix<long int> multiply_matrices(const matrix<long int>&, const matrix<long int>&, const ui32&)’ thread_pool_test.cpp:853:55: required from here thread_pool.hpp:147:27: error: use of deleted function ‘std::atomic<long unsigned int>::atomic(const std::atomic<long unsigned int>&)’ 147 | std::atomic<ui32> blocks_running = 0; | ^~~~~~~~~~~~~~ In file included from thread_pool.hpp:17, from thread_pool_test.cpp:12: /usr/include/c++/9/atomic:824:7: note: declared here 824 | atomic(const atomic&) = delete; | ^~~~~~ /usr/include/c++/9/atomic:828:17: note: after user-defined conversion: ‘constexpr std::atomic<long unsigned int>::atomic(std::atomic<long unsigned int>::__integral_type)’ 828 | constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { } | ^~~~~~ In file included from thread_pool_test.cpp:12: thread_pool.hpp: In instantiation of ‘void thread_pool::parallelize_loop(const T1&, const T2&, const F&, thread_pool::ui32) [with T1 = int; T2 = long unsigned int; F = random_matrix_generator<T, D>::generate_matrix(const ui64&, const ui64&, const ui32&) [with T = double; D = std::uniform_real_distribution<double>; ui64 = long unsigned int; ui32 = long unsigned int]::<lambda(const ui64&, const ui64&)>; thread_pool::ui32 = long unsigned int]’: thread_pool_test.cpp:779:13: required from ‘matrix<T> random_matrix_generator<T, D>::generate_matrix(const ui64&, const ui64&, const ui32&) [with T = double; D = std::uniform_real_distribution<double>; ui64 = long unsigned int; ui32 = long unsigned int]’ thread_pool_test.cpp:933:68: required from here thread_pool.hpp:147:27: error: use of deleted function ‘std::atomic<long unsigned int>::atomic(const std::atomic<long unsigned int>&)’ 147 | std::atomic<ui32> blocks_running = 0; | ^~~~~~~~~~~~~~ In file included from thread_pool.hpp:17, from thread_pool_test.cpp:12: /usr/include/c++/9/atomic:824:7: note: declared here 824 | atomic(const atomic&) = delete; | ^~~~~~ /usr/include/c++/9/atomic:828:17: note: after user-defined conversion: ‘constexpr std::atomic<long unsigned int>::atomic(std::atomic<long unsigned int>::__integral_type)’ 828 | constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { } | ^~~~~~ In file included from thread_pool_test.cpp:12: thread_pool.hpp: In instantiation of ‘void thread_pool::parallelize_loop(const T1&, const T2&, const F&, thread_pool::ui32) [with T1 = int; T2 = long unsigned int; F = add_matrices(const matrix<double>&, const matrix<double>&, const ui32&)::<lambda(const ui64&, const ui64&)>; thread_pool::ui32 = long unsigned int]’: thread_pool_test.cpp:659:13: required from ‘matrix<double> add_matrices(const matrix<double>&, const matrix<double>&, const ui32&)’ thread_pool_test.cpp:950:59: required from here thread_pool.hpp:147:27: error: use of deleted function ‘std::atomic<long unsigned int>::atomic(const std::atomic<long unsigned int>&)’ 147 | std::atomic<ui32> blocks_running = 0; | ^~~~~~~~~~~~~~ In file included from thread_pool.hpp:17, from thread_pool_test.cpp:12: /usr/include/c++/9/atomic:824:7: note: declared here 824 | atomic(const atomic&) = delete; | ^~~~~~ /usr/include/c++/9/atomic:828:17: note: after user-defined conversion: ‘constexpr std::atomic<long unsigned int>::atomic(std::atomic<long unsigned int>::__integral_type)’ 828 | constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { } | ^~~~~~ In file included from thread_pool_test.cpp:12: thread_pool.hpp: In instantiation of ‘void thread_pool::parallelize_loop(const T1&, const T2&, const F&, thread_pool::ui32) [with T1 = int; T2 = long unsigned int; F = matrix<T>::transpose(const ui32&) const [with T = double; ui32 = long unsigned int]::<lambda(const ui64&, const ui64&)>; thread_pool::ui32 = long unsigned int]’: thread_pool_test.cpp:628:13: required from ‘matrix<T> matrix<T>::transpose(const ui32&) const [with T = double; ui32 = long unsigned int]’ thread_pool_test.cpp:951:52: required from here thread_pool.hpp:147:27: error: use of deleted function ‘std::atomic<long unsigned int>::atomic(const std::atomic<long unsigned int>&)’ 147 | std::atomic<ui32> blocks_running = 0; | ^~~~~~~~~~~~~~ In file included from thread_pool.hpp:17, from thread_pool_test.cpp:12: /usr/include/c++/9/atomic:824:7: note: declared here 824 | atomic(const atomic&) = delete; | ^~~~~~ /usr/include/c++/9/atomic:828:17: note: after user-defined conversion: ‘constexpr std::atomic<long unsigned int>::atomic(std::atomic<long unsigned int>::__integral_type)’ 828 | constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { } | ^~~~~~ In file included from thread_pool_test.cpp:12: thread_pool.hpp: In instantiation of ‘void thread_pool::parallelize_loop(const T1&, const T2&, const F&, thread_pool::ui32) [with T1 = int; T2 = long unsigned int; F = multiply_matrices(const matrix<double>&, const matrix<double>&, const ui32&)::<lambda(const ui64&, const ui64&)>; thread_pool::ui32 = long unsigned int]’: thread_pool_test.cpp:692:13: required from ‘matrix<double> multiply_matrices(const matrix<double>&, const matrix<double>&, const ui32&)’ thread_pool_test.cpp:952:64: required from here thread_pool.hpp:147:27: error: use of deleted function ‘std::atomic<long unsigned int>::atomic(const std::atomic<long unsigned int>&)’ 147 | std::atomic<ui32> blocks_running = 0; | ^~~~~~~~~~~~~~ In file included from thread_pool.hpp:17, from thread_pool_test.cpp:12: /usr/include/c++/9/atomic:824:7: note: declared here 824 | atomic(const atomic&) = delete; | ^~~~~~ /usr/include/c++/9/atomic:828:17: note: after user-defined conversion: ‘constexpr std::atomic<long unsigned int>::atomic(std::atomic<long unsigned int>::__integral_type)’ 828 | constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { } | ^~~~~~ In file included from thread_pool_test.cpp:12: thread_pool.hpp: At global scope: thread_pool.hpp:172:10: error: ‘void thread_pool::push_task(const F&) [with F = thread_pool::parallelize_loop(const T1&, const T2&, const F&, thread_pool::ui32) [with T1 = long int; T2 = long int; F = check_parallelize_loop(i32, i32, const ui32&)::<lambda(const i32&, const i32&)>; thread_pool::ui32 = long unsigned int]::<lambda()>]’, declared using local type ‘const thread_pool::parallelize_loop(const T1&, const T2&, const F&, thread_pool::ui32) [with T1 = long int; T2 = long int; F = check_parallelize_loop(i32, i32, const ui32&)::<lambda(const i32&, const i32&)>; thread_pool::ui32 = long unsigned int]::<lambda()>’, is used but never defined [-fpermissive] 172 | void push_task(const F &task) | ^~~~~~~~~ thread_pool.hpp:172:10: error: ‘void thread_pool::push_task(const F&) [with F = thread_pool::parallelize_loop(const T1&, const T2&, const F&, thread_pool::ui32) [with T1 = int; T2 = long unsigned int; F = random_matrix_generator<T, D>::generate_matrix(const ui64&, const ui64&, const ui32&) [with T = long int; D = std::uniform_int_distribution<long int>; ui64 = long unsigned int; ui32 = long unsigned int]::<lambda(const ui64&, const ui64&)>; thread_pool::ui32 = long unsigned int]::<lambda()>]’, declared using local type ‘const thread_pool::parallelize_loop(const T1&, const T2&, const F&, thread_pool::ui32) [with T1 = int; T2 = long unsigned int; F = random_matrix_generator<T, D>::generate_matrix(const ui64&, const ui64&, const ui32&) [with T = long int; D = std::uniform_int_distribution<long int>; ui64 = long unsigned int; ui32 = long unsigned int]::<lambda(const ui64&, const ui64&)>; thread_pool::ui32 = long unsigned int]::<lambda()>’, is used but never defined [-fpermissive] thread_pool.hpp:172:10: error: ‘void thread_pool::push_task(const F&) [with F = thread_pool::parallelize_loop(const T1&, const T2&, const F&, thread_pool::ui32) [with T1 = int; T2 = long unsigned int; F = add_matrices(const matrix<long int>&, const matrix<long int>&, const ui32&)::<lambda(const ui64&, const ui64&)>; thread_pool::ui32 = long unsigned int]::<lambda()>]’, declared using local type ‘const thread_pool::parallelize_loop(const T1&, const T2&, const F&, thread_pool::ui32) [with T1 = int; T2 = long unsigned int; F = add_matrices(const matrix<long int>&, const matrix<long int>&, const ui32&)::<lambda(const ui64&, const ui64&)>; thread_pool::ui32 = long unsigned int]::<lambda()>’, is used but never defined [-fpermissive] thread_pool.hpp:172:10: error: ‘void thread_pool::push_task(const F&) [with F = thread_pool::parallelize_loop(const T1&, const T2&, const F&, thread_pool::ui32) [with T1 = int; T2 = long unsigned int; F = matrix<T>::transpose(const ui32&) const [with T = long int; ui32 = long unsigned int]::<lambda(const ui64&, const ui64&)>; thread_pool::ui32 = long unsigned int]::<lambda()>]’, declared using local type ‘const thread_pool::parallelize_loop(const T1&, const T2&, const F&, thread_pool::ui32) [with T1 = int; T2 = long unsigned int; F = matrix<T>::transpose(const ui32&) const [with T = long int; ui32 = long unsigned int]::<lambda(const ui64&, const ui64&)>; thread_pool::ui32 = long unsigned int]::<lambda()>’, is used but never defined [-fpermissive] thread_pool.hpp:172:10: error: ‘void thread_pool::push_task(const F&) [with F = thread_pool::parallelize_loop(const T1&, const T2&, const F&, thread_pool::ui32) [with T1 = int; T2 = long unsigned int; F = multiply_matrices(const matrix<long int>&, const matrix<long int>&, const ui32&)::<lambda(const ui64&, const ui64&)>; thread_pool::ui32 = long unsigned int]::<lambda()>]’, declared using local type ‘const thread_pool::parallelize_loop(const T1&, const T2&, const F&, thread_pool::ui32) [with T1 = int; T2 = long unsigned int; F = multiply_matrices(const matrix<long int>&, const matrix<long int>&, const ui32&)::<lambda(const ui64&, const ui64&)>; thread_pool::ui32 = long unsigned int]::<lambda()>’, is used but never defined [-fpermissive] thread_pool.hpp:172:10: error: ‘void thread_pool::push_task(const F&) [with F = thread_pool::parallelize_loop(const T1&, const T2&, const F&, thread_pool::ui32) [with T1 = int; T2 = long unsigned int; F = random_matrix_generator<T, D>::generate_matrix(const ui64&, const ui64&, const ui32&) [with T = double; D = std::uniform_real_distribution<double>; ui64 = long unsigned int; ui32 = long unsigned int]::<lambda(const ui64&, const ui64&)>; thread_pool::ui32 = long unsigned int]::<lambda()>]’, declared using local type ‘const thread_pool::parallelize_loop(const T1&, const T2&, const F&, thread_pool::ui32) [with T1 = int; T2 = long unsigned int; F = random_matrix_generator<T, D>::generate_matrix(const ui64&, const ui64&, const ui32&) [with T = double; D = std::uniform_real_distribution<double>; ui64 = long unsigned int; ui32 = long unsigned int]::<lambda(const ui64&, const ui64&)>; thread_pool::ui32 = long unsigned int]::<lambda()>’, is used but never defined [-fpermissive] thread_pool.hpp:172:10: error: ‘void thread_pool::push_task(const F&) [with F = thread_pool::parallelize_loop(const T1&, const T2&, const F&, thread_pool::ui32) [with T1 = int; T2 = long unsigned int; F = add_matrices(const matrix<double>&, const matrix<double>&, const ui32&)::<lambda(const ui64&, const ui64&)>; thread_pool::ui32 = long unsigned int]::<lambda()>]’, declared using local type ‘const thread_pool::parallelize_loop(const T1&, const T2&, const F&, thread_pool::ui32) [with T1 = int; T2 = long unsigned int; F = add_matrices(const matrix<double>&, const matrix<double>&, const ui32&)::<lambda(const ui64&, const ui64&)>; thread_pool::ui32 = long unsigned int]::<lambda()>’, is used but never defined [-fpermissive] thread_pool.hpp:172:10: error: ‘void thread_pool::push_task(const F&) [with F = thread_pool::parallelize_loop(const T1&, const T2&, const F&, thread_pool::ui32) [with T1 = int; T2 = long unsigned int; F = matrix<T>::transpose(const ui32&) const [with T = double; ui32 = long unsigned int]::<lambda(const ui64&, const ui64&)>; thread_pool::ui32 = long unsigned int]::<lambda()>]’, declared using local type ‘const thread_pool::parallelize_loop(const T1&, const T2&, const F&, thread_pool::ui32) [with T1 = int; T2 = long unsigned int; F = matrix<T>::transpose(const ui32&) const [with T = double; ui32 = long unsigned int]::<lambda(const ui64&, const ui64&)>; thread_pool::ui32 = long unsigned int]::<lambda()>’, is used but never defined [-fpermissive] thread_pool.hpp:172:10: error: ‘void thread_pool::push_task(const F&) [with F = thread_pool::parallelize_loop(const T1&, const T2&, const F&, thread_pool::ui32) [with T1 = int; T2 = long unsigned int; F = multiply_matrices(const matrix<double>&, const matrix<double>&, const ui32&)::<lambda(const ui64&, const ui64&)>; thread_pool::ui32 = long unsigned int]::<lambda()>]’, declared using local type ‘const thread_pool::parallelize_loop(const T1&, const T2&, const F&, thread_pool::ui32) [with T1 = int; T2 = long unsigned int; F = multiply_matrices(const matrix<double>&, const matrix<double>&, const ui32&)::<lambda(const ui64&, const ui64&)>; thread_pool::ui32 = long unsigned int]::<lambda()>’, is used but never defined [-fpermissive] thread_pool.hpp:172:10: warning: ‘void thread_pool::push_task(const F&) [with F = thread_pool::parallelize_loop(const T1&, const T2&, const F&, thread_pool::ui32) [with T1 = long int; T2 = long int; F = check_parallelize_loop(i32, i32, const ui32&)::<lambda(const i32&, const i32&)>]::<lambda()>]’ used but never defined
Private
[
?
]
Run code
Submit