comparison Framework/Messages/ICallable.h @ 1076:008dbc4ceb62 broker

removed LambdaCallable
author Sebastien Jodogne <s.jodogne@gmail.com>
date Thu, 17 Oct 2019 14:42:41 +0200
parents af4b9cba905f
children 21c2b0eee53c
comparison
equal deleted inserted replaced
1075:81b29bc7c3d4 1076:008dbc4ceb62
96 virtual boost::weak_ptr<IObserver> GetObserver() const 96 virtual boost::weak_ptr<IObserver> GetObserver() const
97 { 97 {
98 return observer_; 98 return observer_;
99 } 99 }
100 }; 100 };
101
102 #if 0 /* __cplusplus >= 201103L*/
103
104 #include <functional>
105
106 template <typename TMessage>
107 class LambdaCallable : public MessageHandler<TMessage>
108 {
109 private:
110
111 IObserver& observer_;
112 std::function<void (const TMessage&)> lambda_;
113
114 public:
115 LambdaCallable(IObserver& observer,
116 std::function<void (const TMessage&)> lambdaFunction) :
117 observer_(observer),
118 lambda_(lambdaFunction)
119 {
120 }
121
122 virtual void Apply(const IMessage& message)
123 {
124 lambda_(dynamic_cast<const TMessage&>(message));
125 }
126
127 virtual IObserver* GetObserver() const
128 {
129 return &observer_;
130 }
131 };
132 #endif //__cplusplus >= 201103L
133 } 101 }