forked from OSchip/llvm-project
[libcxx][ranges][nfc] moves view concepts into `__ranges/concepts.h`
This commit is contained in:
parent
a22236120f
commit
bbb3d03f93
|
@ -50,8 +50,8 @@ set(files
|
|||
__ranges/empty.h
|
||||
__ranges/empty_view.h
|
||||
__ranges/enable_borrowed_range.h
|
||||
__ranges/enable_view.h
|
||||
__ranges/view_interface.h
|
||||
__ranges/view.h
|
||||
__ranges/size.h
|
||||
__split_buffer
|
||||
__std_stream
|
||||
|
|
|
@ -12,6 +12,7 @@
|
|||
#include <__config>
|
||||
#include <__iterator/concepts.h>
|
||||
#include <__ranges/access.h>
|
||||
#include <__ranges/enable_view.h>
|
||||
#include <__ranges/size.h>
|
||||
#include <type_traits>
|
||||
|
||||
|
@ -63,6 +64,24 @@ namespace ranges {
|
|||
|
||||
// `disable_sized_range` defined in `<__ranges/size.h>`
|
||||
|
||||
// [range.view], views
|
||||
|
||||
// `enable_view` defined in <__ranges/enable_view.h>
|
||||
// `view_base` defined in <__ranges/enable_view.h>
|
||||
|
||||
template <class _Tp>
|
||||
concept view =
|
||||
range<_Tp> &&
|
||||
movable<_Tp> &&
|
||||
default_initializable<_Tp> &&
|
||||
enable_view<_Tp>;
|
||||
|
||||
template<class _Range>
|
||||
concept __simple_view =
|
||||
view<_Range> && range<const _Range> &&
|
||||
same_as<iterator_t<_Range>, iterator_t<const _Range>> &&
|
||||
same_as<sentinel_t<_Range>, iterator_t<const _Range>>;
|
||||
|
||||
// [range.refinements], other range refinements
|
||||
template <class _Tp>
|
||||
concept input_range = range<_Tp> && input_iterator<iterator_t<_Tp> >;
|
||||
|
|
|
@ -7,8 +7,8 @@
|
|||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#ifndef _LIBCPP___RANGES_VIEW_H
|
||||
#define _LIBCPP___RANGES_VIEW_H
|
||||
#ifndef _LIBCPP___RANGES_ENABLE_VIEW_H
|
||||
#define _LIBCPP___RANGES_ENABLE_VIEW_H
|
||||
|
||||
#include <__config>
|
||||
#include <__ranges/concepts.h>
|
||||
|
@ -33,18 +33,6 @@ struct view_base { };
|
|||
template <class _Tp>
|
||||
inline constexpr bool enable_view = derived_from<_Tp, view_base>;
|
||||
|
||||
template <class _Tp>
|
||||
concept view =
|
||||
range<_Tp> &&
|
||||
movable<_Tp> &&
|
||||
default_initializable<_Tp> &&
|
||||
enable_view<_Tp>;
|
||||
|
||||
template<class _Range>
|
||||
concept __simple_view =
|
||||
view<_Range> && range<const _Range> &&
|
||||
same_as<iterator_t<_Range>, iterator_t<const _Range>> &&
|
||||
same_as<sentinel_t<_Range>, iterator_t<const _Range>>;
|
||||
} // end namespace ranges
|
||||
|
||||
#endif // !_LIBCPP_HAS_NO_RANGES
|
||||
|
@ -53,4 +41,4 @@ _LIBCPP_END_NAMESPACE_STD
|
|||
|
||||
_LIBCPP_POP_MACROS
|
||||
|
||||
#endif // _LIBCPP___RANGES_VIEW_H
|
||||
#endif // _LIBCPP___RANGES_ENABLE_VIEW_H
|
|
@ -15,7 +15,7 @@
|
|||
#include <__iterator/prev.h>
|
||||
#include <__ranges/access.h>
|
||||
#include <__ranges/empty.h>
|
||||
#include <__ranges/view.h>
|
||||
#include <__ranges/enable_view.h>
|
||||
#include <type_traits>
|
||||
|
||||
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
|
||||
|
|
|
@ -99,9 +99,9 @@ namespace std::ranges {
|
|||
#include <__ranges/empty.h>
|
||||
#include <__ranges/empty_view.h>
|
||||
#include <__ranges/enable_borrowed_range.h>
|
||||
#include <__ranges/enable_view.h>
|
||||
#include <__ranges/size.h>
|
||||
#include <__ranges/view_interface.h>
|
||||
#include <__ranges/view.h>
|
||||
#include <compare> // Required by the standard.
|
||||
#include <initializer_list> // Required by the standard.
|
||||
#include <iterator> // Required by the standard.
|
||||
|
|
Loading…
Reference in New Issue