diff options
Diffstat (limited to 'paludis/util/pool-impl.hh')
-rw-r--r-- | paludis/util/pool-impl.hh | 34 |
1 files changed, 33 insertions, 1 deletions
diff --git a/paludis/util/pool-impl.hh b/paludis/util/pool-impl.hh index aa02d222f..30142f315 100644 --- a/paludis/util/pool-impl.hh +++ b/paludis/util/pool-impl.hh @@ -89,7 +89,7 @@ namespace paludis template <typename T_> template <typename... Args_> const std::shared_ptr<const T_> - Pool<T_>::create(const Args_ & ... args) const + Pool<T_>::really_create(const Args_ & ... args) const { PoolKeys keys; keys.add(args...); @@ -108,6 +108,38 @@ namespace paludis } template <typename T_> + template <typename... Args_> + const std::shared_ptr<const T_> + Pool<T_>::create(const Args_ & ... args) const + { + return really_create(args...); + } + + template <typename T_> + template <typename T1_> + const std::shared_ptr<const T_> + Pool<T_>::create(const T1_ & a1) const + { + return really_create(a1); + } + + template <typename T_> + template <typename T1_, typename T2_> + const std::shared_ptr<const T_> + Pool<T_>::create(const T1_ & a1, const T2_ & a2) const + { + return really_create(a1, a2); + } + + template <typename T_> + template <typename T1_, typename T2_, typename T3_> + const std::shared_ptr<const T_> + Pool<T_>::create(const T1_ & a1, const T2_ & a2, const T3_ & a3) const + { + return really_create(a1, a2, a3); + } + + template <typename T_> ConcretePoolKey<T_>::ConcretePoolKey(const T_ & t) : PoolKey(PoolKeyTypeCodes::get<T_>()), _value(t) |