SG::DVLDataBucket< T > Node1 SG::DVLDataBucket< T > - m_copies - m_ti - m_clid + DVLDataBucket() + DVLDataBucket() + DVLDataBucket() + DVLDataBucket() + ~DVLDataBucket() + cast() + cast() + cast() + clID() + tinfo() - operator=() Node2 SG::DataBucket< T > - m_ptr - m_cnvcopies + DataBucket() + DataBucket() + DataBucket() + DataBucket() + ~DataBucket() + clID() + object() + tinfo() + operator T*() + operator const T *() + cast() + cast() + cast() + relinquish() + lock() + classID() # ptr() # cptr() # tryStaticConversion() # tryStaticConversion() - DataBucket() - operator=() Node2->Node1 Node3 DataBucketBase + DataBucketBase() + ~DataBucketBase() + object() + tinfo() + cast() + cast() + cast() + cast() + relinquish() + lock() Node3->Node2 Node4 DataObject Node4->Node3