//===----------------------------------------------------------------------===// // // The LLVM Compiler Infrastructure // // This file is distributed under the University of Illinois Open Source // License. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// // // template // struct iterator_traits // { // typedef ptrdiff_t difference_type; // typedef T value_type; // typedef const T* pointer; // typedef const T& reference; // typedef random_access_iterator_tag iterator_category; // }; #include #include struct A {}; int main() { typedef std::iterator_traits It; static_assert((std::is_same::value), ""); static_assert((std::is_same::value), ""); static_assert((std::is_same::value), ""); static_assert((std::is_same::value), ""); static_assert((std::is_same::value), ""); }