accu2017_course-master/Channels$ g++ -std=c++17 channel01.cpp -ochannel01 In file included from channel01.cpp:1:0: /usr/include/stlab/concurrency/channel.hpp: In member function ‘void stlab::v1::detail::shared_process::remove_receiver()’: /usr/include/stlab/concurrency/channel.hpp:726:9: error: there are no arguments to ‘assert’ that depend on a template parameter, so a declaration of ‘assert’ must be available [-fpermissive] assert(_receiver_count > 0); ^~~~~~ /usr/include/stlab/concurrency/channel.hpp:726:9: note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated) /usr/include/stlab/concurrency/channel.hpp: In member function ‘void stlab::v1::detail::shared_process::task_done()’: /usr/include/stlab/concurrency/channel.hpp:751:9: error: there are no arguments to ‘assert’ that depend on a template parameter, so a declaration of ‘assert’ must be available [-fpermissive] assert(!(do_run && do_final) && "ERROR (sparent) : can't run and close at the same time."); ^~~~~~ /usr/include/stlab/concurrency/channel.hpp: In member function ‘void stlab::v1::detail::shared_process::clear_to_send()’: /usr/include/stlab/concurrency/channel.hpp:774:13: error: there are no arguments to ‘assert’ that depend on a template parameter, so a declaration of ‘assert’ must be available [-fpermissive] assert(_process_suspend_count > 0 && "Error: Try to unsuspend, but not suspended!"); ^~~~~~ /usr/include/stlab/concurrency/channel.hpp:776:13: error: there are no arguments to ‘assert’ that depend on a template parameter, so a declaration of ‘assert’ must be available [-fpermissive] assert(_process_running && "ERROR (sparent) : clear_to_send but not running!"); ^~~~~~ /usr/include/stlab/concurrency/channel.hpp: In member function ‘void stlab::v1::detail::shared_process::broadcast(A&& ...)’: /usr/include/stlab/concurrency/channel.hpp:997:9: error: there are no arguments to ‘assert’ that depend on a template parameter, so a declaration of ‘assert’ must be available [-fpermissive] assert(_process_suspend_count == 0 && "broadcasting while suspended"); ^~~~~~ /usr/include/stlab/concurrency/channel.hpp: In instantiation of ‘void stlab::v1::detail::shared_process::clear_to_send() [with Q = stlab::v1::detail::default_queue_strategy; T = stlab::v1::identity; R = int; Args = {int}]’: channel01.cpp:27:1: required from here /usr/include/stlab/concurrency/channel.hpp:774:19: error: ‘assert’ was not declared in this scope assert(_process_suspend_count > 0 && "Error: Try to unsuspend, but not suspended!"); ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/stlab/concurrency/channel.hpp:774:19: note: suggested alternative: ‘tzset’ assert(_process_suspend_count > 0 && "Error: Try to unsuspend, but not suspended!"); ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ tzset /usr/include/stlab/concurrency/channel.hpp:776:19: error: ‘assert’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive] assert(_process_running && "ERROR (sparent) : clear_to_send but not running!"); ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/stlab/concurrency/channel.hpp:774:19: note: ‘assert’ declared here, later in the translation unit assert(_process_suspend_count > 0 && "Error: Try to unsuspend, but not suspended!"); ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/stlab/concurrency/channel.hpp: In instantiation of ‘void stlab::v1::detail::shared_process::remove_receiver() [with Q = stlab::v1::detail::default_queue_strategy; T = stlab::v1::identity; R = int; Args = {int}]’: channel01.cpp:27:1: required from here /usr/include/stlab/concurrency/channel.hpp:726:15: error: ‘assert’ was not declared in this scope assert(_receiver_count > 0); ~~~~~~^~~~~~~~~~~~~~~~~~~~~ /usr/include/stlab/concurrency/channel.hpp:726:15: note: suggested alternative: ‘tzset’ assert(_receiver_count > 0); ~~~~~~^~~~~~~~~~~~~~~~~~~~~ tzset /usr/include/stlab/concurrency/channel.hpp: In instantiation of ‘void stlab::v1::detail::shared_process_sender_indexed::remove_sender() [with Q = stlab::v1::detail::default_queue_strategy; T = stlab::v1::identity; R = int; Arg = int; long unsigned int I = 0; Args = {int}]’: channel01.cpp:27:1: required from here /usr/include/stlab/concurrency/channel.hpp:557:15: error: ‘assert’ was not declared in this scope assert(_shared_process._sender_count > 0); ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/stlab/concurrency/channel.hpp:557:15: note: suggested alternative: ‘tzset’ assert(_shared_process._sender_count > 0); ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ tzset /usr/include/stlab/concurrency/channel.hpp: In instantiation of ‘void stlab::v1::detail::shared_process::clear_to_send() [with Q = stlab::v1::detail::default_queue_strategy; T = main()::; R = void; Args = {int}]’: channel01.cpp:27:1: required from here /usr/include/stlab/concurrency/channel.hpp:774:19: error: ‘assert’ was not declared in this scope assert(_process_suspend_count > 0 && "Error: Try to unsuspend, but not suspended!"); ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/stlab/concurrency/channel.hpp:774:19: note: suggested alternative: ‘tzset’ assert(_process_suspend_count > 0 && "Error: Try to unsuspend, but not suspended!"); ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ tzset /usr/include/stlab/concurrency/channel.hpp:776:19: error: ‘assert’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive] assert(_process_running && "ERROR (sparent) : clear_to_send but not running!"); ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/stlab/concurrency/channel.hpp:774:19: note: ‘assert’ declared here, later in the translation unit assert(_process_suspend_count > 0 && "Error: Try to unsuspend, but not suspended!"); ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/stlab/concurrency/channel.hpp: In instantiation of ‘void stlab::v1::detail::shared_process::remove_receiver() [with Q = stlab::v1::detail::default_queue_strategy; T = main()::; R = void; Args = {int}]’: channel01.cpp:27:1: required from here /usr/include/stlab/concurrency/channel.hpp:726:15: error: ‘assert’ was not declared in this scope assert(_receiver_count > 0); ~~~~~~^~~~~~~~~~~~~~~~~~~~~ /usr/include/stlab/concurrency/channel.hpp:726:15: note: suggested alternative: ‘tzset’ assert(_receiver_count > 0); ~~~~~~^~~~~~~~~~~~~~~~~~~~~ tzset /usr/include/stlab/concurrency/channel.hpp: In instantiation of ‘void stlab::v1::detail::shared_process_sender_indexed::remove_sender() [with Q = stlab::v1::detail::default_queue_strategy; T = main()::; R = void; Arg = int; long unsigned int I = 0; Args = {int}]’: channel01.cpp:27:1: required from here /usr/include/stlab/concurrency/channel.hpp:557:15: error: ‘assert’ was not declared in this scope assert(_shared_process._sender_count > 0); ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/stlab/concurrency/channel.hpp:557:15: note: suggested alternative: ‘tzset’ assert(_shared_process._sender_count > 0); ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ tzset