X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=senf%2FPackets%2FPacketRegistry.hh;h=f69d4f9c61c14456a718ab4c88d66f4dab92593f;hb=7ee689fe38d66aa3a0004d55e8708750d35adc0b;hp=a82e7b34cb637894803a3ae091e13eae002a32a2;hpb=3f1ea160b4bd47e86e299c7aa528870747f10a05;p=senf.git diff --git a/senf/Packets/PacketRegistry.hh b/senf/Packets/PacketRegistry.hh index a82e7b3..f69d4f9 100644 --- a/senf/Packets/PacketRegistry.hh +++ b/senf/Packets/PacketRegistry.hh @@ -27,16 +27,15 @@ #define HH_SENF_Packets_PacketRegistry_ 1 // Custom includes -#include -#include // for boost::noncopyable #include #include #include +#include #include "Packet.hh" #include "PacketRegistry.ih" //#include "PacketRegistry.mpp" -///////////////////////////////hh.p//////////////////////////////////////// +//-///////////////////////////////////////////////////////////////////////////////////////////////// namespace senf { @@ -86,6 +85,7 @@ namespace senf { */ template class PacketRegistry + : private senf::singleton< PacketRegistry > { public: typedef typename detail::PacketRegistryImpl::iterator iterator; @@ -170,7 +170,7 @@ namespace senf { \tparam PacketType packet of which the key is requested \returns key of the packet wrapped in a boost::optional or + href="http://www.boost.org/doc/libs/release/libs/optional/index.html">boost::optional or an unbound optional, if the key is not found. */ template @@ -192,7 +192,7 @@ namespace senf { \param packet The packet of which the key is requested \returns key of the packet wrapped in a boost::optional or + href="http://www.boost.org/doc/libs/release/libs/optional/index.html">boost::optional or an unbound optional, if the key is not found. */ static typename boost::optional key(Packet const & packet, NoThrow_t); @@ -219,8 +219,16 @@ namespace senf { static iterator end(); private: + using singleton::instance; + using singleton::alive; + + PacketRegistry(); + typedef detail::PacketRegistryImpl Registry; static Registry & registry(); + Registry registry_; + + friend class senf::singleton< PacketRegistry >; }; /** \brief Statically add an entry to a packet registry @@ -267,7 +275,7 @@ namespace senf { } -///////////////////////////////hh.e//////////////////////////////////////// +//-///////////////////////////////////////////////////////////////////////////////////////////////// #endif #if !defined(HH_SENF_Packets_Packets__decls_) && !defined(HH_SENF_Packets_PacketRegistry_i_) #define HH_SENF_Packets_PacketRegistry_i_