LLDB mainline
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
18#include "llvm/ADT/SmallVector.h"
19
20namespace lldb_private {
21namespace formatters {
23public:
25 llvm::ArrayRef<ConstString> item_names);
26
27 llvm::Expected<uint32_t> CalculateNumChildren() override;
28
29 lldb::ValueObjectSP GetChildAtIndex(uint32_t idx) override;
30
32
33 llvm::Expected<size_t> GetIndexOfChildWithName(ConstString name) override;
34
35private:
37 llvm::SmallVector<ConstString, 2> m_item_names;
39};
40
41} // namespace formatters
42} // namespace lldb_private
43
44#endif // LLDB_DATAFORMATTERS_VECTORITERATOR_H
A uniqued constant string class.
Definition ConstString.h:40
Execution context objects refer to objects in the execution of the program that is being debugged.
SyntheticChildrenFrontEnd(ValueObject &backend)
lldb::ValueObjectSP GetChildAtIndex(uint32_t idx) override
llvm::Expected< uint32_t > CalculateNumChildren() override
llvm::Expected< size_t > GetIndexOfChildWithName(ConstString name) override
lldb::ChildCacheState Update() override
This function is assumed to always succeed and if it fails, the front-end should know to deal with it...
VectorIteratorSyntheticFrontEnd(lldb::ValueObjectSP valobj_sp, llvm::ArrayRef< ConstString > item_names)
A class that represents a running process on the host machine.
ChildCacheState
Specifies if children need to be re-computed after a call to SyntheticChildrenFrontEnd::Update.
std::shared_ptr< lldb_private::ValueObject > ValueObjectSP