Lines Matching refs:rbegin
22 using RangeRBeginT = decltype(std::ranges::rbegin);
62 constexpr const int *rbegin() const { return &x; } in rbegin() function
78 ASSERT_SAME_TYPE(decltype(std::ranges::rbegin(x)), std::reverse_iterator<int**>); in testReturnTypes()
83 ASSERT_SAME_TYPE(decltype(std::ranges::rbegin(x)), std::reverse_iterator<int(*)[2]>); in testReturnTypes()
88 char*& rbegin(); in testReturnTypes()
89 short*& rbegin() const; in testReturnTypes()
91 ASSERT_SAME_TYPE(decltype(std::ranges::rbegin(x)), char*); in testReturnTypes()
99 assert(std::ranges::rbegin(a).base() == a + 2); in testArray()
103 assert(std::ranges::rbegin(b).base() == b + 2); in testArray()
107 assert(std::ranges::rbegin(c).base() == c + 2); in testArray()
114 int rbegin() const;
119 const void *rbegin() const;
125 iterator rbegin() const;
131 constexpr int* rbegin() { return &x; } in rbegin() function
139 constexpr int *rbegin() const { return globalBuff; } in rbegin() function
146 constexpr const int *rbegin() const { return &x; } in rbegin() function
147 friend int* rbegin(RBeginMemberFunction const&);
153 constexpr const Empty* rbegin() const { return &x; } in rbegin() function
158 assert(std::ranges::rbegin(a) == &a.x); in testRBeginMember()
164 assert(std::ranges::rbegin(b) == &b.x); in testRBeginMember()
168 assert(std::ranges::rbegin(c) == globalBuff); in testRBeginMember()
170 assert(std::ranges::rbegin(std::move(c)) == globalBuff); in testRBeginMember()
174 assert(std::ranges::rbegin(d) == &d.x); in testRBeginMember()
178 assert(std::ranges::rbegin(e) == &e.x); in testRBeginMember()
187 friend constexpr const int* rbegin(RBeginFunction const& bf) { return &bf.x; } in rbegin() function
196 friend int rbegin(RBeginFunctionReturnsInt const&);
201 friend void *rbegin(RBeginFunctionReturnsVoidPtr const&);
207 friend Empty rbegin(RBeginFunctionReturnsEmpty const&);
213 friend iterator rbegin(RBeginFunctionReturnsPtrConvertible const&);
218 friend constexpr int *rbegin(RBeginFunctionByValue) { return globalBuff + 1; } in rbegin() function
223 friend constexpr int *rbegin(RBeginFunctionEnabledBorrowing) { return globalBuff + 2; } in rbegin() function
231 friend constexpr const Empty *rbegin(RBeginFunctionReturnsEmptyPtr const& bf) { return &bf.x; } in rbegin() function
236 int rbegin; member
237 friend constexpr const int *rbegin(RBeginFunctionWithDataMember const& bf) { return &bf.x; } in rbegin() function
242 …friend constexpr const int *rbegin(RBeginFunctionWithPrivateBeginMember const& bf) { return &bf.y;… in rbegin() function
244 const int *rbegin() const;
252 assert(std::ranges::rbegin(aa) == &aa.x); in testRBeginFunction()
257 assert(std::ranges::rbegin(b) == globalBuff + 1); in testRBeginFunction()
259 assert(std::ranges::rbegin(bb) == globalBuff + 1); in testRBeginFunction()
264 assert(std::ranges::rbegin(std::move(c)) == globalBuff + 2); in testRBeginFunction()
266 assert(std::ranges::rbegin(std::move(cc)) == globalBuff + 2); in testRBeginFunction()
273 assert(std::ranges::rbegin(dd) == &dd.x); in testRBeginFunction()
279 assert(std::ranges::rbegin(ee) == &ee.x); in testRBeginFunction()
287 assert(std::ranges::rbegin(ff) == &ff.y); in testRBeginFunction()
414 int* rbegin() const;
425 assert(base(std::ranges::rbegin(a).base()) == &a.e); in testBeginEnd()
427 assert(base(std::ranges::rbegin(aa).base()) == &aa.ce); in testBeginEnd()
432 assert(base(std::ranges::rbegin(b).base()) == &b.e); in testBeginEnd()
434 assert(base(std::ranges::rbegin(bb).base()) == &bb.ce); in testBeginEnd()
439 assert(base(std::ranges::rbegin(c).base()) == &c.e); in testBeginEnd()
441 assert(base(std::ranges::rbegin(cc).base()) == &cc.ce); in testBeginEnd()
446 assert(base(std::ranges::rbegin(d).base()) == &d.e); in testBeginEnd()
448 assert(base(std::ranges::rbegin(dd).base()) == &dd.ce); in testBeginEnd()
455 ASSERT_NOEXCEPT(std::ranges::rbegin(std::declval<int (&)[10]>()));
459 ThrowingIterator<int> rbegin() const noexcept; // auto(t.rbegin()) doesn't throw
461 static_assert(noexcept(std::ranges::rbegin(ntmb)));
465 friend ThrowingIterator<int> rbegin(NoThrowADLRBegin&) noexcept; // auto(rbegin(t)) doesn't throw
466 friend ThrowingIterator<int> rbegin(const NoThrowADLRBegin&) noexcept;
468 static_assert(noexcept(std::ranges::rbegin(ntab)));
472 ThrowingIterator<int>& rbegin() const noexcept; // auto(t.rbegin()) may throw
474 static_assert(!noexcept(std::ranges::rbegin(ntmbrr)));
478 auto rbegin() const noexcept -> int(&)[10];
480 static_assert(noexcept(std::ranges::rbegin(brar)));
487 static_assert(!noexcept(std::ranges::rbegin(ntbte)));
494 static_assert(noexcept(std::ranges::rbegin(ntetb)));