Line data Source code
1 : // Boost.Signals2 library 2 : 3 : // Copyright Frank Mori Hess 2007-2008. 4 : // Use, modification and 5 : // distribution is subject to the Boost Software License, Version 6 : // 1.0. (See accompanying file LICENSE_1_0.txt or copy at 7 : // http://www.boost.org/LICENSE_1_0.txt) 8 : 9 : // For more information, see http://www.boost.org 10 : 11 : #ifndef BOOST_SIGNALS2_SIGNAL_BASE_HPP 12 : #define BOOST_SIGNALS2_SIGNAL_BASE_HPP 13 : 14 : #include <boost/core/noncopyable.hpp> 15 : #include <boost/shared_ptr.hpp> 16 : 17 : namespace boost { 18 : namespace signals2 { 19 : class slot_base; 20 : 21 : class signal_base : public noncopyable 22 : { 23 : public: 24 : friend class slot_base; 25 : 26 830 : virtual ~signal_base() {} 27 : protected: 28 : virtual shared_ptr<void> lock_pimpl() const = 0; 29 : }; 30 : } // end namespace signals2 31 : } // end namespace boost 32 : 33 : #endif // BOOST_SIGNALS2_SIGNAL_BASE_HPP