#ifndef _LIBCPP___ITERATOR_INCREMENTABLE_TRAITS_H
#define _LIBCPP___ITERATOR_INCREMENTABLE_TRAITS_H
#include <__concepts/arithmetic.h>
#include <__config>
#include <__type_traits/conditional.h>
#include <__type_traits/is_object.h>
#include <__type_traits/is_primary_template.h>
#include <__type_traits/make_signed.h>
#include <__type_traits/remove_cvref.h>
#include <__utility/declval.h>
#include <cstddef>
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
# pragma GCC system_header
#endif
_LIBCPP_BEGIN_NAMESPACE_STD
#if _LIBCPP_STD_VER >= 20
template <class>
struct incrementable_traits { … };
incrementable_traits<_Tp *>;
incrementable_traits<const _Ip>;
__has_member_difference_type;
incrementable_traits<_Tp>;
__has_integral_minus;
incrementable_traits<_Tp>;
template <class>
struct iterator_traits;
iter_difference_t;
#endif
_LIBCPP_END_NAMESPACE_STD
#endif