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

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 (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)

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

Definition at line 66 of file TypeMap.h.

◆ iterator

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

Definition at line 65 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 ( )

◆ TypeMap() [2/2]

lldb_private::TypeMap::TypeMap ( const TypeMap )

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 )

◆ 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() [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 47 of file TypeMap.h.

References m_types.

Member Data Documentation

◆ m_types

collection lldb_private::TypeMap::m_types

Definition at line 68 of file TypeMap.h.

Referenced by Clear(), Dump(), Empty(), ForEach(), GetSize(), GetTypeAtIndex(), Insert(), InsertUnique(), Remove(), and Types().

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