X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Packets%2FPacketRegistry.cti;h=6de3a0c9ccdef413e3320e6281b1e4512d2316f9;hb=f90ccec9262e178534bb86c0061ecf83e3df91b3;hp=2f7ffd10a5418e76dcdf44bac8f0822ca56c0881;hpb=17b255fefe9782cc6004e714b59745da0d8e29bb;p=senf.git diff --git a/Packets/PacketRegistry.cti b/Packets/PacketRegistry.cti index 2f7ffd1..6de3a0c 100644 --- a/Packets/PacketRegistry.cti +++ b/Packets/PacketRegistry.cti @@ -30,6 +30,9 @@ #define prefix_ inline ///////////////////////////////PacketRegistry..p/////////////////////////////////////// +/////////////////////////////////////////////////////////////////////////// +// senf::PacketRegistry::RegistrationProxy + template template prefix_ senf::PacketRegistry::RegistrationProxy:: @@ -38,6 +41,9 @@ RegistrationProxy(typename Tag::key_t key) PacketRegistry::template registerPacket(key); } +/////////////////////////////////////////////////////////////////////////// +// senf::PacketRegistry + template template prefix_ void senf::PacketRegistry::registerPacket(typename Tag::key_t key) @@ -85,6 +91,45 @@ prefix_ senf::PkReg_Entry const * senf::PacketRegistry::lookup(typename Tag return registry().lookup(key,true); } +template +prefix_ typename senf::PacketRegistry::iterator senf::PacketRegistry::begin() +{ + return registry().begin(); +} + +template +prefix_ typename senf::PacketRegistry::iterator senf::PacketRegistry::end() +{ + return registry().end(); +} + +/////////////////////////////////////////////////////////////////////////// +// senf::detail::PacketRegistryImpl + +template +prefix_ senf::detail::PacketRegistryImpl::PacketRegistryImpl(std::string const & name) +{ + registries()[name] = this; +} + +template +prefix_ typename senf::detail::PacketRegistryImpl::iterator +senf::detail::PacketRegistryImpl::begin() + const +{ + return boost::make_transform_iterator( + registry_.begin(), __gnu_cxx::select1st()); +} + +template +prefix_ typename senf::detail::PacketRegistryImpl::iterator +senf::detail::PacketRegistryImpl::end() + const +{ + return boost::make_transform_iterator( + registry_.end(), __gnu_cxx::select1st()); +} + ///////////////////////////////PacketRegistry..e/////////////////////////////////////// #undef prefix_