struct DynTypedNode::DynCastValueConverter

Declaration

template <typename T,
          typename BaseT,
          typename = std::enable_if_t<(sizeof(T) == sizeof(BaseT))>>
struct DynTypedNode::DynCastValueConverter { /* full declaration omitted */ };

Description

Converter that stores nodes by value. It must be possible to dynamically cast the stored node within a type hierarchy without breaking (especially through slicing).

Declared at: clang/include/clang/AST/ASTTypeTraits.h:474

Templates

T
BaseT
= std::enable_if_t<(sizeof(T) == sizeof(BaseT))>

Method Overview

  • public static clang::DynTypedNode create(const T & Node)
  • public static const T * get(clang::ASTNodeKind NodeKind, const void * Storage)
  • public static const T & getUnchecked(clang::ASTNodeKind NodeKind, const void * Storage)

Methods

static clang::DynTypedNode create(const T& Node)

Declared at: clang/include/clang/AST/ASTTypeTraits.h:484

Parameters

const T& Node

static const T* get(clang::ASTNodeKind NodeKind,
                    const void* Storage)

Declared at: clang/include/clang/AST/ASTTypeTraits.h:475

Parameters

clang::ASTNodeKind NodeKind
const void* Storage

static const T& getUnchecked(
    clang::ASTNodeKind NodeKind,
    const void* Storage)

Declared at: clang/include/clang/AST/ASTTypeTraits.h:480

Parameters

clang::ASTNodeKind NodeKind
const void* Storage