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;
191 template <class InputIterator, class Distance> // constexpr in C++17
192 constexpr void advance(InputIterator& i, Distance n);
194 template <class InputIterator> // constexpr in C++17
195 constexpr typename iterator_traits<InputIterator>::difference_type
198 template <class InputIterator> // constexpr in C++17
199 constexpr InputIterator next(InputIterator x,
202 template <class BidirectionalIterator> // constexpr in C++17
203 constexpr BidirectionalIterator prev(BidirectionalIterator x,
210 constexpr void advance(I& i, iter_difference_t<I> n); // since C++20
212 constexpr void advance(I& i, S bound); // since C++20
214 constexpr iter_difference_t<I> advance(I& i, iter_difference_t<I> n, S bound); // since C++20
240 constexpr reverse_iterator();
241 constexpr explicit reverse_iterator(Iterator x);
242 template <class U> constexpr reverse_iterator(const reverse_iterator<U>& u);
243 template <class U> constexpr reverse_iterator& operator=(const reverse_iterator<U>& u);
244 constexpr Iterator base() const;
245 constexpr reference operator*() const;
246 constexpr pointer operator->() const; // until C++20
247 constexpr pointer operator->() const requires see below; // since C++20
248 constexpr reverse_iterator& operator++();
249 constexpr reverse_iterator operator++(int);
250 constexpr reverse_iterator& operator--();
251 constexpr reverse_iterator operator--(int);
252 constexpr reverse_iterator operator+ (difference_type n) const;
253 constexpr reverse_iterator& operator+=(difference_type n);
254 constexpr reverse_iterator operator- (difference_type n) const;
255 constexpr reverse_iterator& operator-=(difference_type n);
256 constexpr unspecified operator[](difference_type n) const;
258 friend constexpr iter_rvalue_reference_t<Iterator>
261 friend constexpr void
267 constexpr bool // constexpr in C++17
271 constexpr bool // constexpr in C++17
275 constexpr bool // constexpr in C++17
279 constexpr bool // constexpr in C++17
283 constexpr bool // constexpr in C++17
287 constexpr bool // constexpr in C++17
291 constexpr compare_three_way_result_t<Iterator1, Iterator2>
296 constexpr auto
298 -> decltype(__y.base() - __x.base()); // constexpr in C++17
301 constexpr reverse_iterator<Iterator>
303 const reverse_iterator<Iterator>& x); // constexpr in C++17
306 constexpr reverse_iterator<Iterator> make_reverse_iterator(Iterator i); // C++14, constexpr in C++17
310 inline constexpr bool disable_sized_sentinel_for<reverse_iterator<Iterator1>,
327 explicit back_insert_iterator(Container& x); // constexpr in C++20
328 …back_insert_iterator& operator=(const typename Container::value_type& value); // constexpr in C++…
329 back_insert_iterator& operator*(); // constexpr in C++20
330 back_insert_iterator& operator++(); // constexpr in C++20
331 back_insert_iterator operator++(int); // constexpr in C++20
334 …lass Container> back_insert_iterator<Container> back_inserter(Container& x); // constexpr in C++20
350 explicit front_insert_iterator(Container& x); // constexpr in C++20
351 …front_insert_iterator& operator=(const typename Container::value_type& value); // constexpr in C+…
352 front_insert_iterator& operator*(); // constexpr in C++20
353 front_insert_iterator& operator++(); // constexpr in C++20
354 front_insert_iterator operator++(int); // constexpr in C++20
357 …ss Container> front_insert_iterator<Container> front_inserter(Container& x); // constexpr in C++20
374 insert_iterator(Container& x, typename Container::iterator i); // constexpr in C++20
375 insert_iterator& operator=(const typename Container::value_type& value); // constexpr in C++20
376 insert_iterator& operator*(); // constexpr in C++20
377 insert_iterator& operator++(); // constexpr in C++20
378 insert_iterator& operator++(int); // constexpr in C++20
384 constexpr insert_iterator<Container> inserter(Container& x, ranges::iterator_t<Container> i); // s…
397 constexpr move_iterator(); // all the constexprs are in C++17
398 constexpr explicit move_iterator(Iterator i);
400 constexpr move_iterator(const move_iterator<U>& u);
402 constexpr move_iterator& operator=(const move_iterator<U>& u);
404 constexpr iterator_type base() const; // Until C++20
405 constexpr const Iterator& base() const & noexcept; // From C++20
406 constexpr Iterator base() &&; // From C++20
408 constexpr reference operator*() const;
409 constexpr pointer operator->() const; // Deprecated in C++20
410 constexpr move_iterator& operator++();
411 constexpr auto operator++(int); // Return type was move_iterator until C++20
412 constexpr move_iterator& operator--();
413 constexpr move_iterator operator--(int);
414 constexpr move_iterator operator+(difference_type n) const;
415 constexpr move_iterator& operator+=(difference_type n);
416 constexpr move_iterator operator-(difference_type n) const;
417 constexpr move_iterator& operator-=(difference_type n);
418 constexpr reference operator[](difference_type n) const; // Return type unspecified until C++20
421 friend constexpr bool
424 friend constexpr iter_difference_t<Iterator>
427 friend constexpr iter_difference_t<Iterator>
429 friend constexpr iter_rvalue_reference_t<Iterator>
433 friend constexpr void
442 constexpr bool // constexpr in C++17
446 constexpr bool // constexpr in C++17
450 constexpr bool // constexpr in C++17
454 constexpr bool // constexpr in C++17
458 constexpr bool // constexpr in C++17
462 constexpr bool // constexpr in C++17
466 constexpr auto // constexpr in C++17
471 constexpr move_iterator<Iterator> operator+( // constexpr in C++17
475 template <class Iterator> // constexpr in C++17
476 constexpr move_iterator<Iterator> make_move_iterator(const Iterator& i);
480 inline constexpr bool disable_sized_sentinel_for<move_iterator<Iterator1>, // since C++20
486 constexpr move_sentinel();
487 constexpr explicit move_sentinel(S s);
490 constexpr move_sentinel(const move_sentinel<S2>& s);
493 constexpr move_sentinel& operator=(const move_sentinel<S2>& s);
495 constexpr S base() const;
502 inline constexpr default_sentinel_t default_sentinel{};
513 inline constexpr unreachable_sentinel_t unreachable_sentinel{};
530 istream_iterator(); // constexpr since C++11
531 constexpr istream_iterator(default_sentinel_t); // since C++20
594 istreambuf_iterator() noexcept; // constexpr since C++11
595 constexpr istreambuf_iterator(default_sentinel_t) noexcept; // since C++20
642 template <class C> constexpr auto begin(C& c) -> decltype(c.begin()); // constexp…
643 template <class C> constexpr auto begin(const C& c) -> decltype(c.begin()); // constexp…
644 template <class C> constexpr auto end(C& c) -> decltype(c.end()); // constexp…
645 template <class C> constexpr auto end(const C& c) -> decltype(c.end()); // constexp…
646 template <class T, size_t N> constexpr T* begin(T (&array)[N]) noexcept;
647 template <class T, size_t N> constexpr T* end(T (&array)[N]) noexcept;
649 template <class C> constexpr auto cbegin(const C& c) noexcept(see-below) -> decltype(std::begin(c))…
650 template <class C> constexpr auto cend(const C& c) noexcept(see-below) -> decltype(std::end(c)); …
651 template <class C> constexpr auto rbegin(C& c) -> decltype(c.rbegin()); // C++14, c…
652 template <class C> constexpr auto rbegin(const C& c) -> decltype(c.rbegin()); // C++14, c…
653 template <class C> constexpr auto rend(C& c) -> decltype(c.rend()); // C++14, c…
654 template <class C> constexpr auto rend(const C& c) -> decltype(c.rend()); // C++14, c…
655 template <class E> constexpr reverse_iterator<const E*> rbegin(initializer_list<E> il); // C++14, c…
656 template <class E> constexpr reverse_iterator<const E*> rend(initializer_list<E> il); // C++14, c…
657 template <class T, size_t N> constexpr reverse_iterator<T*> rbegin(T (&array)[N]); // C++14, c…
658 template <class T, size_t N> constexpr reverse_iterator<T*> rend(T (&array)[N]); // C++14, c…
659 template <class C> constexpr auto crbegin(const C& c) -> decltype(std::rbegin(c)); // C++14, c…
660 template <class C> constexpr auto crend(const C& c) -> decltype(std::rend(c)); // C++14, c…
663 template <class C> constexpr auto size(const C& c) -> decltype(c.size()); // C++17
664 template <class T, size_t N> constexpr size_t size(const T (&array)[N]) noexcept; // C++17
666 template <class C> constexpr auto ssize(const C& c)
668 template <class T, ptrdiff_t> constexpr ptrdiff_t ssize(const T (&array)[N]) noexcept; // C++20
670 template <class C> constexpr auto empty(const C& c) -> decltype(c.empty()); // C++17
671 template <class T, size_t N> constexpr bool empty(const T (&array)[N]) noexcept; // C++17
672 template <class E> constexpr bool empty(initializer_list<E> il) noexcept; // C++17
673 template <class C> constexpr auto data(C& c) -> decltype(c.data()); // C++17
674 template <class C> constexpr auto data(const C& c) -> decltype(c.data()); // C++17
675 template <class T, size_t N> constexpr T* data(T (&array)[N]) noexcept; // C++17
676 template <class E> constexpr const E* data(initializer_list<E> il) noexcept; // C++17