clang 20.0.0git
|
Wrapper for void* pointer. More...
#include "clang/Sema/Ownership.h"
Public Member Functions | |
OpaquePtr (std::nullptr_t=nullptr) | |
template<typename PointeeT > | |
PointeeT * | getPtrTo () const |
Returns plain pointer to the entity pointed by this wrapper. | |
template<typename PtrT > | |
PtrT | getPtrAs () const |
Returns pointer converted to the specified type. | |
PtrTy | get () const |
void | set (PtrTy P) |
operator bool () const | |
void * | getAsOpaquePtr () const |
Static Public Member Functions | |
static OpaquePtr | make (PtrTy P) |
static OpaquePtr | getFromOpaquePtr (void *P) |
Wrapper for void* pointer.
PtrTy | Either a pointer type like 'T*' or a type that behaves like a pointer. |
This is a very simple POD type that wraps a pointer that the Parser doesn't know about but that Sema or another client does. The PtrTy template argument is used to make sure that "Decl" pointers are not compatible with "Type" pointers for example.
Definition at line 50 of file Ownership.h.
|
inline |
Definition at line 58 of file Ownership.h.
|
inline |
Definition at line 80 of file Ownership.h.
Referenced by clang::Sema::ActOnClassTemplateSpecialization(), clang::Sema::ActOnCXXNestedNameSpecifier(), clang::Sema::ActOnDeclStmt(), clang::Sema::ActOnExplicitInstantiation(), clang::Sema::ActOnForEachDeclStmt(), clang::SemaOpenMP::ActOnOpenMPDeclareMapperType(), clang::SemaOpenMP::ActOnOpenMPDeclareReductionDirectiveEnd(), clang::SemaOpenMP::ActOnOpenMPDeclareReductionType(), clang::SemaOpenMP::ActOnOpenMPDeclareSimdDirective(), clang::Sema::ActOnPackExpansion(), clang::Sema::ActOnPseudoDestructorExpr(), clang::Sema::ActOnTagTemplateIdType(), clang::Sema::ActOnTemplateIdType(), clang::Sema::ActOnTemplateName(), clang::Sema::ActOnTemplateTypeArgument(), clang::Sema::ActOnTypenameType(), clang::Sema::ActOnUndeclaredTypeTemplateName(), clang::Sema::ActOnVarTemplateSpecialization(),