X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=senf%2FPackets%2FPacketRegistry.ih;h=169d2757e3de344d8ff4f42620a30c7d200fa4c7;hb=29a39b247b75454ad25f3f9dc7a524debf8e805c;hp=af16278686f7eaa4c79eab77ba88513878d1eb50;hpb=601d1f509f5bb24df167a4dd5a20da67a0af9af8;p=senf.git diff --git a/senf/Packets/PacketRegistry.ih b/senf/Packets/PacketRegistry.ih index af16278..169d275 100644 --- a/senf/Packets/PacketRegistry.ih +++ b/senf/Packets/PacketRegistry.ih @@ -28,9 +28,10 @@ // Custom includes #include +#include #include #include -#include "../Utils/TypeIdValue.hh" +#include ///////////////////////////////ih.p//////////////////////////////////////// @@ -74,13 +75,16 @@ namespace detail { virtual ~PacketRegistryImplBase(); static void dump(std::ostream & os); + static void clear(); protected: typedef std::map RegistryMap; static RegistryMap & registries(); private: - virtual void v_dump(std::ostream & os) = 0; + virtual bool v_empty() const = 0; + virtual void v_dump(std::ostream & os) const = 0; + virtual void v_clear() = 0; }; /** \brief Internal: Singleton class implementing the packet registry. @@ -131,12 +135,26 @@ namespace detail { protected: private: - virtual void v_dump(std::ostream & os); + virtual bool v_empty() const; + virtual void v_dump(std::ostream & os) const; + virtual void v_clear(); PacketMap registry_; ReversePacketMap reverseRegistry_; }; + template ::is_integer> + struct DumpKey + { + static void dump(KeyType const & v, std::ostream & os); + }; + + template + struct DumpKey + { + static void dump(KeyType const & v, std::ostream & os); + }; + }} ///////////////////////////////ih.e////////////////////////////////////////