diff options
Diffstat (limited to 'tools/lldb-mi/MIUtilString.h')
-rw-r--r-- | tools/lldb-mi/MIUtilString.h | 44 |
1 files changed, 23 insertions, 21 deletions
diff --git a/tools/lldb-mi/MIUtilString.h b/tools/lldb-mi/MIUtilString.h index 162dcbf..eac0746e 100644 --- a/tools/lldb-mi/MIUtilString.h +++ b/tools/lldb-mi/MIUtilString.h @@ -7,23 +7,12 @@ // //===----------------------------------------------------------------------===// -//++ -// File: MIUtilString.h -// -// Overview: CMIUtilString interface. -// -// Environment: Compilers: Visual C++ 12. -// gcc (Ubuntu/Linaro 4.8.1-10ubuntu9) 4.8.1 -// Libraries: See MIReadmetxt. -// -// Copyright: None. -//-- - #pragma once // Third party headers: #include <string> #include <vector> +#include <cinttypes> // In-house headers: #include "MIDataTypes.h" @@ -46,28 +35,40 @@ class CMIUtilString : public std::string static CMIUtilString Format(const CMIUtilString vFormating, ...); static CMIUtilString FormatBinary(const MIuint64 vnDecimal); static CMIUtilString FormatValist(const CMIUtilString &vrFormating, va_list vArgs); - static bool IsAllValidAlphaAndNumeric(const MIchar &vrText); + static bool IsAllValidAlphaAndNumeric(const char *vpText); static bool Compare(const CMIUtilString &vrLhs, const CMIUtilString &vrRhs); + static CMIUtilString ConvertToPrintableASCII(const char vChar); + static CMIUtilString ConvertToPrintableASCII(const char16_t vChar16); + static CMIUtilString ConvertToPrintableASCII(const char32_t vChar32); // Methods: public: /* ctor */ CMIUtilString(void); - /* ctor */ CMIUtilString(const MIchar *vpData); - /* ctor */ CMIUtilString(const MIchar *const *vpData); + /* ctor */ CMIUtilString(const char *vpData); + /* ctor */ CMIUtilString(const char *const *vpData); // bool ExtractNumber(MIint64 &vwrNumber) const; CMIUtilString FindAndReplace(const CMIUtilString &vFind, const CMIUtilString &vReplaceWith) const; bool IsNumber(void) const; + bool IsHexadecimalNumber(void) const; bool IsQuoted(void) const; - CMIUtilString RemoveRepeatedCharacters(const MIchar vChar); - MIuint Split(const CMIUtilString &vDelimiter, VecString_t &vwVecSplits) const; - MIuint SplitConsiderQuotes(const CMIUtilString &vDelimiter, VecString_t &vwVecSplits) const; + CMIUtilString RemoveRepeatedCharacters(const char vChar); + size_t Split(const CMIUtilString &vDelimiter, VecString_t &vwVecSplits) const; + size_t SplitConsiderQuotes(const CMIUtilString &vDelimiter, VecString_t &vwVecSplits) const; + size_t SplitLines(VecString_t &vwVecSplits) const; CMIUtilString StripCREndOfLine(void) const; CMIUtilString StripCRAll(void) const; CMIUtilString Trim(void) const; - CMIUtilString Trim(const MIchar vChar) const; + CMIUtilString Trim(const char vChar) const; + size_t FindFirst(const CMIUtilString &vrPattern, size_t vnPos = 0) const; + size_t FindFirst(const CMIUtilString &vrPattern, bool vbSkipQuotedText, bool &vrwbNotFoundClosedQuote, + size_t vnPos = 0) const; + size_t FindFirstNot(const CMIUtilString &vrPattern, size_t vnPos = 0) const; + CMIUtilString Escape(bool vbEscapeQuotes = false) const; + CMIUtilString AddSlashes(void) const; + CMIUtilString StripSlashes(void) const; // - CMIUtilString &operator=(const MIchar *vpRhs); + CMIUtilString &operator=(const char *vpRhs); CMIUtilString &operator=(const std::string &vrRhs); // Overrideable: @@ -81,5 +82,6 @@ class CMIUtilString : public std::string // Methods: private: bool ExtractNumberFromHexadecimal(MIint64 &vwrNumber) const; - CMIUtilString RemoveRepeatedCharacters(const MIint vnPos, const MIchar vChar); + CMIUtilString RemoveRepeatedCharacters(size_t vnPos, const char vChar); + size_t FindFirstQuote(size_t vnPos) const; }; |