GCC Middle and Back End API Reference
|
#include <mux-utils.h>
Public Member Functions | |
pointer_mux ()=default | |
pointer_mux (std::nullptr_t) | |
template<typename T , typename Enable = typename std::enable_if<std::is_convertible<T *, T1 *>::value != std::is_convertible<T *, T2 *>::value>::type> | |
pointer_mux (T *ptr) | |
operator bool () const | |
void | set_first (T1 *ptr) |
void | set_second (T2 *ptr) |
bool | is_first () const |
bool | is_second () const |
T1 * | known_first () const |
T2 * | known_second () const |
T1 * | first_or_null () const |
T2 * | second_or_null () const |
bool | operator== (const pointer_mux &pm) const |
bool | operator!= (const pointer_mux &pm) const |
template<typename T > | |
bool | is_a () const |
template<typename T > | |
T | as_a () const |
template<typename T > | |
T | dyn_cast () const |
Static Public Member Functions | |
static pointer_mux | first (T1 *) |
static pointer_mux | second (T2 *) |
Private Member Functions | |
pointer_mux (char *ptr) | |
Private Attributes | |
char * | m_ptr |
|
default |
|
inline |
|
inline |
References gcc_checking_assert, and pointer_mux< T1, T2 >::m_ptr.
|
inlineprivate |
|
inline |
References gcc_checking_assert.
|
inline |
|
inlinestatic |
References gcc_checking_assert, and ggc_alloc().
Referenced by pointer_mux< T1, T2 >::set_first().
|
inline |
References ggc_alloc(), and pointer_mux< T1, T2 >::m_ptr.
Referenced by dv_is_decl_p().
References ggc_alloc(), and pointer_mux< T1, T2 >::m_ptr.
References ggc_alloc(), and pointer_mux< T1, T2 >::m_ptr.
Referenced by dv_as_decl().
References ggc_alloc(), and pointer_mux< T1, T2 >::m_ptr.
Referenced by dv_as_value().
|
inlineexplicit |
References pointer_mux< T1, T2 >::m_ptr.
|
inline |
References ggc_alloc(), and pointer_mux< T1, T2 >::m_ptr.
|
inline |
References ggc_alloc(), and pointer_mux< T1, T2 >::m_ptr.
|
inlinestatic |
References gcc_checking_assert, and ggc_alloc().
Referenced by pointer_mux< T1, T2 >::set_second().
References ggc_alloc().
References pointer_mux< T1, T2 >::first().
References pointer_mux< T1, T2 >::second().
Referenced by pointer_mux< T1, T2 >::is_first(), pointer_mux< T1, T2 >::is_second(), pointer_mux< T1, T2 >::known_first(), pointer_mux< T1, T2 >::known_second(), pointer_mux< T1, T2 >::operator bool(), pointer_mux< T1, T2 >::operator!=(), pointer_mux< T1, T2 >::operator==(), and pointer_mux< T1, T2 >::pointer_mux().