Branimir Karadžić 7 anos atrás
pai
commit
1e334b9983
3 arquivos alterados com 9 adições e 4 exclusões
  1. 5 0
      include/bx/inline/string.inl
  2. 3 3
      include/bx/string.h
  3. 1 1
      src/string.cpp

+ 5 - 0
include/bx/inline/string.inl

@@ -236,4 +236,9 @@ namespace bx
 		}
 		}
 	}
 	}
 
 
+	inline StringView strSubstr(const StringView& _str, int32_t _start, int32_t _len)
+	{
+		return StringView(_str, _start, _len);
+	}
+
 } // namespace bx
 } // namespace bx

+ 3 - 3
include/bx/string.h

@@ -245,12 +245,12 @@ namespace bx
 	/// Find end of line. Retuns pointer to new line terminator.
 	/// Find end of line. Retuns pointer to new line terminator.
 	StringView strFindEol(const StringView& _str);
 	StringView strFindEol(const StringView& _str);
 
 
-	/// Returns pointer to first character after word.
-	const char* strSkipWord(const char* _str, int32_t _max = INT32_MAX);
-
 	/// Returns StringView of word or empty.
 	/// Returns StringView of word or empty.
 	StringView strWord(const StringView& _str);
 	StringView strWord(const StringView& _str);
 
 
+	///
+	StringView strSubstr(const StringView& _str, int32_t _start, int32_t _len);
+
 	/// Find matching block.
 	/// Find matching block.
 	const char* strmb(const char* _str, char _open, char _close);
 	const char* strmb(const char* _str, char _open, char _close);
 
 

+ 1 - 1
src/string.cpp

@@ -593,7 +593,7 @@ namespace bx
 		return StringView(_str.getTerm(), _str.getTerm() );
 		return StringView(_str.getTerm(), _str.getTerm() );
 	}
 	}
 
 
-	const char* strSkipWord(const char* _str, int32_t _max)
+	static const char* strSkipWord(const char* _str, int32_t _max)
 	{
 	{
 		for (char ch = *_str++; 0 < _max && (isAlphaNum(ch) || '_' == ch); ch = *_str++, --_max) {};
 		for (char ch = *_str++; 0 < _max && (isAlphaNum(ch) || '_' == ch); ch = *_str++, --_max) {};
 		return _str-1;
 		return _str-1;