123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- // Example program for passing arguments from signal invocations to slots.
- //
- // Copyright Douglas Gregor 2001-2004.
- // Copyright Frank Mori Hess 2009.
- //
- // Use, modification and
- // distribution is subject to the Boost Software License, Version
- // 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- // http://www.boost.org/LICENSE_1_0.txt)
- // For more information, see http://www.boost.org
- #include <iostream>
- #include <boost/signals2/signal.hpp>
- //[ slot_arguments_slot_defs_code_snippet
- void print_args(float x, float y)
- {
- std::cout << "The arguments are " << x << " and " << y << std::endl;
- }
- void print_sum(float x, float y)
- {
- std::cout << "The sum is " << x + y << std::endl;
- }
- void print_product(float x, float y)
- {
- std::cout << "The product is " << x * y << std::endl;
- }
- void print_difference(float x, float y)
- {
- std::cout << "The difference is " << x - y << std::endl;
- }
- void print_quotient(float x, float y)
- {
- std::cout << "The quotient is " << x / y << std::endl;
- }
- //]
- int main()
- {
- //[ slot_arguments_main_code_snippet
- boost::signals2::signal<void (float, float)> sig;
- sig.connect(&print_args);
- sig.connect(&print_sum);
- sig.connect(&print_product);
- sig.connect(&print_difference);
- sig.connect(&print_quotient);
- sig(5., 3.);
- //]
- return 0;
- }
|