Lines Matching refs:bounded_ptr

145 struct __attribute__((trivial_abi)) bounded_ptr {
157 bounded_ptr(detail::nullptr_t)
164 bounded_ptr()
165 : bounded_ptr(nullptr)
180 bounded_ptr(T* pointer, T const* begin, T const* end)
216 bounded_ptr(bounded_ptr<U, Policy> const & other)
230 OS_ALWAYS_INLINE bounded_ptr&
231 operator=(bounded_ptr<U, Policy> const& other)
246 OS_ALWAYS_INLINE bounded_ptr&
249 *this = bounded_ptr();
343 OS_ALWAYS_INLINE bounded_ptr&
349 OS_ALWAYS_INLINE bounded_ptr
352 bounded_ptr old = *this;
356 OS_ALWAYS_INLINE bounded_ptr&
362 OS_ALWAYS_INLINE bounded_ptr
365 bounded_ptr old = *this;
388 OS_ALWAYS_INLINE bounded_ptr&
408 OS_ALWAYS_INLINE bounded_ptr&
427 friend OS_ALWAYS_INLINE bounded_ptr
428 operator+(bounded_ptr p, ptrdiff_t n)
433 friend OS_ALWAYS_INLINE bounded_ptr
434 operator+(ptrdiff_t n, bounded_ptr p)
439 friend OS_ALWAYS_INLINE bounded_ptr
440 operator-(bounded_ptr p, ptrdiff_t n)
452 operator-(bounded_ptr const& a, bounded_ptr const& b)
458 operator-(bounded_ptr const& a, T const* b)
464 operator-(T const* a, bounded_ptr const& b)
492 friend bounded_ptr<T_, Policy> reinterpret_pointer_cast(bounded_ptr<U, Policy> const&) noexcept;
494 …template <typename U, typename P> friend struct bounded_ptr; // for cross-type operations and conv…
514 operator==(bounded_ptr<T, P1> const& a, bounded_ptr<U, P2> const& b)
521 operator!=(bounded_ptr<T, P1> const& a, bounded_ptr<U, P2> const& b)
528 operator==(bounded_ptr<T, P> const& a, U* b)
535 operator==(U* a, bounded_ptr<T, P> const& b)
542 operator!=(bounded_ptr<T, P> const& a, U* b)
549 operator!=(U* a, bounded_ptr<T, P> const& b)
556 operator==(detail::nullptr_t, bounded_ptr<T, Policy> const& p)
563 operator!=(detail::nullptr_t, bounded_ptr<T, Policy> const& p)
570 operator==(bounded_ptr<T, Policy> const& p, detail::nullptr_t)
577 operator!=(bounded_ptr<T, Policy> const& p, detail::nullptr_t)
599 operator<(bounded_ptr<T, P1> const& a, bounded_ptr<U, P2> const& b)
606 operator<=(bounded_ptr<T, P1> const& a, bounded_ptr<U, P2> const& b)
613 operator>(bounded_ptr<T, P1> const& a, bounded_ptr<U, P2> const& b)
620 operator>=(bounded_ptr<T, P1> const& a, bounded_ptr<U, P2> const& b)
627 operator<(T* a, bounded_ptr<U, P> const& b)
634 operator<(bounded_ptr<T, P> const& a, U* b)
641 operator<=(T* a, bounded_ptr<U, P> const& b)
648 operator<=(bounded_ptr<T, P> const& a, U* b)
655 operator>(T* a, bounded_ptr<U, P> const& b)
662 operator>(bounded_ptr<T, P> const& a, U* b)
669 operator>=(T* a, bounded_ptr<U, P> const& b)
676 operator>=(bounded_ptr<T, P> const& a, U* b)
696 OS_ALWAYS_INLINE bounded_ptr<T, Policy>
697 reinterpret_pointer_cast(bounded_ptr<U, Policy> const& p) noexcept
702 return bounded_ptr<T, Policy>(reinterpret_cast<T*>(p.get_ptr_()),