Lines Matching defs:min_pointer
197 template <class T, class = std::integral_constant<std::size_t, 0> > class min_pointer;
198 template <class T, class ID> class min_pointer<const T, ID>;
199 template <class ID> class min_pointer<void, ID>;
200 template <class ID> class min_pointer<const void, ID>;
204 class min_pointer<const void, ID>
208 min_pointer() TEST_NOEXCEPT = default;
209 min_pointer(std::nullptr_t) TEST_NOEXCEPT : ptr_(nullptr) {}
211 min_pointer(min_pointer<T, ID> p) TEST_NOEXCEPT : ptr_(p.ptr_) {}
215 friend bool operator==(min_pointer x, min_pointer y) {return x.ptr_ == y.ptr_;}
216 friend bool operator!=(min_pointer x, min_pointer y) {return !(x == y);}
217 template <class U, class XID> friend class min_pointer;
221 class min_pointer<void, ID>
225 min_pointer() TEST_NOEXCEPT = default;
226 TEST_CONSTEXPR_CXX14 min_pointer(std::nullptr_t) TEST_NOEXCEPT : ptr_(nullptr) {}
233 TEST_CONSTEXPR_CXX14 min_pointer(min_pointer<T, ID> p) TEST_NOEXCEPT : ptr_(p.ptr_) {}
237 TEST_CONSTEXPR_CXX14 friend bool operator==(min_pointer x, min_pointer y) {return x.ptr_ == y.ptr_;}
238 TEST_CONSTEXPR_CXX14 friend bool operator!=(min_pointer x, min_pointer y) {return !(x == y);}
239 template <class U, class XID> friend class min_pointer;
243 class min_pointer
247 TEST_CONSTEXPR_CXX14 explicit min_pointer(T* p) TEST_NOEXCEPT : ptr_(p) {}
249 min_pointer() TEST_NOEXCEPT = default;
250 TEST_CONSTEXPR_CXX14 min_pointer(std::nullptr_t) TEST_NOEXCEPT : ptr_(nullptr) {}
251 TEST_CONSTEXPR_CXX14 explicit min_pointer(min_pointer<void, ID> p) TEST_NOEXCEPT : ptr_(static_cast<T*>(p.ptr_)) {}
264 TEST_CONSTEXPR_CXX14 min_pointer& operator++() {++ptr_; return *this;}
265 TEST_CONSTEXPR_CXX14 min_pointer operator++(int) {min_pointer tmp(*this); ++ptr_; return tmp;}
267 TEST_CONSTEXPR_CXX14 min_pointer& operator--() {--ptr_; return *this;}
268 TEST_CONSTEXPR_CXX14 min_pointer operator--(int) {min_pointer tmp(*this); --ptr_; return tmp;}
270 TEST_CONSTEXPR_CXX14 min_pointer& operator+=(difference_type n) {ptr_ += n; return *this;}
271 TEST_CONSTEXPR_CXX14 min_pointer& operator-=(difference_type n) {ptr_ -= n; return *this;}
273 TEST_CONSTEXPR_CXX14 min_pointer operator+(difference_type n) const
275 min_pointer tmp(*this);
280 friend TEST_CONSTEXPR_CXX14 min_pointer operator+(difference_type n, min_pointer x)
285 TEST_CONSTEXPR_CXX14 min_pointer operator-(difference_type n) const
287 min_pointer tmp(*this);
292 friend TEST_CONSTEXPR_CXX14 difference_type operator-(min_pointer x, min_pointer y)
299 friend TEST_CONSTEXPR_CXX14 bool operator< (min_pointer x, min_pointer y) {return x.ptr_ < y.ptr_;}
300 friend TEST_CONSTEXPR_CXX14 bool operator> (min_pointer x, min_pointer y) {return y < x;}
301 friend TEST_CONSTEXPR_CXX14 bool operator<=(min_pointer x, min_pointer y) {return !(y < x);}
302 friend TEST_CONSTEXPR_CXX14 bool operator>=(min_pointer x, min_pointer y) {return !(x < y);}
304 static TEST_CONSTEXPR_CXX14 min_pointer pointer_to(T& t) {return min_pointer(std::addressof(t));}
306 friend TEST_CONSTEXPR_CXX14 bool operator==(min_pointer x, min_pointer y) {return x.ptr_ == y.ptr_;}
307 friend TEST_CONSTEXPR_CXX14 bool operator!=(min_pointer x, min_pointer y) {return !(x == y);}
308 template <class U, class XID> friend class min_pointer;
313 class min_pointer<const T, ID>
317 TEST_CONSTEXPR_CXX14 explicit min_pointer(const T* p) : ptr_(p) {}
319 min_pointer() TEST_NOEXCEPT = default;
320 TEST_CONSTEXPR_CXX14 min_pointer(std::nullptr_t) : ptr_(nullptr) {}
321 TEST_CONSTEXPR_CXX14 min_pointer(min_pointer<T, ID> p) : ptr_(p.ptr_) {}
322 TEST_CONSTEXPR_CXX14 explicit min_pointer(min_pointer<const void, ID> p) : ptr_(static_cast<const T*>(p.ptr_)) {}
335 TEST_CONSTEXPR_CXX14 min_pointer& operator++() {++ptr_; return *this;}
336 TEST_CONSTEXPR_CXX14 min_pointer operator++(int) {min_pointer tmp(*this); ++ptr_; return tmp;}
338 TEST_CONSTEXPR_CXX14 min_pointer& operator--() {--ptr_; return *this;}
339 TEST_CONSTEXPR_CXX14 min_pointer operator--(int) {min_pointer tmp(*this); --ptr_; return tmp;}
341 TEST_CONSTEXPR_CXX14 min_pointer& operator+=(difference_type n) {ptr_ += n; return *this;}
342 TEST_CONSTEXPR_CXX14 min_pointer& operator-=(difference_type n) {ptr_ -= n; return *this;}
344 TEST_CONSTEXPR_CXX14 min_pointer operator+(difference_type n) const
346 min_pointer tmp(*this);
351 friend TEST_CONSTEXPR_CXX14 min_pointer operator+(difference_type n, min_pointer x)
356 TEST_CONSTEXPR_CXX14 min_pointer operator-(difference_type n) const
358 min_pointer tmp(*this);
363 friend TEST_CONSTEXPR_CXX14 difference_type operator-(min_pointer x, min_pointer y)
370 friend TEST_CONSTEXPR_CXX14 bool operator< (min_pointer x, min_pointer y) {return x.ptr_ < y.ptr_;}
371 friend TEST_CONSTEXPR_CXX14 bool operator> (min_pointer x, min_pointer y) {return y < x;}
372 friend TEST_CONSTEXPR_CXX14 bool operator<=(min_pointer x, min_pointer y) {return !(y < x);}
373 friend TEST_CONSTEXPR_CXX14 bool operator>=(min_pointer x, min_pointer y) {return !(x < y);}
375 static TEST_CONSTEXPR_CXX14 min_pointer pointer_to(const T& t) {return min_pointer(std::addressof(t));}
377 friend TEST_CONSTEXPR_CXX14 bool operator==(min_pointer x, min_pointer y) {return x.ptr_ == y.ptr_;}
378 friend TEST_CONSTEXPR_CXX14 bool operator!=(min_pointer x, min_pointer y) {return x.ptr_ != y.ptr_;}
379 friend TEST_CONSTEXPR_CXX14 bool operator==(min_pointer x, std::nullptr_t) {return x.ptr_ == nullptr;}
380 friend TEST_CONSTEXPR_CXX14 bool operator!=(min_pointer x, std::nullptr_t) {return x.ptr_ != nullptr;}
381 friend TEST_CONSTEXPR_CXX14 bool operator==(std::nullptr_t, min_pointer x) {return x.ptr_ == nullptr;}
382 friend TEST_CONSTEXPR_CXX14 bool operator!=(std::nullptr_t, min_pointer x) {return x.ptr_ != nullptr;}
383 template <class U, class XID> friend class min_pointer;
391 typedef min_pointer<T> pointer;