LLDB  mainline
Classes | Public Types | Public Member Functions | Static Public Attributes | Friends | List of all members
lldb_private::TypeCategoryMap Class Reference

#include <TypeCategoryMap.h>

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

Public Types

typedef std::map< KeyType, ValueSP > MapType
 
typedef MapType::iterator MapIterator
 
typedef std::function< bool(const ValueSP &)> ForEachCallback
 
typedef uint32_t Position
 

Public Member Functions

 TypeCategoryMap (IFormatChangeListener *lst)
 
void Add (KeyType name, const ValueSP &entry)
 
bool Delete (KeyType name)
 
bool Enable (KeyType category_name, Position pos=Default)
 
bool Disable (KeyType category_name)
 
bool Enable (ValueSP category, Position pos=Default)
 
bool Disable (ValueSP category)
 
void EnableAllCategories ()
 
void DisableAllCategories ()
 
void Clear ()
 
bool Get (KeyType name, ValueSP &entry)
 
bool Get (uint32_t pos, ValueSP &entry)
 
void ForEach (ForEachCallback callback)
 
lldb::TypeCategoryImplSP GetAtIndex (uint32_t)
 
bool AnyMatches (ConstString type_name, TypeCategoryImpl::FormatCategoryItems items=TypeCategoryImpl::ALL_ITEM_TYPES, bool only_enabled=true, const char **matching_category=nullptr, TypeCategoryImpl::FormatCategoryItems *matching_type=nullptr)
 
uint32_t GetCount ()
 
lldb::TypeFormatImplSP GetFormat (FormattersMatchData &match_data)
 
lldb::TypeSummaryImplSP GetSummaryFormat (FormattersMatchData &match_data)
 
lldb::SyntheticChildrenSP GetSyntheticChildren (FormattersMatchData &match_data)
 
lldb::TypeValidatorImplSP GetValidator (FormattersMatchData &match_data)
 

Static Public Attributes

static const Position First = 0
 
static const Position Default = 1
 
static const Position Last = UINT32_MAX
 

Friends

class FormattersContainer< KeyType, ValueType >
 
class FormatManager
 

Detailed Description

Definition at line 24 of file TypeCategoryMap.h.

Member Typedef Documentation

◆ ForEachCallback

typedef std::function<bool(const ValueSP &)> lldb_private::TypeCategoryMap::ForEachCallback

Definition at line 35 of file TypeCategoryMap.h.

◆ MapIterator

typedef MapType::iterator lldb_private::TypeCategoryMap::MapIterator

Definition at line 34 of file TypeCategoryMap.h.

◆ MapType

typedef std::map<KeyType, ValueSP> lldb_private::TypeCategoryMap::MapType

Definition at line 33 of file TypeCategoryMap.h.

◆ Position

Definition at line 37 of file TypeCategoryMap.h.

Constructor & Destructor Documentation

◆ TypeCategoryMap()

TypeCategoryMap::TypeCategoryMap ( IFormatChangeListener lst)

Definition at line 19 of file TypeCategoryMap.cpp.

References Add(), Enable(), and First.

Member Function Documentation

◆ Add()

void TypeCategoryMap::Add ( KeyType  name,
const ValueSP &  entry 
)

Definition at line 28 of file TypeCategoryMap.cpp.

References lldb_private::IFormatChangeListener::Changed().

Referenced by TypeCategoryMap().

◆ AnyMatches()

bool TypeCategoryMap::AnyMatches ( ConstString  type_name,
TypeCategoryImpl::FormatCategoryItems  items = TypeCategoryImpl::ALL_ITEM_TYPES,
bool  only_enabled = true,
const char **  matching_category = nullptr,
TypeCategoryImpl::FormatCategoryItems matching_type = nullptr 
)

Definition at line 157 of file TypeCategoryMap.cpp.

Referenced by lldb_private::FormatManager::AnyMatches().

◆ Clear()

void TypeCategoryMap::Clear ( )

◆ Delete()

bool TypeCategoryMap::Delete ( KeyType  name)

◆ Disable() [1/2]

bool TypeCategoryMap::Disable ( KeyType  category_name)

Definition at line 55 of file TypeCategoryMap.cpp.

References Get().

Referenced by Delete(), DisableAllCategories(), and lldb_private::FormatManager::DisableCategory().

◆ Disable() [2/2]

bool TypeCategoryMap::Disable ( ValueSP  category)

Definition at line 85 of file TypeCategoryMap.cpp.

◆ DisableAllCategories()

void TypeCategoryMap::DisableAllCategories ( )

Definition at line 118 of file TypeCategoryMap.cpp.

References Disable(), and First.

◆ Enable() [1/2]

bool TypeCategoryMap::Enable ( KeyType  category_name,
Position  pos = Default 
)

◆ Enable() [2/2]

bool TypeCategoryMap::Enable ( ValueSP  category,
Position  pos = Default 
)

Definition at line 63 of file TypeCategoryMap.cpp.

References First, and Last.

◆ EnableAllCategories()

void TypeCategoryMap::EnableAllCategories ( )

Definition at line 95 of file TypeCategoryMap.cpp.

References Enable(), Last, and sp.

◆ ForEach()

void TypeCategoryMap::ForEach ( ForEachCallback  callback)

Definition at line 334 of file TypeCategoryMap.cpp.

◆ Get() [1/2]

bool TypeCategoryMap::Get ( KeyType  name,
ValueSP &  entry 
)

◆ Get() [2/2]

bool TypeCategoryMap::Get ( uint32_t  pos,
ValueSP &  entry 
)

Definition at line 143 of file TypeCategoryMap.cpp.

◆ GetAtIndex()

TypeCategoryImplSP TypeCategoryMap::GetAtIndex ( uint32_t  index)

◆ GetCount()

uint32_t lldb_private::TypeCategoryMap::GetCount ( )
inline

◆ GetFormat()

lldb::TypeFormatImplSP TypeCategoryMap::GetFormat ( FormattersMatchData match_data)

◆ GetSummaryFormat()

lldb::TypeSummaryImplSP TypeCategoryMap::GetSummaryFormat ( FormattersMatchData match_data)

◆ GetSyntheticChildren()

lldb::SyntheticChildrenSP TypeCategoryMap::GetSyntheticChildren ( FormattersMatchData match_data)

◆ GetValidator()

lldb::TypeValidatorImplSP TypeCategoryMap::GetValidator ( FormattersMatchData match_data)

Friends And Related Function Documentation

◆ FormatManager

friend class FormatManager
friend

Definition at line 114 of file TypeCategoryMap.h.

◆ FormattersContainer< KeyType, ValueType >

friend class FormattersContainer< KeyType, ValueType >
friend

Definition at line 113 of file TypeCategoryMap.h.

Member Data Documentation

◆ Default

const Position lldb_private::TypeCategoryMap::Default = 1
static

Definition at line 40 of file TypeCategoryMap.h.

Referenced by lldb_private::LanguageCategory::Enable().

◆ First

const Position lldb_private::TypeCategoryMap::First = 0
static

Definition at line 39 of file TypeCategoryMap.h.

Referenced by DisableAllCategories(), Enable(), and TypeCategoryMap().

◆ Last

const Position lldb_private::TypeCategoryMap::Last = UINT32_MAX
static

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