Lines Matching defs:min_pointer

17 template <class T> class min_pointer;
18 template <class T> class min_pointer<const T>;
19 template <> class min_pointer<void>;
20 template <> class min_pointer<const void>;
24 class min_pointer<const void>
28 min_pointer() noexcept = default;
29 min_pointer(std::nullptr_t) : ptr_(nullptr) {}
31 min_pointer(min_pointer<T> p) : ptr_(p.ptr_) {}
35 friend bool operator==(min_pointer x, min_pointer y) {return x.ptr_ == y.ptr_;}
36 friend bool operator!=(min_pointer x, min_pointer y) {return !(x == y);}
37 template <class U> friend class min_pointer;
41 class min_pointer<void>
45 min_pointer() noexcept = default;
46 min_pointer(std::nullptr_t) : ptr_(nullptr) {}
53 min_pointer(min_pointer<T> p) : ptr_(p.ptr_) {}
57 friend bool operator==(min_pointer x, min_pointer y) {return x.ptr_ == y.ptr_;}
58 friend bool operator!=(min_pointer x, min_pointer y) {return !(x == y);}
59 template <class U> friend class min_pointer;
63 class min_pointer
67 explicit min_pointer(T* p) : ptr_(p) {}
69 min_pointer() noexcept = default;
70 min_pointer(std::nullptr_t) : ptr_(nullptr) {}
71 explicit min_pointer(min_pointer<void> p) : ptr_(static_cast<T*>(p.ptr_)) {}
84 min_pointer& operator++() {++ptr_; return *this;}
85 min_pointer operator++(int) {min_pointer tmp(*this); ++ptr_; return tmp;}
87 min_pointer& operator--() {--ptr_; return *this;}
88 min_pointer operator--(int) {min_pointer tmp(*this); --ptr_; return tmp;}
90 min_pointer& operator+=(difference_type n) {ptr_ += n; return *this;}
91 min_pointer& operator-=(difference_type n) {ptr_ -= n; return *this;}
93 min_pointer operator+(difference_type n) const
95 min_pointer tmp(*this);
100 friend min_pointer operator+(difference_type n, min_pointer x)
105 min_pointer operator-(difference_type n) const
107 min_pointer tmp(*this);
112 friend difference_type operator-(min_pointer x, min_pointer y)
119 friend bool operator< (min_pointer x, min_pointer y) {return x.ptr_ < y.ptr_;}
120 friend bool operator> (min_pointer x, min_pointer y) {return y < x;}
121 friend bool operator<=(min_pointer x, min_pointer y) {return !(y < x);}
122 friend bool operator>=(min_pointer x, min_pointer y) {return !(x < y);}
124 static min_pointer pointer_to(T& t) {return min_pointer(std::addressof(t));}
126 friend bool operator==(min_pointer x, min_pointer y) {return x.ptr_ == y.ptr_;}
127 friend bool operator!=(min_pointer x, min_pointer y) {return !(x == y);}
128 template <class U> friend class min_pointer;
133 class min_pointer<const T>
137 explicit min_pointer(const T* p) : ptr_(p) {}
139 min_pointer() noexcept = default;
140 min_pointer(std::nullptr_t) : ptr_(nullptr) {}
141 min_pointer(min_pointer<T> p) : ptr_(p.ptr_) {}
142 explicit min_pointer(min_pointer<const void> p) : ptr_(static_cast<const T*>(p.ptr_)) {}
155 min_pointer& operator++() {++ptr_; return *this;}
156 min_pointer operator++(int) {min_pointer tmp(*this); ++ptr_; return tmp;}
158 min_pointer& operator--() {--ptr_; return *this;}
159 min_pointer operator--(int) {min_pointer tmp(*this); --ptr_; return tmp;}
161 min_pointer& operator+=(difference_type n) {ptr_ += n; return *this;}
162 min_pointer& operator-=(difference_type n) {ptr_ -= n; return *this;}
164 min_pointer operator+(difference_type n) const
166 min_pointer tmp(*this);
171 friend min_pointer operator+(difference_type n, min_pointer x)
176 min_pointer operator-(difference_type n) const
178 min_pointer tmp(*this);
183 friend difference_type operator-(min_pointer x, min_pointer y)
190 friend bool operator< (min_pointer x, min_pointer y) {return x.ptr_ < y.ptr_;}
191 friend bool operator> (min_pointer x, min_pointer y) {return y < x;}
192 friend bool operator<=(min_pointer x, min_pointer y) {return !(y < x);}
193 friend bool operator>=(min_pointer x, min_pointer y) {return !(x < y);}
195 static min_pointer pointer_to(const T& t) {return min_pointer(std::addressof(t));}
197 friend bool operator==(min_pointer x, min_pointer y) {return x.ptr_ == y.ptr_;}
198 friend bool operator!=(min_pointer x, min_pointer y) {return !(x == y);}
199 template <class U> friend class min_pointer;
205 operator==(min_pointer<T> x, std::nullptr_t)
213 operator==(std::nullptr_t, min_pointer<T> x)
221 operator!=(min_pointer<T> x, std::nullptr_t)
229 operator!=(std::nullptr_t, min_pointer<T> x)
239 typedef min_pointer<T> pointer;