aboutsummaryrefslogtreecommitdiff
path: root/paludis/util/pool-impl.hh
diff options
context:
space:
mode:
Diffstat (limited to 'paludis/util/pool-impl.hh')
-rw-r--r--paludis/util/pool-impl.hh34
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)