Lines Matching refs:constexpr

39     inline constexpr unspecified iter_move = unspecified; // since C++20, nodiscard as an extension
77 inline constexpr bool disable_sized_sentinel_for = false;
165 template <class InputIterator, class Distance> // constexpr in C++17
166 constexpr void advance(InputIterator& i, Distance n);
168 template <class InputIterator> // constexpr in C++17
169 constexpr typename iterator_traits<InputIterator>::difference_type
172 template <class InputIterator> // constexpr in C++17
173 constexpr InputIterator next(InputIterator x,
176 template <class BidirectionalIterator> // constexpr in C++17
177 constexpr BidirectionalIterator prev(BidirectionalIterator x,
184 constexpr void advance(I& i, iter_difference_t<I> n); // since C++20
186 constexpr void advance(I& i, S bound); // since C++20
188 constexpr iter_difference_t<I> advance(I& i, iter_difference_t<I> n, S bound); // since C++20
207 constexpr reverse_iterator();
208 constexpr explicit reverse_iterator(Iterator x);
209 template <class U> constexpr reverse_iterator(const reverse_iterator<U>& u);
210 template <class U> constexpr reverse_iterator& operator=(const reverse_iterator<U>& u);
211 constexpr Iterator base() const;
212 constexpr reference operator*() const;
213 constexpr pointer operator->() const;
214 constexpr reverse_iterator& operator++();
215 constexpr reverse_iterator operator++(int);
216 constexpr reverse_iterator& operator--();
217 constexpr reverse_iterator operator--(int);
218 constexpr reverse_iterator operator+ (difference_type n) const;
219 constexpr reverse_iterator& operator+=(difference_type n);
220 constexpr reverse_iterator operator- (difference_type n) const;
221 constexpr reverse_iterator& operator-=(difference_type n);
222 constexpr reference operator[](difference_type n) const;
226 constexpr bool // constexpr in C++17
230 constexpr bool // constexpr in C++17
234 constexpr bool // constexpr in C++17
238 constexpr bool // constexpr in C++17
242 constexpr bool // constexpr in C++17
246 constexpr bool // constexpr in C++17
250 constexpr auto
252 -> decltype(__y.base() - __x.base()); // constexpr in C++17
255 constexpr reverse_iterator<Iterator>
257 const reverse_iterator<Iterator>& x); // constexpr in C++17
260 constexpr reverse_iterator<Iterator> make_reverse_iterator(Iterator i); // C++14, constexpr in C++17
276 explicit back_insert_iterator(Container& x); // constexpr in C++20
277 …back_insert_iterator& operator=(const typename Container::value_type& value); // constexpr in C++…
278 back_insert_iterator& operator*(); // constexpr in C++20
279 back_insert_iterator& operator++(); // constexpr in C++20
280 back_insert_iterator operator++(int); // constexpr in C++20
283 …lass Container> back_insert_iterator<Container> back_inserter(Container& x); // constexpr in C++20
299 explicit front_insert_iterator(Container& x); // constexpr in C++20
300 …front_insert_iterator& operator=(const typename Container::value_type& value); // constexpr in C+…
301 front_insert_iterator& operator*(); // constexpr in C++20
302 front_insert_iterator& operator++(); // constexpr in C++20
303 front_insert_iterator operator++(int); // constexpr in C++20
306 …ss Container> front_insert_iterator<Container> front_inserter(Container& x); // constexpr in C++20
323 insert_iterator(Container& x, typename Container::iterator i); // constexpr in C++20
324 insert_iterator& operator=(const typename Container::value_type& value); // constexpr in C++20
325 insert_iterator& operator*(); // constexpr in C++20
326 insert_iterator& operator++(); // constexpr in C++20
327 insert_iterator& operator++(int); // constexpr in C++20
331 insert_iterator<Container> inserter(Container& x, Iterator i); // constexpr in C++20
343 constexpr move_iterator(); // all the constexprs are in C++17
344 constexpr explicit move_iterator(Iterator i);
346 constexpr move_iterator(const move_iterator<U>& u);
348 constexpr move_iterator& operator=(const move_iterator<U>& u);
349 constexpr iterator_type base() const;
350 constexpr reference operator*() const;
351 constexpr pointer operator->() const;
352 constexpr move_iterator& operator++();
353 constexpr move_iterator operator++(int);
354 constexpr move_iterator& operator--();
355 constexpr move_iterator operator--(int);
356 constexpr move_iterator operator+(difference_type n) const;
357 constexpr move_iterator& operator+=(difference_type n);
358 constexpr move_iterator operator-(difference_type n) const;
359 constexpr move_iterator& operator-=(difference_type n);
360 constexpr unspecified operator[](difference_type n) const;
366 constexpr bool // constexpr in C++17
370 constexpr bool // constexpr in C++17
374 constexpr bool // constexpr in C++17
378 constexpr bool // constexpr in C++17
382 constexpr bool // constexpr in C++17
386 constexpr bool // constexpr in C++17
390 constexpr auto // constexpr in C++17
395 constexpr move_iterator<Iterator> operator+( // constexpr in C++17
399 template <class Iterator> // constexpr in C++17
400 constexpr move_iterator<Iterator> make_move_iterator(const Iterator& i);
404 inline constexpr default_sentinel_t default_sentinel{};
428 constexpr istream_iterator();
536 template <class C> constexpr auto begin(C& c) -> decltype(c.begin());
537 template <class C> constexpr auto begin(const C& c) -> decltype(c.begin());
538 template <class C> constexpr auto end(C& c) -> decltype(c.end());
539 template <class C> constexpr auto end(const C& c) -> decltype(c.end());
540 template <class T, size_t N> constexpr T* begin(T (&array)[N]);
541 template <class T, size_t N> constexpr T* end(T (&array)[N]);
543 template <class C> auto constexpr cbegin(const C& c) -> decltype(std::begin(c)); // C++14
544 template <class C> auto constexpr cend(const C& c) -> decltype(std::end(c)); // C++14
545 template <class C> auto constexpr rbegin(C& c) -> decltype(c.rbegin()); // C++14
546 template <class C> auto constexpr rbegin(const C& c) -> decltype(c.rbegin()); // C++14
547 template <class C> auto constexpr rend(C& c) -> decltype(c.rend()); // C++14
548 template <class C> constexpr auto rend(const C& c) -> decltype(c.rend()); // C++14
549 template <class E> reverse_iterator<const E*> constexpr rbegin(initializer_list<E> il); // C++14
550 template <class E> reverse_iterator<const E*> constexpr rend(initializer_list<E> il); // C++14
551 template <class T, size_t N> reverse_iterator<T*> constexpr rbegin(T (&array)[N]); // C++14
552 template <class T, size_t N> reverse_iterator<T*> constexpr rend(T (&array)[N]); // C++14
553 template <class C> constexpr auto crbegin(const C& c) -> decltype(std::rbegin(c)); // C++14
554 template <class C> constexpr auto crend(const C& c) -> decltype(std::rend(c)); // C++14
557 template <class C> constexpr auto size(const C& c) -> decltype(c.size()); // C++17
558 template <class T, size_t N> constexpr size_t size(const T (&array)[N]) noexcept; // C++17
560 template <class C> constexpr auto ssize(const C& c)
562 template <class T, ptrdiff_t> constexpr ptrdiff_t ssize(const T (&array)[N]) noexcept; // C++20
564 template <class C> constexpr auto empty(const C& c) -> decltype(c.empty()); // C++17
565 template <class T, size_t N> constexpr bool empty(const T (&array)[N]) noexcept; // C++17
566 template <class E> constexpr bool empty(initializer_list<E> il) noexcept; // C++17
567 template <class C> constexpr auto data(C& c) -> decltype(c.data()); // C++17
568 template <class C> constexpr auto data(const C& c) -> decltype(c.data()); // C++17
569 template <class T, size_t N> constexpr T* data(T (&array)[N]) noexcept; // C++17
570 template <class E> constexpr const E* data(initializer_list<E> il) noexcept; // C++17