
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On Tuesday 18 December 2007 13:53 pm, Howard Hinnant wrote:
Some of this is C++0X, like the ability to return movable but non- copyable items from factory functions. Is this getting close to what you were wanting to do?
I think what I can do is just put a bunch of overloaded template constructors in my wrapper, sort of like template<typename Mutex> class my_mutex_wrapper { Mutex mut_; public: my_mutex_wrapper() {//...} template<typename A1> my_mutex_wrapper(A1 a1): mut_(a1) {//...} template<typename A1, typename A2> my_mutex_wrapper(A1 a1, A2 a2): mut_(a1, a2) {//...} // ... template<typename A1, typename A2, /*...*/, typename An> my_mutex_wrapper(A1 a1, A2 a2, /*...*/, An an): mut_(a1, a2, /*...*/, an) {//...} // ... }; One of the constructors will probably be useable by the Mutex template type, and the invalid ones won't instantiated. - -- Frank -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (GNU/Linux) iD8DBQFHaDfY5vihyNWuA4URAokTAJ9mO+lt43gXO4Az4sgJ/IlBsV6z/wCeOSRp 84NqtFb3jMLPcFPgoLfQdqY= =DMu/ -----END PGP SIGNATURE-----