VR-Vantage 3.0 API Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
event_signal.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2020 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #ifndef event_signal_H_
11 #define event_signal_H_
12 
14 #include <vrvUtil/signalslib.h>
15 
16 #include <boost/bind.hpp>
17 #include <boost/type_traits/function_traits.hpp>
18 #include <boost/last_value.hpp>
19 
20 namespace makVrv
21 {
22 
38  template
39  <
40  typename Signature,
41  typename Combiner = boost::last_value<typename boost::function_traits<Signature>::result_type>,
42  typename Group = int,
43  typename GroupCompare = std::less<Group>,
44  typename SlotFunction = boost::function<Signature>
45  >
46  class event_signal : public boost::signalslib::signal<Signature,Combiner,Group,GroupCompare,SlotFunction>
47  {
48  public:
50  typedef boost::function_traits<Signature> traits;
51 
53  template <typename ClassType>
54  event_signal(this_type& (ClassType::*accessor)(), DtEventQueueInterface& i);
55 
57  template <typename ClassType>
58  event_signal(this_type ClassType::*asMemberPointer, DtEventQueueInterface& i);
59  };
60 
61 }
62 
63 #define event_signal_INL_
64 #include <vrvUtil/event_signal.inl>
65 #undef event_signal_INL_
66 
67 #endif
68 


Copyright © 2005-2022 MAK Technologies. All Rights Reserved (www.mak.com)