summaryrefslogtreecommitdiffstats
path: root/tools/lldb-mi/MIUtilString.h
diff options
context:
space:
mode:
Diffstat (limited to 'tools/lldb-mi/MIUtilString.h')
-rw-r--r--tools/lldb-mi/MIUtilString.h44
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;
};
OpenPOWER on IntegriCloud