class OMPMappableExprListClause

Declaration

template <class T>
class OMPMappableExprListClause : public OMPClauseMappableExprCommon { /* full declaration omitted */ };

Description

This represents clauses with a list of expressions that are mappable. Examples of these clauses are 'map' in '#pragma omp target [enter|exit] [data]...' directives, and 'to' and 'from in '#pragma omp target update...' directives.

Declared at: clang/include/clang/AST/OpenMPClause.h:5153

Inherits from: OMPClauseMappableExprCommon

Templates

T

Member Variables

private unsigned int NumUniqueDeclarations
Number of unique declarations in this clause.
private unsigned int NumComponentLists
Number of component lists in this clause.
private unsigned int NumComponents
Total number of components in this clause.
private const bool SupportsMapper
Whether this clause is possible to have user-defined mappers associated. It should be true for map, to, and from clauses, and false for use_device_ptr and is_device_ptr.
private clang::NestedNameSpecifierLoc MapperQualifierLoc
C++ nested name specifier for the associated user-defined mapper.
private clang::DeclarationNameInfo MapperIdInfo
The associated user-defined mapper identifier information.

Method Overview

Inherited from OMPClauseMappableExprCommon:

Methods

OMPMappableExprListClause<T>(
    clang::OpenMPClauseKind K,
    const clang::OMPVarListLocTy& Locs,
    const clang::OMPMappableExprListSizeTy& Sizes,
    bool SupportsMapper = false,
    clang::NestedNameSpecifierLoc*
        MapperQualifierLocPtr = nullptr,
    clang::DeclarationNameInfo* MapperIdInfoPtr =
        nullptr)

Description

Build a clause for \a NumUniqueDeclarations declarations, \a NumComponentLists total component lists, and \a NumComponents total components.

Declared at: clang/include/clang/AST/OpenMPClause.h:5196

Parameters

clang::OpenMPClauseKind K
Kind of the clause.
const clang::OMPVarListLocTy& Locs
Locations needed to build a mappable clause. It includes 1) StartLoc: starting location of the clause (the clause keyword); 2) LParenLoc: location of '('; 3) EndLoc: ending location of the clause.
const clang::OMPMappableExprListSizeTy& Sizes
All required sizes to build a mappable clause. It includes 1) NumVars: number of expressions listed in this clause; 2) NumUniqueDeclarations: number of unique base declarations in this clause; 3) NumComponentLists: number of component lists in this clause; and 4) NumComponents: total number of expression components in the clause.
bool SupportsMapper = false
Indicates whether this clause is possible to have user-defined mappers associated.
clang::NestedNameSpecifierLoc* MapperQualifierLocPtr = nullptr
C++ nested name specifier for the associated user-defined mapper.
clang::DeclarationNameInfo* MapperIdInfoPtr = nullptr
The identifier of associated user-defined mapper.

clang::OMPMappableExprListClause::
    const_all_components_range
    all_components() const

Declared at: clang/include/clang/AST/OpenMPClause.h:5677

clang::OMPMappableExprListClause::
    const_all_decls_range
    all_decls() const

Declared at: clang/include/clang/AST/OpenMPClause.h:5650

clang::OMPMappableExprListClause::
    const_all_lists_sizes_range
    all_lists_sizes() const

Declared at: clang/include/clang/AST/OpenMPClause.h:5668

clang::OMPMappableExprListClause::
    const_all_num_lists_range
    all_num_lists() const

Declared at: clang/include/clang/AST/OpenMPClause.h:5659

clang::OMPMappableExprListClause::
    const_component_lists_range
    component_lists() const

Declared at: clang/include/clang/AST/OpenMPClause.h:5625

clang::OMPMappableExprListClause::
    const_component_lists_iterator
    component_lists_begin() const

Description

Iterators for all component lists.

Declared at: clang/include/clang/AST/OpenMPClause.h:5612

clang::OMPMappableExprListClause::
    const_component_lists_iterator
    component_lists_end() const

Declared at: clang/include/clang/AST/OpenMPClause.h:5618

clang::OMPMappableExprListClause::
    const_component_lists_range
    decl_component_lists(
        const clang::ValueDecl* VD) const

Declared at: clang/include/clang/AST/OpenMPClause.h:5641

Parameters

const clang::ValueDecl* VD

clang::OMPMappableExprListClause::
    const_component_lists_iterator
    decl_component_lists_begin(
        const clang::ValueDecl* VD) const

Description

Iterators for component lists associated with the provided declaration.

Declared at: clang/include/clang/AST/OpenMPClause.h:5632

Parameters

const clang::ValueDecl* VD

clang::OMPMappableExprListClause::
    const_component_lists_iterator
    decl_component_lists_end() const

Declared at: clang/include/clang/AST/OpenMPClause.h:5638

ArrayRef<unsigned int> getComponentListSizesRef()
    const

Description

Get the cumulative component lists sizes that are in the trailing objects of the class. They are appended after the number of lists.

Declared at: clang/include/clang/AST/OpenMPClause.h:5272

MutableArrayRef<unsigned int>
getComponentListSizesRef()

Description

Get the cumulative component lists sizes that are in the trailing objects of the class. They are appended after the number of lists.

Declared at: clang/include/clang/AST/OpenMPClause.h:5263

MutableArrayRef<
    clang::OMPClauseMappableExprCommon::
        MappableComponent>
getComponentsRef()

Description

Get the components that are in the trailing objects of the class.

Declared at: clang/include/clang/AST/OpenMPClause.h:5288

ArrayRef<clang::OMPClauseMappableExprCommon::
             MappableComponent>
getComponentsRef() const

Description

Get the components that are in the trailing objects of the class.

Declared at: clang/include/clang/AST/OpenMPClause.h:5296

ArrayRef<unsigned int> getDeclNumListsRef() const

Description

Get the number of lists per declaration that are in the trailing objects of the class.

Declared at: clang/include/clang/AST/OpenMPClause.h:5247

MutableArrayRef<unsigned int> getDeclNumListsRef()

Description

Get the number of lists per declaration that are in the trailing objects of the class.

Declared at: clang/include/clang/AST/OpenMPClause.h:5239

const clang::DeclarationNameInfo&
getMapperIdInfo() const

Description

Gets the name info for associated user-defined mapper.

Declared at: clang/include/clang/AST/OpenMPClause.h:5450

clang::NestedNameSpecifierLoc
getMapperQualifierLoc() const

Description

Gets the nested name specifier for associated user-defined mapper.

Declared at: clang/include/clang/AST/OpenMPClause.h:5445

unsigned int getTotalComponentListNum() const

Description

Return the number of lists derived from the clause expressions.

Declared at: clang/include/clang/AST/OpenMPClause.h:5438

unsigned int getTotalComponentsNum() const

Description

Return the total number of components in all lists derived from the clause.

Declared at: clang/include/clang/AST/OpenMPClause.h:5442

MutableArrayRef<clang::Expr*> getUDMapperRefs()

Description

Get the user-defined mapper references that are in the trailing objects of the class.

Declared at: clang/include/clang/AST/OpenMPClause.h:5403

ArrayRef<clang::Expr*> getUDMapperRefs() const

Description

Get the user-defined mappers references that are in the trailing objects of the class.

Declared at: clang/include/clang/AST/OpenMPClause.h:5414

unsigned int getUniqueDeclarationsNum() const

Description

Return the number of unique base declarations in this clause.

Declared at: clang/include/clang/AST/OpenMPClause.h:5435

MutableArrayRef<clang::ValueDecl*>
getUniqueDeclsRef()

Description

Get the unique declarations that are in the trailing objects of the class.

Declared at: clang/include/clang/AST/OpenMPClause.h:5214

ArrayRef<clang::ValueDecl*> getUniqueDeclsRef()
    const

Description

Get the unique declarations that are in the trailing objects of the class.

Declared at: clang/include/clang/AST/OpenMPClause.h:5222

clang::OMPMappableExprListClause::
    mapperlist_iterator
    mapperlist_begin()

Declared at: clang/include/clang/AST/OpenMPClause.h:5688

clang::OMPMappableExprListClause::
    mapperlist_const_iterator
    mapperlist_begin() const

Declared at: clang/include/clang/AST/OpenMPClause.h:5690

clang::OMPMappableExprListClause::
    mapperlist_iterator
    mapperlist_end()

Declared at: clang/include/clang/AST/OpenMPClause.h:5689

clang::OMPMappableExprListClause::
    mapperlist_const_iterator
    mapperlist_end() const

Declared at: clang/include/clang/AST/OpenMPClause.h:5693

clang::OMPMappableExprListClause::mapperlist_range
mapperlists()

Declared at: clang/include/clang/AST/OpenMPClause.h:5696

clang::OMPMappableExprListClause::
    mapperlist_const_range
    mapperlists() const

Declared at: clang/include/clang/AST/OpenMPClause.h:5699

void setClauseInfo(
    ArrayRef<clang::ValueDecl*> Declarations,
    clang::OMPClauseMappableExprCommon::
        MappableExprComponentListsRef
            ComponentLists)

Description

Fill the clause information from the list of declarations and associated component lists.

Declared at: clang/include/clang/AST/OpenMPClause.h:5317

Parameters

ArrayRef<clang::ValueDecl*> Declarations
clang::OMPClauseMappableExprCommon:: MappableExprComponentListsRef ComponentLists

void setComponentListSizes(
    ArrayRef<unsigned int> CLSs)

Description

Set the cumulative component lists sizes that are in the trailing objects of the class.

Declared at: clang/include/clang/AST/OpenMPClause.h:5281

Parameters

ArrayRef<unsigned int> CLSs

void setComponents(
    ArrayRef<clang::OMPClauseMappableExprCommon::
                 MappableComponent> Components,
    ArrayRef<unsigned int> CLSs)

Description

Set the components that are in the trailing objects of the class. This requires the list sizes so that it can also fill the original expressions, which are the first component of each list.

Declared at: clang/include/clang/AST/OpenMPClause.h:5306

Parameters

ArrayRef<clang::OMPClauseMappableExprCommon:: MappableComponent> Components
ArrayRef<unsigned int> CLSs

void setDeclNumLists(ArrayRef<unsigned int> DNLs)

Description

Set the number of lists per declaration that are in the trailing objects of the class.

Declared at: clang/include/clang/AST/OpenMPClause.h:5255

Parameters

ArrayRef<unsigned int> DNLs

void setMapperIdInfo(
    clang::DeclarationNameInfo MapperId)

Description

Set the name of associated user-defined mapper.

Declared at: clang/include/clang/AST/OpenMPClause.h:5397

Parameters

clang::DeclarationNameInfo MapperId

void setMapperQualifierLoc(
    clang::NestedNameSpecifierLoc NNSL)

Description

Set the nested name specifier of associated user-defined mapper.

Declared at: clang/include/clang/AST/OpenMPClause.h:5392

Parameters

clang::NestedNameSpecifierLoc NNSL

void setUDMapperRefs(ArrayRef<clang::Expr*> DMDs)

Description

Set the user-defined mappers that are in the trailing objects of the class.

Declared at: clang/include/clang/AST/OpenMPClause.h:5425

Parameters

ArrayRef<clang::Expr*> DMDs

void setUniqueDecls(
    ArrayRef<clang::ValueDecl*> UDs)

Description

Set the unique declarations that are in the trailing objects of the class.

Declared at: clang/include/clang/AST/OpenMPClause.h:5231

Parameters

ArrayRef<clang::ValueDecl*> UDs