Lines Matching +full:class +full:- +full:d

1 // -*- C++ -*-
2 //===----------------------------------------------------------------------===//
6 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
8 //===----------------------------------------------------------------------===//
32 template<class T>
35 template<class T>
38 template<class T>
56 template<class>
59 template<class T>
63 template<class T>
68 template<class T>
72 template<class R, class T>
75 template<class T>
78 template<class T>
81 template<class T>
84 template<class T>
87 template<class T>
90 template <class _Tp>
93 template<class T>
97 template<class D>
98 requires is_class_v<D> && same_as<D, remove_cv_t<D>>
99 class range_adaptor_closure { }; // Since c++23
101 // [view.interface], class template view_interface
102 template<class D>
103 requires is_class_v<D> && same_as<D, remove_cv_t<D>>
104 class view_interface;
106 // [range.subrange], sub-ranges
107 enum class subrange_kind : bool { unsized, sized };
111 class subrange;
113 template<class I, class S, subrange_kind K>
128 class elements_view;
130 template<class T, size_t N>
134 template<class R>
136 template<class R>
147 template<class C, input_range R, class... Args> requires (!view<C>)
149 template<template<class...> class C, input_range R, class... Args>
151 template<class C, class... Args> requires (!view<C>)
153 template<template<class...> class C, class... Args>
157 template<class T>
159 class empty_view;
161 template<class T>
165 template<class T>
179 class ref_view;
181 template<class T>
186 class owning_view;
188 template<class T>
194 class filter_view;
202 class drop_view;
204 template<class T>
208 template<view V, class Pred>
211 class drop_while_view;
213 template<class T, class Pred>
223 can-reference<invoke_result_t<F&, range_reference_t<V>>>
224 class transform_view;
232 class common_view;
237 class reverse_view;
239 template<class T>
242 template<class T>
246 template<view> class take_view;
248 template<class T>
252 template<view V, class Pred>
255 class take_while_view;
261 class single_view;
264 requires weakly-equality-comparable-with<W, Bound> && copyable<W>
265 class iota_view;
267 template<class W, class Bound>
271 template<class T>
272 concept integer-like-with-usable-difference-type = // exposition only
273 is-signed-integer-like<T> || (is-integer-like<T> && weakly_incrementable<T>);
277 (integer-like-with-usable-difference-type<Bound> ||
279 class repeat_view;
286 class join_view;
289 template<class R>
290 concept tiny-range = see below; // exposition only
295 (forward_range<V> || tiny-range<Pattern>)
296 class lazy_split_view;
302 class split_view;
310 template<movable Val, class CharT, class Traits = char_traits<CharT>>
312 class basic_istream_view;
314 template<class Val>
317 template<class Val>
320 namespace views { template<class T> inline constexpr unspecified istream = unspecified; }
325 class zip_view; // C++23
327 template<class... Views>
336 class as_rvalue_view; // C++23
343 class chunk_by_view; // C++23
351 template<class T> struct tuple_size;
352 template<size_t I, class T> struct tuple_element;
354 template<class I, class S, ranges::subrange_kind K>
358 template<class I, class S, ranges::subrange_kind K>
363 template<class I, class S, ranges::subrange_kind K>
368 template<class I, class S, ranges::subrange_kind K>
373 template<class I, class S, ranges::subrange_kind K>
434 // standard-mandated includes