#ifndef _LIBCPP___RANGES_CONCEPTS_H
#define _LIBCPP___RANGES_CONCEPTS_H
#include <__concepts/constructible.h>
#include <__concepts/movable.h>
#include <__concepts/same_as.h>
#include <__config>
#include <__iterator/concepts.h>
#include <__iterator/incrementable_traits.h>
#include <__iterator/iter_move.h>
#include <__iterator/iterator_traits.h>
#include <__iterator/readable_traits.h>
#include <__ranges/access.h>
#include <__ranges/data.h>
#include <__ranges/enable_borrowed_range.h>
#include <__ranges/enable_view.h>
#include <__ranges/size.h>
#include <__type_traits/add_pointer.h>
#include <__type_traits/is_reference.h>
#include <__type_traits/remove_cvref.h>
#include <__type_traits/remove_reference.h>
#include <__utility/declval.h>
#include <initializer_list>
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
# pragma GCC system_header
#endif
_LIBCPP_BEGIN_NAMESPACE_STD
#if _LIBCPP_STD_VER >= 20
namespace ranges {
range;
input_range;
borrowed_range;
sentinel_t;
range_difference_t;
range_value_t;
range_reference_t;
range_rvalue_reference_t;
range_common_reference_t;
sized_range;
range_size_t;
view;
__simple_view;
output_range;
forward_range;
bidirectional_range;
random_access_range;
contiguous_range;
common_range;
__is_std_initializer_list;
__is_std_initializer_list;
viewable_range;
}
#endif
_LIBCPP_END_NAMESPACE_STD
#endif