signal_base.hpp 820 B

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