Mercurial > hg > orthanc-stone
comparison Framework/Messages/ICallable.h @ 456:b70fcc134ba4
moved LambdaCallable (currently still disable because it does not work in WASM)
author | Alain Mazy <alain@mazy.be> |
---|---|
date | Wed, 23 Jan 2019 13:58:51 +0100 |
parents | b70e9be013e4 |
children | f0008c55e5f7 |
comparison
equal
deleted
inserted
replaced
455:e3a6e3bf5c7c | 456:b70fcc134ba4 |
---|---|
87 virtual IObserver* GetObserver() const | 87 virtual IObserver* GetObserver() const |
88 { | 88 { |
89 return &observer_; | 89 return &observer_; |
90 } | 90 } |
91 }; | 91 }; |
92 | |
93 #if 0 /* __cplusplus >= 201103L*/ | |
94 | |
95 #include <functional> | |
96 | |
97 template <typename TMessage> | |
98 class LambdaCallable : public MessageHandler<TMessage> | |
99 { | |
100 private: | |
101 | |
102 IObserver& observer_; | |
103 std::function<void (const TMessage&)> lambda_; | |
104 | |
105 public: | |
106 LambdaCallable(IObserver& observer, | |
107 std::function<void (const TMessage&)> lambdaFunction) : | |
108 observer_(observer), | |
109 lambda_(lambdaFunction) | |
110 { | |
111 } | |
112 | |
113 virtual void Apply(const IMessage& message) | |
114 { | |
115 lambda_(dynamic_cast<const TMessage&>(message)); | |
116 } | |
117 | |
118 virtual MessageType GetMessageType() const | |
119 { | |
120 return static_cast<MessageType>(TMessage::Type); | |
121 } | |
122 | |
123 virtual IObserver* GetObserver() const | |
124 { | |
125 return &observer_; | |
126 } | |
127 }; | |
128 #endif //__cplusplus >= 201103L | |
92 } | 129 } |