LLVM::FunctionRef::operator bool() const { return 0 != rawPtr(); }
QByteArray FunctionRef::name() const { llvm::StringRef ls = rawPtr()->getName(); return QByteArray(ls.begin(), ls.size()); }
bool FunctionRef::hasExternalLinkage() const { return rawPtr()->hasExternalLinkage(); }
bool FunctionRef::operator ==(const FunctionRef &other) const { return rawPtr() == other.rawPtr(); }
bool TypeRef::operator ==(const TypeRef &other) const { return rawPtr()==other.rawPtr(); }
/** \brief arrow operator to get access to pointer's data. * \return raw pointer type. */ pointer operator->(void) const { assert( rawPtr()!=NULL ); return rawPtr(); }
/** \brief gets pointer, as held inside the object. * \return pointer is a user-requested form. */ PtrType get(void) const { assert( rawPtr()!=NULL ); return p_; }
explicit PointerWrapper(T p): p_( detail::PointerConverter<PtrType, T>::convert(p) ) { if( rawPtr()==NULL ) throw Exception(SYSTEM_SAVE_LOCATION, "pointer cannot be NULL"); }