21 #include "hazelcast/util/export.h" 22 #include "hazelcast/util/noop.h" 23 #include "hazelcast/util/type_traits.h" 25 #if defined(WIN32) || defined(_WIN32) || defined(WIN64) || defined(_WIN64) 27 #pragma warning(disable: 4251) //for dll export 35 template<
typename>
class item_event_handler;
58 template<
typename Handler,
59 typename = util::enable_if_rvalue_ref_t<Handler &&>>
61 added_ = std::forward<Handler>(h);
68 template<
typename Handler,
69 typename = util::enable_if_rvalue_ref_t<Handler &&>>
71 on_added(std::forward<Handler>(h));
72 return std::move(*
this);
79 template<
typename Handler>
81 removed_ = std::forward<Handler>(h);
88 template<
typename Handler>
90 on_removed(std::forward<Handler>(h));
91 return std::move(*
this);
95 using HandlerType = std::function<void(item_event &&)>;
96 HandlerType added_ = util::noop<item_event &&>,
97 removed_ = util::noop<item_event &&>;
100 friend class impl::item_event_handler;
105 #if defined(WIN32) || defined(_WIN32) || defined(WIN64) || defined(_WIN64) item_listener && on_added(Handler &&h) &&
Definition: item_listener.h:70
item_listener & on_removed(Handler &&h) &
Set an handler function to be invoked when an item is removed.
Definition: item_listener.h:80
Item listener for IQueue, ISet and IList.
Definition: item_listener.h:51
item_listener & on_added(Handler &&h) &
Set an handler function to be invoked when an item is added.
Definition: item_listener.h:60
item_listener && on_removed(Handler &&h) &&
Definition: item_listener.h:89