Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-12-16 10:08:48

0001 //  A thread-safe version of Boost.Signals.
0002 
0003 // Copyright Frank Mori Hess 2007-2009
0004 //
0005 // Use, modification and
0006 // distribution is subject to the Boost Software License, Version
0007 // 1.0. (See accompanying file LICENSE_1_0.txt or copy at
0008 // http://www.boost.org/LICENSE_1_0.txt)
0009 
0010 // For more information, see http://www.boost.org
0011 
0012 #ifndef BOOST_SIGNALS2_SIGNAL_HPP
0013 #define BOOST_SIGNALS2_SIGNAL_HPP
0014 
0015 #include <algorithm>
0016 #include <boost/assert.hpp>
0017 #include <boost/config.hpp>
0018 #include <boost/core/noncopyable.hpp>
0019 #include <boost/function.hpp>
0020 #include <boost/mpl/identity.hpp>
0021 #include <boost/shared_ptr.hpp>
0022 #include <boost/signals2/connection.hpp>
0023 #include <boost/signals2/detail/unique_lock.hpp>
0024 #include <boost/signals2/detail/replace_slot_function.hpp>
0025 #include <boost/signals2/detail/result_type_wrapper.hpp>
0026 #include <boost/signals2/detail/signals_common.hpp>
0027 #include <boost/signals2/detail/signals_common_macros.hpp>
0028 #include <boost/signals2/detail/slot_groups.hpp>
0029 #include <boost/signals2/detail/slot_call_iterator.hpp>
0030 #include <boost/signals2/optional_last_value.hpp>
0031 #include <boost/signals2/mutex.hpp>
0032 #include <boost/signals2/slot.hpp>
0033 #include <functional>
0034 
0035 #ifdef BOOST_NO_CXX11_VARIADIC_TEMPLATES
0036 #include <boost/signals2/preprocessed_signal.hpp>
0037 #else
0038 #include <boost/signals2/variadic_signal.hpp>
0039 #endif
0040 
0041 namespace boost
0042 {
0043   namespace signals2
0044   {
0045     // free swap function, findable by ADL
0046     template<typename Signature,
0047       typename Combiner,
0048       typename Group,
0049       typename GroupCompare,
0050       typename SlotFunction,
0051       typename ExtendedSlotFunction,
0052       typename Mutex>
0053       void swap(
0054         signal<Signature, Combiner, Group, GroupCompare, SlotFunction, ExtendedSlotFunction, Mutex> &sig1,
0055         signal<Signature, Combiner, Group, GroupCompare, SlotFunction, ExtendedSlotFunction, Mutex> &sig2) BOOST_NOEXCEPT
0056     {
0057       sig1.swap(sig2);
0058     }
0059   }
0060 }
0061 
0062 #endif // BOOST_SIGNALS2_SIGNAL_HPP