#include <coherence/lang/SmartMember.hpp>
Inherited by MemberHandle, MemberHandle< BufferOutput >, MemberHandle< coherence::io::AbstractWriteBuffer >, MemberHandle< coherence::io::OctetArrayWriteBuffer >, MemberHandle< coherence::io::pof::PofBufferReader >, MemberHandle< coherence::io::pof::PofBufferWriter >, MemberHandle< coherence::io::pof::ReferenceLibrary >, MemberHandle< coherence::io::pof::UserTypeReader >, MemberHandle< coherence::io::pof::UserTypeWriter >, MemberHandle< coherence::io::pof::WritingPofHandler >, MemberHandle< coherence::io::pof::WritingPofHandler::Complex >, MemberHandle< coherence::io::ReadBuffer >, MemberHandle< coherence::io::ReadBuffer::BufferInput >, MemberHandle< coherence::io::WriteBuffer >, MemberHandle< coherence::io::WriteBuffer::BufferOutput >, MemberHandle< coherence::lang::Array >, MemberHandle< coherence::lang::Array< int64_t > >, MemberHandle< coherence::lang::Array< octet_t > >, MemberHandle< coherence::lang::Object >, MemberHandle< coherence::lang::Runnable >, MemberHandle< coherence::lang::ThreadGroup >, MemberHandle< coherence::lang::ThreadLocalReference >, MemberHandle< coherence::net::cache::AbstractBundler >, MemberHandle< coherence::net::cache::AbstractBundler::Statistics >, MemberHandle< coherence::net::cache::BundlingNamedCache >, MemberHandle< coherence::net::cache::BundlingNamedCache::GetBundler >, MemberHandle< coherence::net::cache::BundlingNamedCache::PutBundler >, MemberHandle< coherence::net::cache::BundlingNamedCache::RemoveBundler >, MemberHandle< coherence::net::cache::CacheLoader >, MemberHandle< coherence::net::cache::CacheMap >, MemberHandle< coherence::net::cache::CacheStore >, MemberHandle< coherence::net::cache::CachingMap::DeactivationListener >, MemberHandle< coherence::net::cache::CachingMap::FrontMapListener >, MemberHandle< coherence::net::cache::ContinuousQueryCache::TaskDaemon >, MemberHandle< coherence::net::cache::EvictionPolicy >, MemberHandle< coherence::net::cache::OldCache >, MemberHandle< coherence::net::cache::SimpleCacheStatistics >, MemberHandle< coherence::net::CacheService >, MemberHandle< coherence::net::MemberListener >, MemberHandle< coherence::net::NamedCache >, MemberHandle< coherence::net::partition::PartitionSet >, MemberHandle< coherence::util::AbstractSparseArray::Node >, MemberHandle< coherence::util::AtomicCounter >, MemberHandle< coherence::util::ConcurrentMap >, MemberHandle< coherence::util::Filter >, MemberHandle< coherence::util::IdentityHashMap >, MemberHandle< coherence::util::InvocableMap::EntryAggregator >, MemberHandle< coherence::util::InvocableMap::ParallelAwareAggregator >, MemberHandle< coherence::util::Iterator >, MemberHandle< coherence::util::LinkedList::ListElement >, MemberHandle< coherence::util::List >, MemberHandle< coherence::util::LongArray >, MemberHandle< coherence::util::Map >, MemberHandle< coherence::util::MapEvent >, MemberHandle< coherence::util::MapListener >, MemberHandle< coherence::util::MapListenerSupport >, MemberHandle< coherence::util::MapTrigger >, MemberHandle< coherence::util::NavigableMap >, MemberHandle< coherence::util::ObservableMap >, MemberHandle< coherence::util::SafeHashMap::Entry >, MemberHandle< coherence::util::Set >, MemberHandle< coherence::util::TreeMap::Node >, MemberHandle< coherence::util::Versionable >, MemberHandle< Map >, MemberHolder, MemberHolder< coherence::lang::Array< bool > >, MemberHolder< coherence::lang::Array< char > >, MemberHolder< coherence::lang::Array< int32_t > >, MemberHolder< coherence::lang::Array< int64_t > >, MemberHolder< coherence::lang::Array< octet_t > >, MemberHolder< coherence::lang::Array< T > >, MemberHolder< coherence::lang::Object >, MemberHolder< coherence::lang::WeakReference >, MemberHolder< coherence::net::cache::OldCache >, MemberHolder< coherence::util::Collection >, MemberHolder< coherence::util::ConverterCollections::ConverterConcurrentMap >, MemberHolder< coherence::util::ConverterCollections::ConverterInvocableMap >, MemberHolder< coherence::util::ConverterCollections::ConverterQueryMap >, MemberHolder< coherence::util::Iterator >, MemberHolder< coherence::util::List >, MemberHolder< coherence::util::ListIterator >, MemberHolder< coherence::util::Map >, MemberHolder< coherence::util::Map::Entry >, MemberHolder< coherence::util::SafeHashMap >, MemberHolder< coherence::util::Set >, MemberHolder< coherence::util::SortedBag >, MemberView, MemberView< coherence::io::AbstractOctetArrayReadBuffer >, MemberView< coherence::io::AbstractReadBuffer >, MemberView< coherence::io::pof::PofContext >, MemberView< coherence::io::pof::RawDate >, MemberView< coherence::io::pof::RawTime >, MemberView< coherence::io::pof::reflect::PofNavigator >, MemberView< coherence::lang::Array >, MemberView< coherence::lang::Array< bool > >, MemberView< coherence::lang::Array< char > >, MemberView< coherence::lang::Array< int32_t > >, MemberView< coherence::lang::Array< octet_t > >, MemberView< coherence::lang::Array< T > >, MemberView< coherence::lang::Class >, MemberView< coherence::lang::Exception >, MemberView< coherence::lang::Method >, MemberView< coherence::lang::Number >, MemberView< coherence::lang::Object >, MemberView< coherence::lang::String >, MemberView< coherence::lang::Thread >, MemberView< coherence::lang::WeakReference >, MemberView< coherence::net::cache::CacheEvent >, MemberView< coherence::net::cache::UnitCalculator >, MemberView< coherence::net::InetSocketAddress >, MemberView< coherence::net::Member >, MemberView< coherence::net::OperationalContext >, MemberView< coherence::run::xml::XmlElement >, MemberView< coherence::security::IdentityAsserter >, MemberView< coherence::security::IdentityTransformer >, MemberView< coherence::util::Binary >, MemberView< coherence::util::Comparator >, MemberView< coherence::util::Converter >, MemberView< coherence::util::ConverterCollections::EntryConverter >, MemberView< coherence::util::Filter >, MemberView< coherence::util::filter::IndexAwareFilter >, MemberView< coherence::util::filter::LikeFilter::MatchStep >, MemberView< coherence::util::filter::MapEventFilter >, MemberView< coherence::util::InvocableMap::EntryProcessor >, MemberView< coherence::util::List >, MemberView< coherence::util::Listeners >, MemberView< coherence::util::Map >, MemberView< coherence::util::MapEvent >, MemberView< coherence::util::MapEventTransformer >, MemberView< coherence::util::Set >, MemberView< coherence::util::TypedCollections::TypedMap::EntryConverter >, MemberView< coherence::util::ValueExtractor >, MemberView< coherence::util::ValueManipulator >, and MemberView< coherence::util::ValueUpdater >.
Smart data-members include additional information regarding their life-cycle, including a reference to their enclosing Object (guardian). The smart member is initialized with a reference to its guardian, and has the same life-cycle as the guardian. Creating a SmartMember which is not a data-member of the guardian used during initialization will result in unsafe/undefined behavior.
Public Types | |
enum | Mutability |
The mutability of the SmartMember. | |
Public Member Functions | |
SmartMember (const Object &oGuardian, Mutability nMutability=inherited) | |
Construct a new SmartMember. | |
virtual | ~SmartMember () |
Destruct the SmartMember. | |
Protected Member Functions | |
SmartMember () | |
Construct an orphaned SmartMember. | |
virtual size64_t | retained () const =0 |
Return the deep byte size of any managed objects held by this SmartMember. | |
void | readBarrier () const |
Cross the guardian's read barrier. | |
void | writeBarrier () const |
Cross the guardian's write barrier. | |
virtual void | onInit () |
Event called once the guardian Object has finished being constructed. | |
virtual void | onConst () |
Event called when the guardian Object becomes only referenced via const pointers (Views). | |
virtual void | onEscape (bool) const |
Event called when the guarding Object's escape state changes. | |
Protected Attributes | |
Mutability | m_nMutability |
The mutability of the SmartMember. |
SmartMember | ( | const Object & | oGuardian, | |
Mutability | nMutability = inherited | |||
) | [inline] |
Construct a new SmartMember.
oGuardian | the data-member's guardian Object. | |
nMutability | the mutability of the SmartMember |
SmartMember | ( | ) | [protected] |
Construct an orphaned SmartMember.
The smart-member will not be usable until a guardian is assigned.
virtual void onInit | ( | ) | [inline, protected, virtual] |
Event called once the guardian Object has finished being constructed.
Specifically when the first attachment is made.
As with all event methods any derived implementation should include a call to the super class's implementation.
The default implementation calls the onInit() method of each of the Object's SmartMembers.
virtual void onConst | ( | ) | [inline, protected, virtual] |
Event called when the guardian Object becomes only referenced via const pointers (Views).
As the SmartMember is a data-member of this Object, the data-member infer that only const methods will be called from now on.
Derived implementations of this method should include a delegation call to their super class onConst() method, after they've done their own processing of the event.
Not that this method will only be called by the guardian if the SmartMember's mutability state is set to inherited.
Reimplemented in MemberHandle, MemberHandle< coherence::net::partition::PartitionSet >, MemberHandle< BufferOutput >, MemberHandle< coherence::io::AbstractWriteBuffer >, MemberHandle< coherence::util::AbstractSparseArray::Node >, MemberHandle< coherence::net::cache::SimpleCacheStatistics >, MemberHandle< coherence::net::cache::CachingMap::DeactivationListener >, MemberHandle< coherence::util::NavigableMap >, MemberHandle< coherence::util::Set >, MemberHandle< coherence::net::cache::BundlingNamedCache::PutBundler >, MemberHandle< coherence::util::Versionable >, MemberHandle< coherence::net::cache::OldCache >, MemberHandle< coherence::util::MapListener >, MemberHandle< coherence::util::SafeHashMap::Entry >, MemberHandle< Map >, MemberHandle< coherence::net::cache::EvictionPolicy >, MemberHandle< coherence::util::List >, MemberHandle< coherence::util::MapEvent >, MemberHandle< coherence::net::cache::ContinuousQueryCache::TaskDaemon >, MemberHandle< coherence::io::pof::WritingPofHandler >, MemberHandle< coherence::net::cache::CacheStore >, MemberHandle< coherence::util::Iterator >, MemberHandle< coherence::net::cache::CachingMap::FrontMapListener >, MemberHandle< coherence::util::InvocableMap::EntryAggregator >, MemberHandle< coherence::lang::Array >, MemberHandle< coherence::net::cache::CacheMap >, MemberHandle< coherence::lang::Array< int64_t > >, MemberHandle< coherence::util::TreeMap::Node >, MemberHandle< coherence::io::ReadBuffer >, MemberHandle< coherence::io::ReadBuffer::BufferInput >, MemberHandle< coherence::util::LongArray >, MemberHandle< coherence::net::MemberListener >, MemberHandle< coherence::util::Filter >, MemberHandle< coherence::net::cache::BundlingNamedCache::GetBundler >, MemberHandle< coherence::net::cache::AbstractBundler >, MemberHandle< coherence::io::pof::PofBufferReader >, MemberHandle< coherence::lang::ThreadGroup >, MemberHandle< coherence::util::ConcurrentMap >, MemberHandle< coherence::util::AtomicCounter >, MemberHandle< coherence::io::pof::PofBufferWriter >, MemberHandle< coherence::io::pof::UserTypeReader >, MemberHandle< coherence::util::IdentityHashMap >, MemberHandle< coherence::io::pof::UserTypeWriter >, MemberHandle< coherence::io::OctetArrayWriteBuffer >, MemberHandle< coherence::util::InvocableMap::ParallelAwareAggregator >, MemberHandle< coherence::io::pof::WritingPofHandler::Complex >, MemberHandle< coherence::io::WriteBuffer >, MemberHandle< coherence::lang::ThreadLocalReference >, MemberHandle< coherence::util::ObservableMap >, MemberHandle< coherence::net::cache::BundlingNamedCache::RemoveBundler >, MemberHandle< coherence::io::WriteBuffer::BufferOutput >, MemberHandle< coherence::lang::Object >, MemberHandle< coherence::net::cache::AbstractBundler::Statistics >, MemberHandle< coherence::io::pof::ReferenceLibrary >, MemberHandle< coherence::util::MapListenerSupport >, MemberHandle< coherence::lang::Runnable >, MemberHandle< coherence::net::CacheService >, MemberHandle< coherence::lang::Array< octet_t > >, MemberHandle< coherence::util::Map >, MemberHandle< coherence::util::LinkedList::ListElement >, MemberHandle< coherence::net::cache::BundlingNamedCache >, MemberHandle< coherence::net::NamedCache >, MemberHandle< coherence::net::cache::CacheLoader >, and MemberHandle< coherence::util::MapTrigger >.
virtual void onEscape | ( | bool | ) | const [inline, protected, virtual] |
Event called when the guarding Object's escape state changes.
Derived implementations of this method should include a delegation call to their super class onEscape() method, after they've done their own processing of the event.
fEscaped | true if the object is being escaped, false if the object is being captured |
Reimplemented in MemberHandle, MemberHolder, MemberView, MemberHandle< coherence::net::partition::PartitionSet >, MemberHandle< BufferOutput >, MemberHandle< coherence::io::AbstractWriteBuffer >, MemberHandle< coherence::util::AbstractSparseArray::Node >, MemberHandle< coherence::net::cache::SimpleCacheStatistics >, MemberHandle< coherence::net::cache::CachingMap::DeactivationListener >, MemberHandle< coherence::util::NavigableMap >, MemberHandle< coherence::util::Set >, MemberHandle< coherence::net::cache::BundlingNamedCache::PutBundler >, MemberHandle< coherence::util::Versionable >, MemberHandle< coherence::net::cache::OldCache >, MemberHandle< coherence::util::MapListener >, MemberHandle< coherence::util::SafeHashMap::Entry >, MemberHandle< Map >, MemberHandle< coherence::net::cache::EvictionPolicy >, MemberHandle< coherence::util::List >, MemberHandle< coherence::util::MapEvent >, MemberHandle< coherence::net::cache::ContinuousQueryCache::TaskDaemon >, MemberHandle< coherence::io::pof::WritingPofHandler >, MemberHandle< coherence::net::cache::CacheStore >, MemberHandle< coherence::util::Iterator >, MemberHandle< coherence::net::cache::CachingMap::FrontMapListener >, MemberHandle< coherence::util::InvocableMap::EntryAggregator >, MemberHandle< coherence::lang::Array >, MemberHandle< coherence::net::cache::CacheMap >, MemberHandle< coherence::lang::Array< int64_t > >, MemberHandle< coherence::util::TreeMap::Node >, MemberHandle< coherence::io::ReadBuffer >, MemberHandle< coherence::io::ReadBuffer::BufferInput >, MemberHandle< coherence::util::LongArray >, MemberHandle< coherence::net::MemberListener >, MemberHandle< coherence::util::Filter >, MemberHandle< coherence::net::cache::BundlingNamedCache::GetBundler >, MemberHandle< coherence::net::cache::AbstractBundler >, MemberHandle< coherence::io::pof::PofBufferReader >, MemberHandle< coherence::lang::ThreadGroup >, MemberHandle< coherence::util::ConcurrentMap >, MemberHandle< coherence::util::AtomicCounter >, MemberHandle< coherence::io::pof::PofBufferWriter >, MemberHandle< coherence::io::pof::UserTypeReader >, MemberHandle< coherence::util::IdentityHashMap >, MemberHandle< coherence::io::pof::UserTypeWriter >, MemberHandle< coherence::io::OctetArrayWriteBuffer >, MemberHandle< coherence::util::InvocableMap::ParallelAwareAggregator >, MemberHandle< coherence::io::pof::WritingPofHandler::Complex >, MemberHandle< coherence::io::WriteBuffer >, MemberHandle< coherence::lang::ThreadLocalReference >, MemberHandle< coherence::util::ObservableMap >, MemberHandle< coherence::net::cache::BundlingNamedCache::RemoveBundler >, MemberHandle< coherence::io::WriteBuffer::BufferOutput >, MemberHandle< coherence::lang::Object >, MemberHandle< coherence::net::cache::AbstractBundler::Statistics >, MemberHandle< coherence::io::pof::ReferenceLibrary >, MemberHandle< coherence::util::MapListenerSupport >, MemberHandle< coherence::lang::Runnable >, MemberHandle< coherence::net::CacheService >, MemberHandle< coherence::lang::Array< octet_t > >, MemberHandle< coherence::util::Map >, MemberHandle< coherence::util::LinkedList::ListElement >, MemberHandle< coherence::net::cache::BundlingNamedCache >, MemberHandle< coherence::net::NamedCache >, MemberHandle< coherence::net::cache::CacheLoader >, MemberHandle< coherence::util::MapTrigger >, MemberHolder< coherence::util::ConverterCollections::ConverterQueryMap >, MemberHolder< coherence::util::Set >, MemberHolder< coherence::net::cache::OldCache >, MemberHolder< coherence::util::ConverterCollections::ConverterInvocableMap >, MemberHolder< coherence::lang::WeakReference >, MemberHolder< coherence::util::SafeHashMap >, MemberHolder< coherence::util::List >, MemberHolder< coherence::util::Iterator >, MemberHolder< coherence::util::SortedBag >, MemberHolder< coherence::util::Map::Entry >, MemberHolder< coherence::util::Collection >, MemberHolder< coherence::lang::Array< int64_t > >, MemberHolder< coherence::lang::Array< T > >, MemberHolder< coherence::util::ConverterCollections::ConverterConcurrentMap >, MemberHolder< coherence::lang::Array< char > >, MemberHolder< coherence::lang::Array< int32_t > >, MemberHolder< coherence::lang::Array< bool > >, MemberHolder< coherence::lang::Object >, MemberHolder< coherence::util::Map >, MemberHolder< coherence::lang::Array< octet_t > >, MemberHolder< coherence::util::ListIterator >, MemberView< coherence::util::filter::IndexAwareFilter >, MemberView< coherence::net::cache::UnitCalculator >, MemberView< coherence::util::TypedCollections::TypedMap::EntryConverter >, MemberView< coherence::io::AbstractOctetArrayReadBuffer >, MemberView< coherence::util::Listeners >, MemberView< coherence::io::pof::RawDate >, MemberView< coherence::security::IdentityTransformer >, MemberView< coherence::util::Set >, MemberView< coherence::util::List >, MemberView< coherence::lang::WeakReference >, MemberView< coherence::util::ValueManipulator >, MemberView< coherence::util::MapEvent >, MemberView< coherence::util::Converter >, MemberView< coherence::io::pof::PofContext >, MemberView< coherence::util::filter::LikeFilter::MatchStep >, MemberView< coherence::lang::String >, MemberView< coherence::util::Binary >, MemberView< coherence::lang::Array >, MemberView< coherence::io::pof::RawTime >, MemberView< coherence::lang::Class >, MemberView< coherence::lang::Array< T > >, MemberView< coherence::net::cache::CacheEvent >, MemberView< coherence::util::Comparator >, MemberView< coherence::net::OperationalContext >, MemberView< coherence::util::ValueUpdater >, MemberView< coherence::lang::Thread >, MemberView< coherence::lang::Array< char > >, MemberView< coherence::util::InvocableMap::EntryProcessor >, MemberView< coherence::util::Filter >, MemberView< coherence::lang::Method >, MemberView< coherence::lang::Number >, MemberView< coherence::lang::Array< int32_t > >, MemberView< coherence::io::AbstractReadBuffer >, MemberView< coherence::util::ConverterCollections::EntryConverter >, MemberView< coherence::util::MapEventTransformer >, MemberView< coherence::lang::Array< bool > >, MemberView< coherence::util::filter::MapEventFilter >, MemberView< coherence::security::IdentityAsserter >, MemberView< coherence::io::pof::reflect::PofNavigator >, MemberView< coherence::net::InetSocketAddress >, MemberView< coherence::run::xml::XmlElement >, MemberView< coherence::net::Member >, MemberView< coherence::lang::Object >, MemberView< coherence::util::ValueExtractor >, MemberView< coherence::lang::Array< octet_t > >, MemberView< coherence::util::Map >, and MemberView< coherence::lang::Exception >.