
26 Jan
2010
26 Jan
'10
10:36 p.m.
I'm trying to create a type trait to detect the presence of a constructor with a very specific signature. Types passed to this trait will *always* have a constructor of the form: T( const std::string& ); but some of them will have this constructor as well: T( const std::string&, Foo& ); // Second parameter will always be a Foo& I would like to create a type trait that returns true when the second constructor is present. I can't simply do: !is_convertible<std::string, T>::value since that will return false when the second constructor is present since all Ts are convertible from std::string. Is it possible to create such a trait?