003 File Manager
Current Path:
/usr/src/contrib/llvm-project/lldb/include/lldb/Utility
usr
/
src
/
contrib
/
llvm-project
/
lldb
/
include
/
lldb
/
Utility
/
📁
..
📄
AnsiTerminal.h
(4.97 KB)
📄
ArchSpec.h
(17.08 KB)
📄
Args.h
(13.72 KB)
📄
Baton.h
(2.25 KB)
📄
Broadcaster.h
(17.55 KB)
📄
CompletionRequest.h
(9.23 KB)
📄
Connection.h
(6.42 KB)
📄
ConstString.h
(17.92 KB)
📄
DataBuffer.h
(3.39 KB)
📄
DataBufferHeap.h
(3.65 KB)
📄
DataBufferLLVM.h
(1.17 KB)
📄
DataEncoder.h
(8.45 KB)
📄
DataExtractor.h
(39.18 KB)
📄
Endian.h
(865 B)
📄
Environment.h
(2.68 KB)
📄
Event.h
(6.64 KB)
📄
FileSpec.h
(15.41 KB)
📄
Flags.h
(3.39 KB)
📄
GDBRemote.h
(4.15 KB)
📄
IOObject.h
(1.38 KB)
📄
Iterable.h
(5.5 KB)
📄
LLDBAssert.h
(911 B)
📄
Listener.h
(5.2 KB)
📄
Log.h
(10.51 KB)
📄
Logging.h
(2.27 KB)
📄
NameMatches.h
(716 B)
📄
Predicate.h
(8.08 KB)
📄
ProcessInfo.h
(7.92 KB)
📄
RangeMap.h
(23.05 KB)
📄
RegisterValue.h
(7.08 KB)
📄
RegularExpression.h
(3.2 KB)
📄
Reproducer.h
(13.25 KB)
📄
ReproducerInstrumentation.h
(39.38 KB)
📄
Scalar.h
(11.27 KB)
📄
SelectHelper.h
(2.53 KB)
📄
SharedCluster.h
(1.69 KB)
📄
State.h
(2.54 KB)
📄
Status.h
(7.31 KB)
📄
Stream.h
(14.34 KB)
📄
StreamCallback.h
(978 B)
📄
StreamString.h
(1.23 KB)
📄
StreamTee.h
(4.52 KB)
📄
StringExtractor.h
(3.13 KB)
📄
StringExtractorGDBRemote.h
(6.12 KB)
📄
StringLexer.h
(1.31 KB)
📄
StringList.h
(3.47 KB)
📄
StructuredData.h
(15.49 KB)
📄
TildeExpressionResolver.h
(2.42 KB)
📄
Timeout.h
(2.45 KB)
📄
Timer.h
(1.87 KB)
📄
TraceOptions.h
(1.79 KB)
📄
UUID.h
(3.74 KB)
📄
UriParser.h
(1.01 KB)
📄
UserID.h
(2.8 KB)
📄
UserIDResolver.h
(1.8 KB)
📄
VASPrintf.h
(636 B)
📄
VMRange.h
(3.06 KB)
📄
XcodeSDK.h
(2.85 KB)
Editing: StringList.h
//===-- StringList.h --------------------------------------------*- C++ -*-===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// #ifndef LLDB_UTILITY_STRINGLIST_H #define LLDB_UTILITY_STRINGLIST_H #include "llvm/ADT/StringRef.h" #include <stddef.h> #include <string> #include <vector> namespace lldb_private { class Log; class Stream; } namespace lldb_private { class StringList { typedef std::vector<std::string> collection; public: StringList(); explicit StringList(const char *str); StringList(const char **strv, int strc); virtual ~StringList(); void AppendString(const std::string &s); void AppendString(std::string &&s); void AppendString(const char *str); void AppendString(const char *str, size_t str_len); void AppendString(llvm::StringRef str); void AppendList(const char **strv, int strc); void AppendList(StringList strings); size_t GetSize() const; void SetSize(size_t n) { m_strings.resize(n); } size_t GetMaxStringLength() const; typedef collection::iterator iterator; typedef collection::const_iterator const_iterator; iterator begin() { return m_strings.begin(); } iterator end() { return m_strings.end(); } const_iterator begin() const { return m_strings.begin(); } const_iterator end() const { return m_strings.end(); } std::string &operator[](size_t idx) { // No bounds checking, verify "idx" is good prior to calling this function return m_strings[idx]; } const std::string &operator[](size_t idx) const { // No bounds checking, verify "idx" is good prior to calling this function return m_strings[idx]; } void PopBack() { m_strings.pop_back(); } const char *GetStringAtIndex(size_t idx) const; void Join(const char *separator, Stream &strm); void Clear(); std::string LongestCommonPrefix(); void InsertStringAtIndex(size_t idx, const std::string &str); void InsertStringAtIndex(size_t idx, std::string &&str); void InsertStringAtIndex(size_t id, const char *str); void DeleteStringAtIndex(size_t id); void RemoveBlankLines(); size_t SplitIntoLines(const std::string &lines); size_t SplitIntoLines(const char *lines, size_t len); std::string CopyList(const char *item_preamble = nullptr, const char *items_sep = "\n") const; StringList &operator<<(const char *str); StringList &operator<<(const std::string &s); StringList &operator<<(StringList strings); // Copy assignment for a vector of strings StringList &operator=(const std::vector<std::string> &rhs); // Dump the StringList to the given lldb_private::Log, `log`, one item per // line. If given, `name` will be used to identify the start and end of the // list in the output. virtual void LogDump(Log *log, const char *name = nullptr); // Static helper to convert an iterable of strings to a StringList, and then // dump it with the semantics of the `LogDump` method. template <typename T> static void LogDump(Log *log, T s_iterable, const char *name = nullptr) { if (!log) return; // Make a copy of the iterable as a StringList StringList l{}; for (const auto &s : s_iterable) l << s; l.LogDump(log, name); } private: collection m_strings; }; } // namespace lldb_private #endif // LLDB_UTILITY_STRINGLIST_H
Upload File
Create Folder