Re: STL map containing pointer_to_binary_function
Glennmac@gmail.com wrote:
Thanks for the info.
Let me clearify my goal, I want a map to contain a string as the key
and a function pointer template as the data. Meaning, I want to insert
into the map the following things:
map["test"] = equal_to<string>; // or pointers to the
binary_function....
map["test1"] = equal_to<int>;
map["test2"] = less<double>;
etc...
I know the base template for all those functors is the binary_function
template.
Is it possible to have a map where the data is a binary_function
template?
Thanks
You can't do that, because
1.
std::binary_function<ArgumentType, bool> are various types if
ArgumentType varies, then the pair type used for map is dependent on
ArgumentType.
2.
less<T> or greater<T> inherits from binary_function, which is not
virtual a class type, operator() is not virtual. so there's no
conversion between them (less<T> <==> binary_function<T, U>, greater<T>
<==> binary_function), and the right operator() can't be called
--
Thanks
Barry