Lines Matching refs:constexpr
59 template <class InputIterator> // constexpr in C++17
60 constexpr void advance(InputIterator& i,
63 template <class InputIterator> // constexpr in C++17
64 constexpr typename iterator_traits<InputIterator>::difference_type
67 template <class InputIterator> // constexpr in C++17
68 constexpr InputIterator next(InputIterator x,
71 template <class BidirectionalIterator> // constexpr in C++17
72 constexpr BidirectionalIterator prev(BidirectionalIterator x,
91 constexpr reverse_iterator();
92 constexpr explicit reverse_iterator(Iterator x);
93 template <class U> constexpr reverse_iterator(const reverse_iterator<U>& u);
94 template <class U> constexpr reverse_iterator& operator=(const reverse_iterator<U>& u);
95 constexpr Iterator base() const;
96 constexpr reference operator*() const;
97 constexpr pointer operator->() const;
98 constexpr reverse_iterator& operator++();
99 constexpr reverse_iterator operator++(int);
100 constexpr reverse_iterator& operator--();
101 constexpr reverse_iterator operator--(int);
102 constexpr reverse_iterator operator+ (difference_type n) const;
103 constexpr reverse_iterator& operator+=(difference_type n);
104 constexpr reverse_iterator operator- (difference_type n) const;
105 constexpr reverse_iterator& operator-=(difference_type n);
106 constexpr reference operator[](difference_type n) const;
110 constexpr bool // constexpr in C++17
114 constexpr bool // constexpr in C++17
118 constexpr bool // constexpr in C++17
122 constexpr bool // constexpr in C++17
126 constexpr bool // constexpr in C++17
130 constexpr bool // constexpr in C++17
134 constexpr auto
136 -> decltype(__y.base() - __x.base()); // constexpr in C++17
139 constexpr reverse_iterator<Iterator>
141 const reverse_iterator<Iterator>& x); // constexpr in C++17
144 constexpr reverse_iterator<Iterator> make_reverse_iterator(Iterator i); // C++14, constexpr in C++17
221 constexpr move_iterator(); // all the constexprs are in C++17
222 constexpr explicit move_iterator(Iterator i);
224 constexpr move_iterator(const move_iterator<U>& u);
226 constexpr move_iterator& operator=(const move_iterator<U>& u);
227 constexpr iterator_type base() const;
228 constexpr reference operator*() const;
229 constexpr pointer operator->() const;
230 constexpr move_iterator& operator++();
231 constexpr move_iterator operator++(int);
232 constexpr move_iterator& operator--();
233 constexpr move_iterator operator--(int);
234 constexpr move_iterator operator+(difference_type n) const;
235 constexpr move_iterator& operator+=(difference_type n);
236 constexpr move_iterator operator-(difference_type n) const;
237 constexpr move_iterator& operator-=(difference_type n);
238 constexpr unspecified operator[](difference_type n) const;
244 constexpr bool // constexpr in C++17
248 constexpr bool // constexpr in C++17
252 constexpr bool // constexpr in C++17
256 constexpr bool // constexpr in C++17
260 constexpr bool // constexpr in C++17
264 constexpr bool // constexpr in C++17
268 constexpr auto // constexpr in C++17
273 constexpr move_iterator<Iterator> operator+( // constexpr in C++17
277 template <class Iterator> // constexpr in C++17
278 constexpr move_iterator<Iterator> make_move_iterator(const Iterator& i);
290 constexpr istream_iterator();
380 template <class C> constexpr auto begin(C& c) -> decltype(c.begin());
381 template <class C> constexpr auto begin(const C& c) -> decltype(c.begin());
382 template <class C> constexpr auto end(C& c) -> decltype(c.end());
383 template <class C> constexpr auto end(const C& c) -> decltype(c.end());
384 template <class T, size_t N> constexpr T* begin(T (&array)[N]);
385 template <class T, size_t N> constexpr T* end(T (&array)[N]);
387 template <class C> auto constexpr cbegin(const C& c) -> decltype(std::begin(c)); // C++14
388 template <class C> auto constexpr cend(const C& c) -> decltype(std::end(c)); // C++14
389 template <class C> auto constexpr rbegin(C& c) -> decltype(c.rbegin()); // C++14
390 template <class C> auto constexpr rbegin(const C& c) -> decltype(c.rbegin()); // C++14
391 template <class C> auto constexpr rend(C& c) -> decltype(c.rend()); // C++14
392 template <class C> constexpr auto rend(const C& c) -> decltype(c.rend()); // C++14
393 template <class E> reverse_iterator<const E*> constexpr rbegin(initializer_list<E> il); // C++14
394 template <class E> reverse_iterator<const E*> constexpr rend(initializer_list<E> il); // C++14
395 template <class T, size_t N> reverse_iterator<T*> constexpr rbegin(T (&array)[N]); // C++14
396 template <class T, size_t N> reverse_iterator<T*> constexpr rend(T (&array)[N]); // C++14
397 template <class C> constexpr auto crbegin(const C& c) -> decltype(std::rbegin(c)); // C++14
398 template <class C> constexpr auto crend(const C& c) -> decltype(std::rend(c)); // C++14
401 template <class C> constexpr auto size(const C& c) -> decltype(c.size()); // C++17
402 template <class T, size_t N> constexpr size_t size(const T (&array)[N]) noexcept; // C++17
403 template <class C> constexpr auto empty(const C& c) -> decltype(c.empty()); // C++17
404 template <class T, size_t N> constexpr bool empty(const T (&array)[N]) noexcept; // C++17
405 template <class E> constexpr bool empty(initializer_list<E> il) noexcept; // C++17
406 template <class C> constexpr auto data(C& c) -> decltype(c.data()); // C++17
407 template <class C> constexpr auto data(const C& c) -> decltype(c.data()); // C++17
408 template <class T, size_t N> constexpr T* data(T (&array)[N]) noexcept; // C++17
409 template <class E> constexpr const E* data(initializer_list<E> il) noexcept; // C++17
1853 constexpr auto size(const _Cont& __c)
1860 constexpr size_t size(const _Tp (&)[_Sz]) noexcept { return _Sz; }
1864 constexpr auto empty(const _Cont& __c)
1871 constexpr bool empty(const _Tp (&)[_Sz]) noexcept { return false; }
1875 constexpr bool empty(initializer_list<_Ep> __il) noexcept { return __il.size() == 0; }
1877 template <class _Cont> constexpr
1884 template <class _Cont> constexpr
1893 constexpr _Tp* data(_Tp (&__array)[_Sz]) noexcept { return __array; }
1897 constexpr const _Ep* data(initializer_list<_Ep> __il) noexcept { return __il.begin(); }