#include <src/main/decaf/util/concurrent/atomic/AtomicRefCounter.h>
Inherited by decaf::lang::Pointer< activemq::core::kernels::ActiveMQConsumerKernel >, decaf::lang::Pointer< activemq::core::kernels::ActiveMQProducerKernel >, decaf::lang::Pointer< activemq::core::kernels::ActiveMQSessionKernel >, decaf::lang::Pointer< activemq::core::kernels::ActiveMQXASessionKernel >, decaf::lang::Pointer< activemq::threads::TaskRunner >, decaf::lang::Pointer< ActiveMQDestination >, decaf::lang::Pointer< ActiveMQTransactionContext >, decaf::lang::Pointer< Array >, decaf::lang::Pointer< BooleanExpression >, decaf::lang::Pointer< BrokerError >, decaf::lang::Pointer< BrokerId >, decaf::lang::Pointer< ByteArrayAdapter >, decaf::lang::Pointer< Callable< T > >, decaf::lang::Pointer< CloseTransportsTask >, decaf::lang::Pointer< cms::Destination >, decaf::lang::Pointer< commands::ActiveMQDestination >, decaf::lang::Pointer< commands::ConsumerId >, decaf::lang::Pointer< commands::ConsumerInfo >, decaf::lang::Pointer< commands::Message >, decaf::lang::Pointer< commands::ProducerInfo >, decaf::lang::Pointer< commands::SessionInfo >, decaf::lang::Pointer< commands::WireFormatInfo >, decaf::lang::Pointer< Comparator< E > >, decaf::lang::Pointer< CompositeTaskRunner >, decaf::lang::Pointer< ConnectionId >, decaf::lang::Pointer< ConnectionInfo >, decaf::lang::Pointer< ConstHashMapEntrySet >, decaf::lang::Pointer< ConstHashMapKeySet >, decaf::lang::Pointer< ConstHashMapValueCollection >, decaf::lang::Pointer< ConstStlMapEntrySet >, decaf::lang::Pointer< ConstStlMapKeySet >, decaf::lang::Pointer< ConstStlMapValueCollection >, decaf::lang::Pointer< ConsumerId >, decaf::lang::Pointer< ConsumerInfo >, decaf::lang::Pointer< core::ActiveMQAckHandler >, decaf::lang::Pointer< DataStructure >, decaf::lang::Pointer< decaf::lang::Exception >, decaf::lang::Pointer< decaf::lang::Runnable >, decaf::lang::Pointer< decaf::lang::Thread >, decaf::lang::Pointer< decaf::util::concurrent::locks::Condition >, decaf::lang::Pointer< FutureTaskSync >, decaf::lang::Pointer< HashMapEntrySet >, decaf::lang::Pointer< HashMapKeySet >, decaf::lang::Pointer< HashMapValueCollection >, decaf::lang::Pointer< locks::Condition >, decaf::lang::Pointer< Message >, decaf::lang::Pointer< MessageAck >, decaf::lang::Pointer< MessageDispatchChannel >, decaf::lang::Pointer< MessageId >, decaf::lang::Pointer< ProducerId >, decaf::lang::Pointer< ProducerInfo >, decaf::lang::Pointer< Properties >, decaf::lang::Pointer< QueueNode< E > >, decaf::lang::Pointer< QueueNode< Pointer< Transport > > >, decaf::lang::Pointer< Response >, decaf::lang::Pointer< ResponseBuilder >, decaf::lang::Pointer< ResponseCallback >, decaf::lang::Pointer< SessionId >, decaf::lang::Pointer< SessionInfo >, decaf::lang::Pointer< StlMapEntrySet >, decaf::lang::Pointer< StlMapKeySet >, decaf::lang::Pointer< StlMapValueCollection >, decaf::lang::Pointer< Tracked >, decaf::lang::Pointer< TransactionId >, decaf::lang::Pointer< TransactionState >, decaf::lang::Pointer< Transport >, decaf::lang::Pointer< URIPool >, and decaf::lang::Pointer< wireformat::WireFormat >.
Protected Member Functions |
void | swap (AtomicRefCounter &other) |
| Swaps this instance's reference counter with the one given, this allows for copy-and-swap semantics of this object.
|
bool | release () |
| Removes a reference to the counter Atomically and returns if the counter has reached zero, once the counter hits zero, the internal counter is destroyed and this instance is now considered to be unreferenced.
|
Constructor & Destructor Documentation
decaf::util::concurrent::atomic::AtomicRefCounter::AtomicRefCounter |
( |
| ) |
|
|
inline |
virtual decaf::util::concurrent::atomic::AtomicRefCounter::~AtomicRefCounter |
( |
| ) |
|
|
inlinevirtual |
Member Function Documentation
bool decaf::util::concurrent::atomic::AtomicRefCounter::release |
( |
| ) |
|
|
inlineprotected |
Removes a reference to the counter Atomically and returns if the counter has reached zero, once the counter hits zero, the internal counter is destroyed and this instance is now considered to be unreferenced.
- Returns
- true if the count is now zero.
Reimplemented in decaf::lang::Pointer< MessageAck >, decaf::lang::Pointer< FutureTaskSync >, decaf::lang::Pointer< BooleanExpression >, decaf::lang::Pointer< commands::ConsumerId >, decaf::lang::Pointer< locks::Condition >, decaf::lang::Pointer< activemq::core::kernels::ActiveMQXASessionKernel >, decaf::lang::Pointer< BrokerError >, decaf::lang::Pointer< decaf::lang::Exception >, decaf::lang::Pointer< Transport >, decaf::lang::Pointer< wireformat::WireFormat >, decaf::lang::Pointer< ConstStlMapEntrySet >, decaf::lang::Pointer< StlMapKeySet >, decaf::lang::Pointer< ActiveMQTransactionContext >, decaf::lang::Pointer< MessageDispatchChannel >, decaf::lang::Pointer< commands::WireFormatInfo >, decaf::lang::Pointer< CloseTransportsTask >, decaf::lang::Pointer< CompositeTaskRunner >, decaf::lang::Pointer< ResponseCallback >, decaf::lang::Pointer< commands::SessionInfo >, decaf::lang::Pointer< commands::ProducerInfo >, decaf::lang::Pointer< QueueNode< Pointer< Transport > > >, decaf::lang::Pointer< Comparator< E > >, decaf::lang::Pointer< BrokerId >, decaf::lang::Pointer< Message >, decaf::lang::Pointer< StlMapValueCollection >, decaf::lang::Pointer< DataStructure >, decaf::lang::Pointer< ConstHashMapKeySet >, decaf::lang::Pointer< activemq::threads::TaskRunner >, decaf::lang::Pointer< activemq::core::kernels::ActiveMQConsumerKernel >, decaf::lang::Pointer< commands::ActiveMQDestination >, decaf::lang::Pointer< ConsumerInfo >, decaf::lang::Pointer< ConnectionId >, decaf::lang::Pointer< decaf::lang::Runnable >, decaf::lang::Pointer< decaf::util::concurrent::locks::Condition >, decaf::lang::Pointer< Properties >, decaf::lang::Pointer< Array >, decaf::lang::Pointer< ProducerInfo >, decaf::lang::Pointer< activemq::core::kernels::ActiveMQSessionKernel >, decaf::lang::Pointer< decaf::lang::Thread >, decaf::lang::Pointer< MessageId >, decaf::lang::Pointer< StlMapEntrySet >, decaf::lang::Pointer< activemq::core::kernels::ActiveMQProducerKernel >, decaf::lang::Pointer< QueueNode< E > >, decaf::lang::Pointer< Response >, decaf::lang::Pointer< SessionId >, decaf::lang::Pointer< cms::Destination >, decaf::lang::Pointer< ConstHashMapValueCollection >, decaf::lang::Pointer< ActiveMQDestination >, decaf::lang::Pointer< ConstStlMapKeySet >, decaf::lang::Pointer< ConstHashMapEntrySet >, decaf::lang::Pointer< ProducerId >, decaf::lang::Pointer< ResponseBuilder >, decaf::lang::Pointer< SessionInfo >, decaf::lang::Pointer< HashMapValueCollection >, decaf::lang::Pointer< HashMapEntrySet >, decaf::lang::Pointer< commands::Message >, decaf::lang::Pointer< HashMapKeySet >, decaf::lang::Pointer< Tracked >, decaf::lang::Pointer< ConnectionInfo >, decaf::lang::Pointer< Callable< T > >, decaf::lang::Pointer< core::ActiveMQAckHandler >, decaf::lang::Pointer< TransactionState >, decaf::lang::Pointer< commands::ConsumerInfo >, decaf::lang::Pointer< ConsumerId >, decaf::lang::Pointer< ConstStlMapValueCollection >, decaf::lang::Pointer< URIPool >, decaf::lang::Pointer< ByteArrayAdapter >, and decaf::lang::Pointer< TransactionId >.
References decaf::util::concurrent::atomic::AtomicInteger::decrementAndGet().
void decaf::util::concurrent::atomic::AtomicRefCounter::swap |
( |
AtomicRefCounter & |
other | ) |
|
|
inlineprotected |
Swaps this instance's reference counter with the one given, this allows for copy-and-swap semantics of this object.
- Parameters
-
other | The value to swap with this one's. |
The documentation for this class was generated from the following file: