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/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 ~signal_base()26 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 34