LLDB
mainline
llvm-project
lldb
include
lldb
DataFormatters
VectorIterator.h
Go to the documentation of this file.
1
//===-- VectorIterator.h ----------------------------------------------*- C++
2
//-*-===//
3
//
4
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
5
// See https://llvm.org/LICENSE.txt for license information.
6
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7
//
8
//===----------------------------------------------------------------------===//
9
10
#ifndef LLDB_DATAFORMATTERS_VECTORITERATOR_H
11
#define LLDB_DATAFORMATTERS_VECTORITERATOR_H
12
13
#include "
lldb/lldb-forward.h
"
14
15
#include "
lldb/DataFormatters/TypeSynthetic.h
"
16
#include "
lldb/Target/ExecutionContext.h
"
17
#include "
lldb/Utility/ConstString.h
"
18
#include "llvm/ADT/SmallVector.h"
19
20
namespace
lldb_private
{
21
namespace
formatters {
22
class
VectorIteratorSyntheticFrontEnd
:
public
SyntheticChildrenFrontEnd
{
23
public
:
24
VectorIteratorSyntheticFrontEnd
(
lldb::ValueObjectSP
valobj_sp,
25
llvm::ArrayRef<ConstString> item_names);
26
27
llvm::Expected<uint32_t>
CalculateNumChildren
()
override
;
28
29
lldb::ValueObjectSP
GetChildAtIndex
(uint32_t idx)
override
;
30
31
lldb::ChildCacheState
Update
()
override
;
32
33
bool
MightHaveChildren
()
override
;
34
35
size_t
GetIndexOfChildWithName
(
ConstString
name)
override
;
36
37
private
:
38
ExecutionContextRef
m_exe_ctx_ref
;
39
llvm::SmallVector<ConstString, 2>
m_item_names
;
40
lldb::ValueObjectSP
m_item_sp
;
41
};
42
43
}
// namespace formatters
44
}
// namespace lldb_private
45
46
#endif
// LLDB_DATAFORMATTERS_VECTORITERATOR_H
ConstString.h
ExecutionContext.h
TypeSynthetic.h
lldb_private::ConstString
A uniqued constant string class.
Definition:
ConstString.h:40
lldb_private::ExecutionContextRef
Execution context objects refer to objects in the execution of the program that is being debugged.
Definition:
ExecutionContext.h:72
lldb_private::SyntheticChildrenFrontEnd
Definition:
TypeSynthetic.h:27
lldb_private::formatters::VectorIteratorSyntheticFrontEnd
Definition:
VectorIterator.h:22
lldb_private::formatters::VectorIteratorSyntheticFrontEnd::GetChildAtIndex
lldb::ValueObjectSP GetChildAtIndex(uint32_t idx) override
Definition:
LibStdcpp.cpp:229
lldb_private::formatters::VectorIteratorSyntheticFrontEnd::m_exe_ctx_ref
ExecutionContextRef m_exe_ctx_ref
Definition:
VectorIterator.h:38
lldb_private::formatters::VectorIteratorSyntheticFrontEnd::GetIndexOfChildWithName
size_t GetIndexOfChildWithName(ConstString name) override
Definition:
LibStdcpp.cpp:237
lldb_private::formatters::VectorIteratorSyntheticFrontEnd::CalculateNumChildren
llvm::Expected< uint32_t > CalculateNumChildren() override
Definition:
LibStdcpp.cpp:224
lldb_private::formatters::VectorIteratorSyntheticFrontEnd::m_item_sp
lldb::ValueObjectSP m_item_sp
Definition:
VectorIterator.h:40
lldb_private::formatters::VectorIteratorSyntheticFrontEnd::Update
lldb::ChildCacheState Update() override
This function is assumed to always succeed and if it fails, the front-end should know to deal with it...
Definition:
LibStdcpp.cpp:197
lldb_private::formatters::VectorIteratorSyntheticFrontEnd::MightHaveChildren
bool MightHaveChildren() override
Definition:
LibStdcpp.cpp:235
lldb_private::formatters::VectorIteratorSyntheticFrontEnd::m_item_names
llvm::SmallVector< ConstString, 2 > m_item_names
Definition:
VectorIterator.h:39
lldb-forward.h
lldb_private
A class that represents a running process on the host machine.
Definition:
SBAddressRange.h:14
lldb::ChildCacheState
ChildCacheState
Specifies if children need to be re-computed after a call to SyntheticChildrenFrontEnd::Update.
Definition:
lldb-enumerations.h:1324
lldb::ValueObjectSP
std::shared_ptr< lldb_private::ValueObject > ValueObjectSP
Definition:
lldb-forward.h:484
Generated on Tue Jan 28 2025 22:30:28 for LLDB by
1.9.6