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
llvm::Expected<size_t>
GetIndexOfChildWithName
(
ConstString
name)
override
;
34
35
private
:
36
ExecutionContextRef
m_exe_ctx_ref
;
37
llvm::SmallVector<ConstString, 2>
m_item_names
;
38
lldb::ValueObjectSP
m_item_sp
;
39
};
40
41
}
// namespace formatters
42
}
// namespace lldb_private
43
44
#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:73
lldb_private::SyntheticChildrenFrontEnd::SyntheticChildrenFrontEnd
SyntheticChildrenFrontEnd(ValueObject &backend)
Definition
TypeSynthetic.h:36
lldb_private::formatters::VectorIteratorSyntheticFrontEnd::GetChildAtIndex
lldb::ValueObjectSP GetChildAtIndex(uint32_t idx) override
Definition
LibStdcpp.cpp:227
lldb_private::formatters::VectorIteratorSyntheticFrontEnd::m_exe_ctx_ref
ExecutionContextRef m_exe_ctx_ref
Definition
VectorIterator.h:36
lldb_private::formatters::VectorIteratorSyntheticFrontEnd::CalculateNumChildren
llvm::Expected< uint32_t > CalculateNumChildren() override
Definition
LibStdcpp.cpp:222
lldb_private::formatters::VectorIteratorSyntheticFrontEnd::GetIndexOfChildWithName
llvm::Expected< size_t > GetIndexOfChildWithName(ConstString name) override
Definition
LibStdcpp.cpp:234
lldb_private::formatters::VectorIteratorSyntheticFrontEnd::m_item_sp
lldb::ValueObjectSP m_item_sp
Definition
VectorIterator.h:38
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:195
lldb_private::formatters::VectorIteratorSyntheticFrontEnd::VectorIteratorSyntheticFrontEnd
VectorIteratorSyntheticFrontEnd(lldb::ValueObjectSP valobj_sp, llvm::ArrayRef< ConstString > item_names)
Definition
LibStdcpp.cpp:187
lldb_private::formatters::VectorIteratorSyntheticFrontEnd::m_item_names
llvm::SmallVector< ConstString, 2 > m_item_names
Definition
VectorIterator.h:37
lldb-forward.h
lldb_private::formatters
Definition
CXXFunctionPointer.h:15
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:1338
lldb::ValueObjectSP
std::shared_ptr< lldb_private::ValueObject > ValueObjectSP
Definition
lldb-forward.h:495
Generated on
for LLDB by
1.14.0