Packets: optimized intrusive_ptr access; optimized PacketTypeMixin member parameters
[senf.git] / senf / Packets / PacketRegistry.cc
index 366c129..da8a5bb 100644 (file)
@@ -31,9 +31,6 @@
 #define prefix_
 ///////////////////////////////cc.p////////////////////////////////////////
 
-prefix_  senf::PkReg_Entry::~PkReg_Entry()
-{}
-
 prefix_ senf::detail::PacketRegistryImplBase::~PacketRegistryImplBase()
 {}
 
@@ -42,12 +39,22 @@ prefix_ void senf::detail::PacketRegistryImplBase::dump(std::ostream & os)
     RegistryMap::const_iterator i (registries().begin());
     RegistryMap::const_iterator const i_end (registries().end());
     for (; i!=i_end; ++i) {
-        os << i->first << ":\n";
-        i->second->v_dump(os);
-        os << "\n";
+        if (! i->second->v_empty()) {
+            os << i->first << ":\n";
+            i->second->v_dump(os);
+            os << "\n";
+        }
     }
 }
 
+prefix_ void senf::detail::PacketRegistryImplBase::clear()
+{
+    RegistryMap::const_iterator i (registries().begin());
+    RegistryMap::const_iterator const i_end (registries().end());
+    for (; i!=i_end; ++i)
+        i->second->v_clear();
+}
+
 prefix_ senf::detail::PacketRegistryImplBase::RegistryMap &
 senf::detail::PacketRegistryImplBase::registries()
 {