X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=senf%2FPackets%2FPacketImpl.cc;h=291b3f1b8ff90417348e93973bb535e30bd24b51;hb=57daeae6f2e924ce3f16f9677c3474f531cba9e5;hp=0c38d466f7680721ee070da61e4b34573f2603da;hpb=14f43d9587103f6a78e51628785f93f1c14f99a0;p=senf.git diff --git a/senf/Packets/PacketImpl.cc b/senf/Packets/PacketImpl.cc index 0c38d46..291b3f1 100644 --- a/senf/Packets/PacketImpl.cc +++ b/senf/Packets/PacketImpl.cc @@ -35,9 +35,9 @@ //#include "PacketImpl.mpp" #define prefix_ -///////////////////////////////cc.p//////////////////////////////////////// +//-///////////////////////////////////////////////////////////////////////////////////////////////// -/////////////////////////////////////////////////////////////////////////// +//-///////////////////////////////////////////////////////////////////////////////////////////////// // senf::detail::PacketImpl prefix_ senf::detail::PacketImpl::~PacketImpl() @@ -156,6 +156,20 @@ prefix_ void senf::detail::PacketImpl::dumpAnnotations(std::ostream & os) } } +prefix_ void senf::detail::PacketImpl::clearAnnotations() +{ + ::memset(simpleAnnotations_, 0, sizeof(simpleAnnotations_)); + complexAnnotations_.clear(); +} + +prefix_ void senf::detail::PacketImpl::assignAnnotations(PacketImpl const & other) +{ + std::copy(&other.simpleAnnotations_[0], &other.simpleAnnotations_[0] + + sizeof(simpleAnnotations_)/sizeof(simpleAnnotations_[0]), simpleAnnotations_); + complexAnnotations_.assign( + other.complexAnnotations_.begin(), other.complexAnnotations_.end()); +} + prefix_ void * senf::detail::PacketImpl::complexAnnotation(AnnotationRegistry::key_type key) { SENF_ASSERT( key < 0, "complexAnnotation called with invalid key"); @@ -164,7 +178,7 @@ prefix_ void * senf::detail::PacketImpl::complexAnnotation(AnnotationRegistry::k ? 0 : complexAnnotations_[-key-1].get(); } -/////////////////////////////////////////////////////////////////////////// +//-///////////////////////////////////////////////////////////////////////////////////////////////// // senf::detail::AnnotationRegistry prefix_ void senf::detail::AnnotationRegistry::dump(key_type key, std::ostream & os, @@ -203,7 +217,7 @@ prefix_ void senf::dumpPacketAnnotationRegistry(std::ostream & os) senf::detail::AnnotationRegistry::instance().dumpRegistrations(os); } -/////////////////////////////cc.e//////////////////////////////////////// +//-///////////////////////////////////////////////////////////////////////////////////////////////// #undef prefix_ //#include "PacketImpl.mpp"