This header is part of the ranges library.
[edit] Range concepts
[edit] Range access
Defined in namespace std::experimental::ranges |
|
|
|
|
[edit] Range primitives
Defined in namespace std::experimental::ranges |
|
|
|
|
[edit] Synopsis
#include <experimental/ranges/iterator>
namespace std { namespace experimental { namespace ranges { inline namespace v1 {
namespace {
constexpr /* unspecified / begin = / unspecified /;
constexpr / unspecified / end = / unspecified /;
constexpr / unspecified / cbegin = / unspecified /;
constexpr / unspecified / cend = / unspecified /;
constexpr / unspecified / rbegin = / unspecified /;
constexpr / unspecified / rend = / unspecified /;
constexpr / unspecified / crbegin = / unspecified /;
constexpr / unspecified / crend = / unspecified /;
}
namespace {
constexpr / unspecified / size = / unspecified /;
constexpr / unspecified / empty = / unspecified /;
constexpr / unspecified / data = / unspecified /;
constexpr / unspecified / cdata = / unspecified /;
}
template
using iterator_t = decltype(ranges::begin(declval<T&>()));
template
using sentinel_t = decltype(ranges::end(declval<T&>()));
template
constexpr bool disable_sized_range = false;
template
struct enable_view { };
struct view_base { };
template
concept bool Range = / see definition /;
template
concept bool SizedRange = / see definition /;
template
concept bool View = / see definition /;
template
concept bool BoundedRange = / see definition /;
template
concept bool InputRange = / see definition /;
template <class R, class T>
concept bool OutputRange = / see definition /;
template
concept bool ForwardRange = / see definition /;
template
concept bool BidirectionalRange = / see definition /;
template
concept bool RandomAccessRange = / see definition */;
}}}}