فهرست منبع

Add RepeatString string utility [pre-commit]

Michael Ragazzon 4 ماه پیش
والد
کامیت
d678824884
2فایلهای تغییر یافته به همراه13 افزوده شده و 0 حذف شده
  1. 3 0
      Include/RmlUi/Core/StringUtilities.h
  2. 10 0
      Source/Core/StringUtilities.cpp

+ 3 - 0
Include/RmlUi/Core/StringUtilities.h

@@ -70,6 +70,9 @@ namespace StringUtilities {
 	/// @param[in] delimiter Delimiter to insert between the individual values.
 	RMLUICORE_API void JoinString(String& string, const StringList& string_list, const char delimiter = ',');
 
+	/// Create a string by repeating another string a given number of times.
+	RMLUICORE_API String RepeatString(const String& string, int count);
+
 	/// Converts upper-case characters in string to lower-case.
 	RMLUICORE_API String ToLower(String string);
 	/// Converts lower-case characters in string to upper-case.

+ 10 - 0
Source/Core/StringUtilities.cpp

@@ -367,6 +367,16 @@ void StringUtilities::JoinString(String& string, const StringList& string_list,
 	}
 }
 
+String StringUtilities::RepeatString(const String& string, int n)
+{
+	RMLUI_ASSERT(n >= 0);
+	Rml::String result;
+	result.reserve(string.size() * size_t(n));
+	for (int i = 0; i < n; ++i)
+		result += string;
+	return result;
+}
+
 String StringUtilities::StripWhitespace(const String& string)
 {
 	return StripWhitespace(StringView(string));