std::iterator_traits in C++ is a specializable class template. It provides type aliases like iterator_category, value_type, etc. which reveal properties of a given iterator.