1//===----------------------------------------------------------------------===// 2// 3// The LLVM Compiler Infrastructure 4// 5// This file is dual licensed under the MIT and the University of Illinois Open 6// Source Licenses. See LICENSE.TXT for details. 7// 8//===----------------------------------------------------------------------===// 9 10// UNSUPPORTED: c++98, c++03 11 12// <experimental/filesystem> 13 14// class directory_iterator 15 16// typedef ... value_type; 17// typedef ... difference_type; 18// typedef ... pointer; 19// typedef ... reference; 20// typedef ... iterator_category 21 22#include <experimental/filesystem> 23#include <type_traits> 24#include <cassert> 25 26#include "test_macros.h" 27 28namespace fs = std::experimental::filesystem; 29 30int main() { 31 using namespace fs; 32 using D = directory_iterator; 33 ASSERT_SAME_TYPE(D::value_type, directory_entry); 34 ASSERT_SAME_TYPE(D::difference_type, std::ptrdiff_t); 35 ASSERT_SAME_TYPE(D::pointer, const directory_entry*); 36 ASSERT_SAME_TYPE(D::reference, const directory_entry&); 37 ASSERT_SAME_TYPE(D::iterator_category, std::input_iterator_tag); 38} 39