#ifndef _LIBCPP___FILESYSTEM_DIRECTORY_ITERATOR_H
#define _LIBCPP___FILESYSTEM_DIRECTORY_ITERATOR_H
#include <__assert>
#include <__config>
#include <__filesystem/directory_entry.h>
#include <__filesystem/directory_options.h>
#include <__filesystem/path.h>
#include <__iterator/default_sentinel.h>
#include <__iterator/iterator_traits.h>
#include <__memory/shared_ptr.h>
#include <__ranges/enable_borrowed_range.h>
#include <__ranges/enable_view.h>
#include <__system_error/error_code.h>
#include <__utility/move.h>
#include <cstddef>
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
# pragma GCC system_header
#endif
_LIBCPP_PUSH_MACROS
#include <__undef_macros>
#if _LIBCPP_STD_VER >= 17 && !defined(_LIBCPP_HAS_NO_FILESYSTEM)
_LIBCPP_BEGIN_NAMESPACE_FILESYSTEM
_LIBCPP_AVAILABILITY_FILESYSTEM_LIBRARY_PUSH
class _LIBCPP_HIDDEN __dir_stream;
class directory_iterator { … };
inline _LIBCPP_HIDE_FROM_ABI bool
operator==(const directory_iterator& __lhs, const directory_iterator& __rhs) noexcept { … }
inline _LIBCPP_HIDE_FROM_ABI bool
operator!=(const directory_iterator& __lhs, const directory_iterator& __rhs) noexcept { … }
inline _LIBCPP_HIDE_FROM_ABI directory_iterator begin(directory_iterator __iter) noexcept { … }
inline _LIBCPP_HIDE_FROM_ABI directory_iterator end(directory_iterator) noexcept { … }
_LIBCPP_AVAILABILITY_FILESYSTEM_LIBRARY_POP
_LIBCPP_END_NAMESPACE_FILESYSTEM
# if _LIBCPP_STD_VER >= 20
enable_borrowed_range;
enable_view;
# endif
#endif
_LIBCPP_POP_MACROS
#endif