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)
36 class item_event_handler;
59 template<
typename Handler,
60 typename = util::enable_if_rvalue_ref_trait<Handler&&>>
63 added_ = std::forward<Handler>(h);
70 template<
typename Handler,
71 typename = util::enable_if_rvalue_ref_trait<Handler&&>>
74 on_added(std::forward<Handler>(h));
75 return std::move(*
this);
83 template<
typename Handler>
86 removed_ = std::forward<Handler>(h);
93 template<
typename Handler>
96 on_removed(std::forward<Handler>(h));
97 return std::move(*
this);
101 using HandlerType = std::function<void(
item_event&&)>;
102 HandlerType added_ = util::noop<item_event&&>,
103 removed_ = util::noop<item_event&&>;
106 friend class impl::item_event_handler;
111 #if defined(WIN32) || defined(_WIN32) || defined(WIN64) || defined(_WIN64)
Item listener for IQueue, ISet and IList.
item_listener && on_added(Handler &&h) &&
item_listener & on_added(Handler &&h) &
Set an handler function to be invoked when an item is added.
item_listener && on_removed(Handler &&h) &&
item_listener & on_removed(Handler &&h) &
Set an handler function to be invoked when an item is removed.