public:
static base_any_policy* get_policy();
-
-private:
- static typename choose_policy<T>::type policy;
};
-template <typename T>
-typename choose_policy<T>::type SinglePolicy<T>::policy;
-
/// This function will return a different policy for each type.
template <typename T>
-inline base_any_policy* SinglePolicy<T>::get_policy() { return &policy; }
+inline base_any_policy* SinglePolicy<T>::get_policy()
+{
+ static typename choose_policy<T>::type policy;
+ return &policy;
+}
} // namespace anyimpl