LLDB mainline
lldb_private::TypeSystemClang::TemplateParameterInfos Class Reference

#include <TypeSystemClang.h>

Public Member Functions

 TemplateParameterInfos ()=default
 TemplateParameterInfos (llvm::ArrayRef< const char * > names_in, llvm::ArrayRef< clang::TemplateArgument > args_in)
 TemplateParameterInfos (TemplateParameterInfos const &)=delete
 TemplateParameterInfos (TemplateParameterInfos &&)=delete
TemplateParameterInfosoperator= (TemplateParameterInfos const &)=delete
TemplateParameterInfosoperator= (TemplateParameterInfos &&)=delete
 ~TemplateParameterInfos ()=default
bool IsValid () const
bool IsEmpty () const
size_t Size () const
llvm::ArrayRef< clang::TemplateArgument > GetArgs () const
llvm::ArrayRef< const char * > GetNames () const
clang::TemplateArgument const & Front () const
void InsertArg (char const *name, clang::TemplateArgument arg)
bool hasParameterPack () const
TemplateParameterInfos const & GetParameterPack () const
TemplateParameterInfosGetParameterPack ()
llvm::ArrayRef< clang::TemplateArgument > GetParameterPackArgs () const
bool HasPackName () const
llvm::StringRef GetPackName () const
void SetPackName (char const *name)
void SetParameterPack (std::unique_ptr< TemplateParameterInfos > args)

Private Attributes

llvm::SmallVector< const char *, 2 > names
 Element 'names[i]' holds the template argument name of 'args[i]'.
llvm::SmallVector< clang::TemplateArgument, 2 > args
const char * pack_name = nullptr
std::unique_ptr< TemplateParameterInfospacked_args

Detailed Description

Definition at line 337 of file TypeSystemClang.h.

Constructor & Destructor Documentation

◆ TemplateParameterInfos() [1/4]

lldb_private::TypeSystemClang::TemplateParameterInfos::TemplateParameterInfos ( )
default

◆ TemplateParameterInfos() [2/4]

lldb_private::TypeSystemClang::TemplateParameterInfos::TemplateParameterInfos ( llvm::ArrayRef< const char * > names_in,
llvm::ArrayRef< clang::TemplateArgument > args_in )
inline

Definition at line 340 of file TypeSystemClang.h.

References args, and names.

◆ TemplateParameterInfos() [3/4]

lldb_private::TypeSystemClang::TemplateParameterInfos::TemplateParameterInfos ( TemplateParameterInfos const & )
delete

◆ TemplateParameterInfos() [4/4]

lldb_private::TypeSystemClang::TemplateParameterInfos::TemplateParameterInfos ( TemplateParameterInfos && )
delete

◆ ~TemplateParameterInfos()

lldb_private::TypeSystemClang::TemplateParameterInfos::~TemplateParameterInfos ( )
default

Member Function Documentation

◆ Front()

clang::TemplateArgument const & lldb_private::TypeSystemClang::TemplateParameterInfos::Front ( ) const
inline

Definition at line 369 of file TypeSystemClang.h.

References args.

Referenced by ClassTemplateAllowsToInstantiationArgs(), and CreateTemplateParameterList().

◆ GetArgs()

llvm::ArrayRef< clang::TemplateArgument > lldb_private::TypeSystemClang::TemplateParameterInfos::GetArgs ( ) const
inline

◆ GetNames()

llvm::ArrayRef< const char * > lldb_private::TypeSystemClang::TemplateParameterInfos::GetNames ( ) const
inline

Definition at line 367 of file TypeSystemClang.h.

References names.

Referenced by CreateTemplateParameterList().

◆ GetPackName()

llvm::StringRef lldb_private::TypeSystemClang::TemplateParameterInfos::GetPackName ( ) const
inline

Definition at line 400 of file TypeSystemClang.h.

References HasPackName(), and pack_name.

Referenced by CreateTemplateParameterList().

◆ GetParameterPack() [1/2]

TemplateParameterInfos & lldb_private::TypeSystemClang::TemplateParameterInfos::GetParameterPack ( )
inline

Definition at line 388 of file TypeSystemClang.h.

References packed_args, and TemplateParameterInfos().

◆ GetParameterPack() [2/2]

TemplateParameterInfos const & lldb_private::TypeSystemClang::TemplateParameterInfos::GetParameterPack ( ) const
inline

◆ GetParameterPackArgs()

llvm::ArrayRef< clang::TemplateArgument > lldb_private::TypeSystemClang::TemplateParameterInfos::GetParameterPackArgs ( ) const
inline

◆ HasPackName()

bool lldb_private::TypeSystemClang::TemplateParameterInfos::HasPackName ( ) const
inline

Definition at line 398 of file TypeSystemClang.h.

References pack_name.

Referenced by CreateTemplateParameterList(), and GetPackName().

◆ hasParameterPack()

bool lldb_private::TypeSystemClang::TemplateParameterInfos::hasParameterPack ( ) const
inline

◆ InsertArg()

void lldb_private::TypeSystemClang::TemplateParameterInfos::InsertArg ( char const * name,
clang::TemplateArgument arg )
inline

Definition at line 374 of file TypeSystemClang.h.

References args, and names.

Referenced by DWARFASTParserClang::ParseTemplateDIE().

◆ IsEmpty()

bool lldb_private::TypeSystemClang::TemplateParameterInfos::IsEmpty ( ) const
inline

◆ IsValid()

bool lldb_private::TypeSystemClang::TemplateParameterInfos::IsValid ( ) const
inline

Definition at line 354 of file TypeSystemClang.h.

References args, names, pack_name, and packed_args.

Referenced by lldb_private::TypeSystemClang::ParseClassTemplateDecl().

◆ operator=() [1/2]

TemplateParameterInfos & lldb_private::TypeSystemClang::TemplateParameterInfos::operator= ( TemplateParameterInfos && )
delete

◆ operator=() [2/2]

TemplateParameterInfos & lldb_private::TypeSystemClang::TemplateParameterInfos::operator= ( TemplateParameterInfos const & )
delete

◆ SetPackName()

void lldb_private::TypeSystemClang::TemplateParameterInfos::SetPackName ( char const * name)
inline

Definition at line 405 of file TypeSystemClang.h.

References pack_name.

Referenced by DWARFASTParserClang::ParseTemplateDIE().

◆ SetParameterPack()

void lldb_private::TypeSystemClang::TemplateParameterInfos::SetParameterPack ( std::unique_ptr< TemplateParameterInfos > args)
inline

Definition at line 407 of file TypeSystemClang.h.

References args, and packed_args.

Referenced by DWARFASTParserClang::ParseTemplateDIE().

◆ Size()

size_t lldb_private::TypeSystemClang::TemplateParameterInfos::Size ( ) const
inline

Member Data Documentation

◆ args

llvm::SmallVector<clang::TemplateArgument, 2> lldb_private::TypeSystemClang::TemplateParameterInfos::args
private

◆ names

llvm::SmallVector<const char *, 2> lldb_private::TypeSystemClang::TemplateParameterInfos::names
private

Element 'names[i]' holds the template argument name of 'args[i]'.

Definition at line 414 of file TypeSystemClang.h.

Referenced by GetNames(), InsertArg(), IsValid(), and TemplateParameterInfos().

◆ pack_name

const char* lldb_private::TypeSystemClang::TemplateParameterInfos::pack_name = nullptr
private

Definition at line 417 of file TypeSystemClang.h.

Referenced by GetPackName(), HasPackName(), IsValid(), and SetPackName().

◆ packed_args

std::unique_ptr<TemplateParameterInfos> lldb_private::TypeSystemClang::TemplateParameterInfos::packed_args
private

The documentation for this class was generated from the following file: