[#llvm-CastInfo-0f5] = xref:llvm.adoc[llvm]::xref:llvm/CastInfo-01.adoc[CastInfo]<To, xref:llvm/PointerUnion.adoc[PointerUnion<PTs...>]> :relfileprefix: ../ :mrdocs: CastInfo specialization for non‐const PointerUnion sources. == Synopsis Declared in `<llvm/ADT/PointerUnion.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< typename To, typename... PTs> struct xref:llvm/CastInfo-01.adoc[CastInfo]<To, xref:llvm/PointerUnion.adoc[PointerUnion<PTs...>]> : xref:llvm/DefaultDoCastIfPossible.adoc[DefaultDoCastIfPossible<To, PointerUnion<PTs...>, CastInfo<To, PointerUnion<PTs...>>>] ---- == Base Classes [cols="1,4"] |=== | Name| Description | `xref:llvm/DefaultDoCastIfPossible.adoc[DefaultDoCastIfPossible<To, PointerUnion<PTs...>, CastInfo<To, PointerUnion<PTs...>>>]` | Provides a default `doCastIfPossible` that uses `isPossible` and `doCast.` |=== == Type Aliases [cols="1,4"] |=== | Name| Description | xref:llvm/CastInfo-0f5/From.adoc[`From`] | Source PointerUnion type for this cast specialization. |=== == Static Member Functions [cols="1,4"] |=== | Name| Description | xref:llvm/CastInfo-0f5/castFailed.adoc[`castFailed`] | Return a null `To` value when a cast fails. | xref:llvm/CastInfo-0f5/doCast.adoc[`doCast`] | Extract the `To` pointer from `F;` asserts the tag matches. | xref:llvm/DefaultDoCastIfPossible/doCastIfPossible.adoc[`doCastIfPossible`] | Casts `f` to `To` if possible; otherwise returns `castFailed().` | xref:llvm/CastInfo-0f5/isPossible.adoc[`isPossible`] | Return true if `F` currently holds a pointer of type `To.` |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#