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

#include <TypeMap.h>

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)
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 (const char *qualified_typename, bool exact_match)
void RemoveMismatchedTypes (const std::string &type_scope, const std::string &type_basename, lldb::TypeClass type_class, bool exact_match)
void RemoveMismatchedTypes (lldb::TypeClass type_class)

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 43 of file TypeMap.h.

◆ TypeIterable

Definition at line 44 of file TypeMap.h.

Constructor & Destructor Documentation

◆ TypeMap()

TypeMap::TypeMap ( )

Definition at line 35 of file TypeMap.cpp.

◆ ~TypeMap()

TypeMap::~TypeMap ( )

Definition at line 38 of file TypeMap.cpp.

Member Function Documentation

◆ Clear()

void TypeMap::Clear ( )

◆ Dump()

void TypeMap::Dump ( Stream s,
bool  show_context 

Definition at line 137 of file TypeMap.cpp.

◆ Empty()

bool TypeMap::Empty ( ) const

Definition at line 90 of file TypeMap.cpp.

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

◆ 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 107 of file TypeMap.cpp.

Referenced by lldb_private::SymbolContext::SortTypeList(), and Types().

◆ ForEach() [2/2]

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

Definition at line 115 of file TypeMap.cpp.

◆ GetSize()

uint32_t TypeMap::GetSize ( ) const

◆ GetTypeAtIndex()

TypeSP TypeMap::GetTypeAtIndex ( uint32_t  idx)

Definition at line 96 of file TypeMap.cpp.

Referenced by DWARFASTParserClang::ParseTypeFromDWO().

◆ Insert()

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

◆ InsertUnique()

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

Definition at line 47 of file TypeMap.cpp.

References Insert().

Referenced by SymbolFileDWARF::FindTypes(), and SymbolFileDWARF::GetMangledNamesForFunction().

◆ Remove()

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

Definition at line 123 of file TypeMap.cpp.

Referenced by lldb_private::SymbolContext::SortTypeList(), and Types().

◆ RemoveMismatchedTypes() [1/3]

void TypeMap::RemoveMismatchedTypes ( const char *  qualified_typename,
bool  exact_match 

◆ RemoveMismatchedTypes() [2/3]

void lldb_private::TypeMap::RemoveMismatchedTypes ( const std::string &  type_scope,
const std::string &  type_basename,
lldb::TypeClass  type_class,
bool  exact_match 

◆ RemoveMismatchedTypes() [3/3]

void lldb_private::TypeMap::RemoveMismatchedTypes ( lldb::TypeClass  type_class)

◆ Types()

TypeIterable lldb_private::TypeMap::Types ( )

Definition at line 46 of file TypeMap.h.

References ForEach(), Remove(), and RemoveMismatchedTypes().

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