how can i get the type of the elements that are held by a STL container?
For containers in general it will be X::value_type
. For associative containers it will be X::mapped_type
(X::value_type
corresponds to pair<const Key,T>
). It is according to Chapter 23 of C++ Standard.
To check that types are equal you could use boost::is_same
. And since C++11 — std::is_same
.