16 #ifndef HAZELCAST_CLIENT_IATOMICLONG_H_ 17 #define HAZELCAST_CLIENT_IATOMICLONG_H_ 19 #include <boost/shared_ptr.hpp> 21 #include "hazelcast/client/impl/AtomicLongInterface.h" 23 #if defined(WIN32) || defined(_WIN32) || defined(WIN64) || defined(_WIN64) 25 #pragma warning(disable: 4251) //for dll export 31 class HazelcastClientInstanceImpl;
55 class HAZELCAST_API
IAtomicLong :
public impl::AtomicLongInterface {
56 friend class impl::HazelcastClientInstanceImpl;
64 int64_t addAndGet(int64_t delta);
75 bool compareAndSet(int64_t expect, int64_t update);
82 int64_t decrementAndGet();
97 int64_t getAndAdd(int64_t delta);
105 int64_t getAndSet(int64_t newValue);
112 int64_t incrementAndGet();
119 int64_t getAndIncrement();
126 void set(int64_t newValue);
128 virtual const std::string &getServiceName()
const;
130 virtual const std::string &getName()
const;
132 virtual void destroy();
158 boost::shared_ptr<ICompletableFuture<int64_t> > addAndGetAsync(int64_t delta);
173 boost::shared_ptr<ICompletableFuture<bool> > compareAndSetAsync(int64_t expect, int64_t update);
184 boost::shared_ptr<ICompletableFuture<int64_t> > decrementAndGetAsync();
193 boost::shared_ptr<ICompletableFuture<int64_t> > getAsync();
205 boost::shared_ptr<ICompletableFuture<int64_t> > getAndAddAsync(int64_t delta);
217 boost::shared_ptr<ICompletableFuture<int64_t> > getAndSetAsync(int64_t newValue);
228 boost::shared_ptr<ICompletableFuture<int64_t> > incrementAndGetAsync();
239 boost::shared_ptr<ICompletableFuture<int64_t> > getAndIncrementAsync();
251 boost::shared_ptr<ICompletableFuture<void> > setAsync(int64_t newValue);
254 IAtomicLong(
const boost::shared_ptr<impl::AtomicLongInterface> &impl);
256 boost::shared_ptr<impl::AtomicLongInterface> impl;
261 #if defined(WIN32) || defined(_WIN32) || defined(WIN64) || defined(_WIN64) IAtomicLong is a redundant and highly available distributed alternative to the java.util.concurrent.atomic.AtomicLong.
Definition: IAtomicLong.h:55
PN (Positive-Negative) CRDT counter.
Definition: MapEntryView.h:32