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)
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 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.