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


Copyright © 2005-2013 VT MÄK. All Rights Reserved (www.mak.com)