1 //===-- VectorIterator.h ----------------------------------------------*- C++
4 // The LLVM Compiler Infrastructure
6 // This file is distributed under the University of Illinois Open Source
7 // License. See LICENSE.TXT for details.
9 //===----------------------------------------------------------------------===//
11 #ifndef liblldb_VectorIterator_h_
12 #define liblldb_VectorIterator_h_
14 #include "lldb/lldb-forward.h"
16 #include "lldb/Target/ExecutionContext.h"
17 #include "lldb/Utility/ConstString.h"
19 namespace lldb_private {
20 namespace formatters {
21 class VectorIteratorSyntheticFrontEnd : public SyntheticChildrenFrontEnd {
23 VectorIteratorSyntheticFrontEnd(lldb::ValueObjectSP valobj_sp,
24 ConstString item_name);
26 size_t CalculateNumChildren() override;
28 lldb::ValueObjectSP GetChildAtIndex(size_t idx) override;
30 bool Update() override;
32 bool MightHaveChildren() override;
34 size_t GetIndexOfChildWithName(const ConstString &name) override;
37 ExecutionContextRef m_exe_ctx_ref;
38 ConstString m_item_name;
39 lldb::ValueObjectSP m_item_sp;
42 } // namespace formatters
43 } // namespace lldb_private
45 #endif // liblldb_CF_h_