From: Andrei Pavel Date: Fri, 1 Jul 2022 15:06:16 +0000 (+0300) Subject: [#2448] add C++ template adapters to LeaseXPtr X-Git-Tag: Kea-2.2.0~79 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f358e4b353fb178eed670a492f3fa5a670312583;p=thirdparty%2Fkea.git [#2448] add C++ template adapters to LeaseXPtr --- diff --git a/src/lib/dhcpsrv/lease.h b/src/lib/dhcpsrv/lease.h index 67c23cdc5b..5f831ff150 100644 --- a/src/lib/dhcpsrv/lease.h +++ b/src/lib/dhcpsrv/lease.h @@ -14,6 +14,7 @@ #include #include #include +#include namespace isc { namespace dhcp { @@ -672,6 +673,32 @@ typedef boost::shared_ptr Lease6CollectionPtr; std::ostream& operator<<(std::ostream& os, const Lease& lease); +/// @brief adapters for linking templates to qualified names +/// @{ +namespace { + +template +struct adapter_Lease {}; + +template <> +struct adapter_Lease { + using type = Lease4; +}; + +template <> +struct adapter_Lease { + using type = Lease6; +}; + +} // namespace + +template +using LeaseT = typename adapter_Lease::type; + +template +using LeaseTPtr = boost::shared_ptr>; +/// @} + }; // end of isc::dhcp namespace }; // end of isc namespace