Lines Matching defs:m_ptr
61 pointer_mux (std::nullptr_t) : m_ptr (nullptr) {}
73 explicit operator bool () const { return m_ptr; }
80 bool is_first () const { return !(uintptr_t (m_ptr) & 1); }
83 bool is_second () const { return uintptr_t (m_ptr) & 1; }
87 T1 *known_first () const { return reinterpret_cast<T1 *> (m_ptr); }
91 T2 *known_second () const { return reinterpret_cast<T2 *> (m_ptr - 1); }
140 pointer_mux (char *ptr) : m_ptr (ptr) {}
146 char *m_ptr;
168 : m_ptr (reinterpret_cast<char *> (ptr))
172 gcc_checking_assert (m_ptr);
173 m_ptr += 1;
193 return (uintptr_t (m_ptr) - 1) & 1 ? nullptr : known_second ();
221 return reinterpret_cast<T> (m_ptr - 1);
226 return reinterpret_cast<T> (m_ptr);
241 return reinterpret_cast<T> (m_ptr - 1);
246 return reinterpret_cast<T> (m_ptr);