LLDB  mainline
Public Types | Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
lldb_private::TypeMap Class Reference

#include <TypeMap.h>

Collaboration diagram for lldb_private::TypeMap:
Collaboration graph
[legend]

Public Types

typedef std::multimap< lldb::user_id_t, lldb::TypeSP > collection
 
typedef AdaptedIterable< collection, lldb::TypeSP, map_adapterTypeIterable
 

Public Member Functions

 TypeMap ()
 
virtual ~TypeMap ()
 
void Clear ()
 
void Dump (Stream *s, bool show_context, lldb::DescriptionLevel level=lldb::eDescriptionLevelFull)
 
TypeMap FindTypes (ConstString name)
 
void Insert (const lldb::TypeSP &type)
 
bool Empty () const
 
bool InsertUnique (const lldb::TypeSP &type)
 
uint32_t GetSize () const
 
lldb::TypeSP GetTypeAtIndex (uint32_t idx)
 
TypeIterable Types ()
 
void ForEach (std::function< bool(const lldb::TypeSP &type_sp)> const &callback) const
 
void ForEach (std::function< bool(lldb::TypeSP &type_sp)> const &callback)
 
bool Remove (const lldb::TypeSP &type_sp)
 
void RemoveMismatchedTypes (llvm::StringRef type_scope, llvm::StringRef type_basename, lldb::TypeClass type_class, bool exact_match)
 

Private Types

typedef collection::iterator iterator
 
typedef collection::const_iterator const_iterator
 

Private Member Functions

 TypeMap (const TypeMap &)=delete
 
const TypeMapoperator= (const TypeMap &)=delete
 

Private Attributes

collection m_types
 

Detailed Description

Definition at line 20 of file TypeMap.h.

Member Typedef Documentation

◆ collection

typedef std::multimap<lldb::user_id_t, lldb::TypeSP> lldb_private::TypeMap::collection

Definition at line 44 of file TypeMap.h.

◆ const_iterator

typedef collection::const_iterator lldb_private::TypeMap::const_iterator
private

Definition at line 62 of file TypeMap.h.

◆ iterator

typedef collection::iterator lldb_private::TypeMap::iterator
private

Definition at line 61 of file TypeMap.h.

◆ TypeIterable

Definition at line 45 of file TypeMap.h.

Constructor & Destructor Documentation

◆ TypeMap() [1/2]

TypeMap::TypeMap ( )

Definition at line 22 of file TypeMap.cpp.

◆ ~TypeMap()

TypeMap::~TypeMap ( )
virtualdefault

◆ TypeMap() [2/2]

lldb_private::TypeMap::TypeMap ( const TypeMap )
privatedelete

Member Function Documentation

◆ Clear()

void TypeMap::Clear ( )

Definition at line 73 of file TypeMap.cpp.

References m_types.

◆ Dump()

void TypeMap::Dump ( Stream s,
bool  show_context,
lldb::DescriptionLevel  level = lldb::eDescriptionLevelFull 
)

Definition at line 124 of file TypeMap.cpp.

References m_types.

◆ Empty()

bool TypeMap::Empty ( ) const

◆ FindTypes()

TypeMap lldb_private::TypeMap::FindTypes ( ConstString  name)

◆ ForEach() [1/2]

void TypeMap::ForEach ( std::function< bool(const lldb::TypeSP &type_sp)> const &  callback) const

Definition at line 94 of file TypeMap.cpp.

References m_types.

Referenced by lldb_private::SymbolContext::SortTypeList().

◆ ForEach() [2/2]

void TypeMap::ForEach ( std::function< bool(lldb::TypeSP &type_sp)> const &  callback)

Definition at line 102 of file TypeMap.cpp.

References m_types.

◆ GetSize()

uint32_t TypeMap::GetSize ( ) const

◆ GetTypeAtIndex()

TypeSP TypeMap::GetTypeAtIndex ( uint32_t  idx)

Definition at line 83 of file TypeMap.cpp.

References m_types.

Referenced by DWARFASTParserClang::ParseTypeFromClangModule().

◆ Insert()

void TypeMap::Insert ( const lldb::TypeSP &  type)

◆ InsertUnique()

bool TypeMap::InsertUnique ( const lldb::TypeSP &  type)

Definition at line 34 of file TypeMap.cpp.

References Insert(), and m_types.

◆ operator=()

const TypeMap& lldb_private::TypeMap::operator= ( const TypeMap )
privatedelete

◆ Remove()

bool TypeMap::Remove ( const lldb::TypeSP &  type_sp)

Definition at line 110 of file TypeMap.cpp.

References m_types.

Referenced by lldb_private::SymbolContext::SortTypeList().

◆ RemoveMismatchedTypes()

void TypeMap::RemoveMismatchedTypes ( llvm::StringRef  type_scope,
llvm::StringRef  type_basename,
lldb::TypeClass  type_class,
bool  exact_match 
)

◆ Types()

TypeIterable lldb_private::TypeMap::Types ( )
inline

Definition at line 47 of file TypeMap.h.

References m_types.

Member Data Documentation

◆ m_types

collection lldb_private::TypeMap::m_types
private

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