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