//#include "PacketImpl.mpp"
#define prefix_
-///////////////////////////////cc.p////////////////////////////////////////
+//-/////////////////////////////////////////////////////////////////////////////////////////////////
-///////////////////////////////////////////////////////////////////////////
+//-/////////////////////////////////////////////////////////////////////////////////////////////////
// senf::detail::PacketImpl
prefix_ senf::detail::PacketImpl::~PacketImpl()
}
}
+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");
? 0 : complexAnnotations_[-key-1].get();
}
-///////////////////////////////////////////////////////////////////////////
+//-/////////////////////////////////////////////////////////////////////////////////////////////////
// senf::detail::AnnotationRegistry
+prefix_ void senf::detail::AnnotationRegistry::dump(key_type key, std::ostream & os,
+ void * annotation)
+ const
+{
+ Registry::const_iterator i (registry_.find(key));
+ if (i != registry_.end()) {
+ os << fieldName(i->second->v_name());
+ i->second->v_dump(os, annotation);
+ os << "\n";
+ }
+}
+
prefix_ void senf::detail::AnnotationRegistry::dumpRegistrations(std::ostream & os)
{
boost::format fmt ("%-56.56s %-4.4s %-7.7s %5d\n");
senf::detail::AnnotationRegistry::instance().dumpRegistrations(os);
}
-/////////////////////////////cc.e////////////////////////////////////////
+//-/////////////////////////////////////////////////////////////////////////////////////////////////
#undef prefix_
//#include "PacketImpl.mpp"