11#include "llvm/Support/FormattedStream.h"
12#include "llvm/Support/raw_ostream.h"
31 m_types.insert(std::make_pair(type_sp->GetID(), type_sp));
39 for (pos =
m_types.find(type_uid);
40 pos != end && pos->second->GetID() == type_uid; ++pos) {
41 if (pos->second.get() == type_sp.get())
62 for (pos =
m_types.begin(), end =
m_types.end(); pos != end; ++pos) {
77 std::function<
bool(
const lldb::TypeSP &type_sp)>
const &callback)
const {
78 for (
auto pos =
m_types.begin(), end =
m_types.end(); pos != end; ++pos) {
79 if (!callback(pos->second))
85 std::function<
bool(
lldb::TypeSP &type_sp)>
const &callback) {
86 for (
auto pos =
m_types.begin(), end =
m_types.end(); pos != end; ++pos) {
87 if (!callback(pos->second))
96 pos != end && pos->first == uid; ++pos) {
97 if (pos->second == type_sp) {
108 for (
const auto &pair :
m_types)
109 pair.second->Dump(s, show_context, level);
A stream class that can stream formatted output to a file.
lldb::TypeSP FirstType() const
void Insert(const lldb::TypeSP &type)
bool Remove(const lldb::TypeSP &type_sp)
bool InsertUnique(const lldb::TypeSP &type)
void ForEach(std::function< bool(const lldb::TypeSP &type_sp)> const &callback) const
void Dump(Stream *s, bool show_context, lldb::DescriptionLevel level=lldb::eDescriptionLevelFull) const
collection::iterator iterator
lldb::TypeSP GetTypeAtIndex(uint32_t idx)
A class that represents a running process on the host machine.
DescriptionLevel
Description levels for "void GetDescription(Stream *, DescriptionLevel)" calls.
std::shared_ptr< lldb_private::Type > TypeSP