AthenaBarCodeImpl Node1 AthenaBarCodeImpl + TotalBits + UUIDBits + CounterBits + VersionBits + ReserveBits + SUUIDBits + SCounterBits + SVersionBits + SReserveBits + ~AthenaBarCodeImpl() + AthenaBarCodeImpl() + AthenaBarCodeImpl() + operator=() + getAthenaBarCode() + setAthenaBarCode() + hasSameAthenaBarCode() + hasSameAthenaBarCodeExcept Version() + getVersion() + newVersion() + setVersion() + dump() + createdInCurrentJob() + getReserveBits() + setReserveBits() + setDefaultHash() # setBits() # getBits() # initABC() - combineWithUUIDHash() - setUUIDHash() - hasUUIDHash() - getUUIDHash() - hashUUID() - getDefaultHash() - makeDefaultHash() Node2 std::atomic< AthenaBarCode_t > + ptr Node2->Node1 -m_barcodeCounter -m_barcode