2424
2525// Declaration
2626
27- template <typename T> size_t strlen_t (const T* str);
28- template <typename T> size_t strnlen_t (const T* str, size_t maxlen);
27+ template <typename T> size_t strlen_t (const T * str);
28+ template <typename T> size_t strnlen_t (const T * str, size_t maxlen);
2929
3030#if defined(_MSC_VER) && _MSC_VER < 1300
31- size_t strnlen (const char * str, size_t maxlen);
32- size_t wcsnlen (const wchar_t * str, size_t maxlen);
31+ size_t strnlen (const char * str, size_t maxlen);
32+ size_t wcsnlen (const wchar_t * str, size_t maxlen);
3333#endif
3434
35- template <typename T> size_t strlcpy_t (T* dst, const T* src, size_t dstsize);
36- template <typename T> size_t strlcat_t (T* dst, const T* src, size_t dstsize);
35+ template <typename T> size_t strlcpy_t (T * dst, const T * src, size_t dstsize);
36+ template <typename T> size_t strlcat_t (T * dst, const T * src, size_t dstsize);
3737
38- size_t strlcpy (char * dst, const char * src, size_t dstsize);
39- size_t strlcat (char * dst, const char * src, size_t dstsize);
40- size_t wcslcpy (wchar_t * dst, const wchar_t * src, size_t dstsize);
41- size_t wcslcat (wchar_t * dst, const wchar_t * src, size_t dstsize);
38+ size_t strlcpy (char * dst, const char * src, size_t dstsize);
39+ size_t strlcat (char * dst, const char * src, size_t dstsize);
40+ size_t wcslcpy (wchar_t * dst, const wchar_t * src, size_t dstsize);
41+ size_t wcslcat (wchar_t * dst, const wchar_t * src, size_t dstsize);
4242
43- template <typename T> size_t strlmove_t (T* dst, const T* src, size_t dstsize);
44- template <typename T> size_t strlmcat_t (T* dst, const T* src, size_t dstsize);
43+ template <typename T> size_t strlmove_t (T * dst, const T * src, size_t dstsize);
44+ template <typename T> size_t strlmcat_t (T * dst, const T * src, size_t dstsize);
4545
46- size_t strlmove (char * dst, const char * src, size_t dstsize);
47- size_t strlmcat (char * dst, const char * src, size_t dstsize);
48- size_t wcslmove (wchar_t * dst, const wchar_t * src, size_t dstsize);
49- size_t wcslmcat (wchar_t * dst, const wchar_t * src, size_t dstsize);
46+ size_t strlmove (char * dst, const char * src, size_t dstsize);
47+ size_t strlmcat (char * dst, const char * src, size_t dstsize);
48+ size_t wcslmove (wchar_t * dst, const wchar_t * src, size_t dstsize);
49+ size_t wcslmcat (wchar_t * dst, const wchar_t * src, size_t dstsize);
5050
5151#if !(defined(_MSC_VER) && _MSC_VER < 1300)
52- template <size_t Size> size_t strlcpy_t (char (&dst)[Size], const char* src);
53- template <size_t Size> size_t strlcat_t (char (&dst)[Size], const char* src);
54- template <size_t Size> size_t strlmove_t (char (&dst)[Size], const char* src);
55- template <size_t Size> size_t strlmcat_t (char (&dst)[Size], const char* src);
52+ template <size_t Size> size_t strlcpy_t (char (&dst)[Size], const char * src);
53+ template <size_t Size> size_t strlcat_t (char (&dst)[Size], const char * src);
54+ template <size_t Size> size_t strlmove_t (char (&dst)[Size], const char * src);
55+ template <size_t Size> size_t strlmcat_t (char (&dst)[Size], const char * src);
5656#endif
5757
58- template <typename T> bool startsWith (const T* str, const T* prefix);
59- template <typename T> bool startsWithNoCase (const T* str, const T* prefix);
60- template <typename T> bool endsWith (const T* str, const T* suffix);
61- template <typename T> bool endsWithNoCase (const T* str, const T* suffix);
62-
6358
6459// Implementation
6560
6661// Templated strlen.
6762// Returns the number of characters until the first zero character.
68- template <typename T> size_t strlen_t (const T* str)
63+ template <typename T> size_t strlen_t (const T * str)
6964{
7065 const T* begin = str;
7166 while (*str)
@@ -75,7 +70,7 @@ template<typename T> size_t strlen_t(const T* str)
7570
7671// Templated strlen.
7772// Returns the number of characters until the first zero character or when maxlen is reached.
78- template <typename T> size_t strnlen_t (const T* str, size_t maxlen)
73+ template <typename T> size_t strnlen_t (const T * str, size_t maxlen)
7974{
8075 const T* begin = str;
8176 const T* end = str + maxlen;
@@ -85,14 +80,14 @@ template<typename T> size_t strnlen_t(const T* str, size_t maxlen)
8580}
8681
8782#if defined(_MSC_VER) && _MSC_VER < 1300
88- inline size_t strnlen (const char * str, size_t maxlen) { return strnlen_t (str, maxlen); }
89- inline size_t wcsnlen (const wchar_t * str, size_t maxlen) { return strnlen_t (str, maxlen); }
83+ inline size_t strnlen (const char * str, size_t maxlen) { return strnlen_t (str, maxlen); }
84+ inline size_t wcsnlen (const wchar_t * str, size_t maxlen) { return strnlen_t (str, maxlen); }
9085#endif
9186
9287// Templated strlcpy. Prefer using this over strncpy.
9388// Copies src into dst until dstsize minus one. Always null terminates.
9489// Returns the length of src, excluding the null terminator.
95- template <typename T> size_t strlcpy_t (T* dst, const T* src, size_t dstsize)
90+ template <typename T> size_t strlcpy_t (T * dst, const T * src, size_t dstsize)
9691{
9792 const size_t srclen = strlen_t (src);
9893 if (dstsize != 0 )
@@ -107,7 +102,7 @@ template<typename T> size_t strlcpy_t(T* dst, const T* src, size_t dstsize)
107102// Templated strlcat. Prefer using this over strncpy.
108103// Appends src into dst until dstsize minus one. Always null terminates.
109104// Returns the length of dst + src, excluding the null terminator.
110- template <typename T> size_t strlcat_t (T* dst, const T* src, size_t dstsize)
105+ template <typename T> size_t strlcat_t (T * dst, const T * src, size_t dstsize)
111106{
112107 const size_t dstlen = strnlen_t (dst, dstsize);
113108 const size_t srclen = strlen_t (src);
@@ -129,18 +124,18 @@ template<typename T> size_t strlcat_t(T* dst, const T* src, size_t dstsize)
129124}
130125
131126#ifndef HAVE_STRLCPY
132- inline size_t strlcpy (char * dst, const char * src, size_t dstsize) { return strlcpy_t (dst, src, dstsize); }
127+ inline size_t strlcpy (char * dst, const char * src, size_t dstsize) { return strlcpy_t (dst, src, dstsize); }
133128#endif
134129#ifndef HAVE_STRLCAT
135- inline size_t strlcat (char * dst, const char * src, size_t dstsize) { return strlcat_t (dst, src, dstsize); }
130+ inline size_t strlcat (char * dst, const char * src, size_t dstsize) { return strlcat_t (dst, src, dstsize); }
136131#endif
137- inline size_t wcslcpy (wchar_t * dst, const wchar_t * src, size_t dstsize) { return strlcpy_t (dst, src, dstsize); }
138- inline size_t wcslcat (wchar_t * dst, const wchar_t * src, size_t dstsize) { return strlcat_t (dst, src, dstsize); }
132+ inline size_t wcslcpy (wchar_t * dst, const wchar_t * src, size_t dstsize) { return strlcpy_t (dst, src, dstsize); }
133+ inline size_t wcslcat (wchar_t * dst, const wchar_t * src, size_t dstsize) { return strlcat_t (dst, src, dstsize); }
139134
140135// Templated strlmove. Prefer using this over strlcpy if dst and src overlap.
141136// Moves src into dst until dstsize minus one. Always null terminates.
142137// Returns the length of src, excluding the null terminator.
143- template <typename T> size_t strlmove_t (T* dst, const T* src, size_t dstsize)
138+ template <typename T> size_t strlmove_t (T * dst, const T * src, size_t dstsize)
144139{
145140 const size_t srclen = strlen_t (src);
146141 if (dstsize > 0 )
@@ -155,7 +150,7 @@ template<typename T> size_t strlmove_t(T* dst, const T* src, size_t dstsize)
155150// Templated strlmcat. Prefer using this over strlcat if dst and src overlap.
156151// Appends src into dst until dstsize minus one. Always null terminates.
157152// Returns the length of dst + src, excluding the null terminator.
158- template <typename T> size_t strlmcat_t (T* dst, const T* src, size_t dstsize)
153+ template <typename T> size_t strlmcat_t (T * dst, const T * src, size_t dstsize)
159154{
160155 const size_t dstlen = strnlen_t (dst, dstsize);
161156 const size_t srclen = strlen_t (src);
@@ -176,19 +171,19 @@ template<typename T> size_t strlmcat_t(T* dst, const T* src, size_t dstsize)
176171 return dstlen + srclen; // length tried to create
177172}
178173
179- inline size_t strlmove (char * dst, const char * src, size_t dstsize) { return strlmove_t (dst, src, dstsize); }
180- inline size_t strlmcat (char * dst, const char * src, size_t dstsize) { return strlmcat_t (dst, src, dstsize); }
181- inline size_t wcslmove (wchar_t * dst, const wchar_t * src, size_t dstsize) { return strlmove_t (dst, src, dstsize); }
182- inline size_t wcslmcat (wchar_t * dst, const wchar_t * src, size_t dstsize) { return strlmcat_t (dst, src, dstsize); }
174+ inline size_t strlmove (char * dst, const char * src, size_t dstsize) { return strlmove_t (dst, src, dstsize); }
175+ inline size_t strlmcat (char * dst, const char * src, size_t dstsize) { return strlmcat_t (dst, src, dstsize); }
176+ inline size_t wcslmove (wchar_t * dst, const wchar_t * src, size_t dstsize) { return strlmove_t (dst, src, dstsize); }
177+ inline size_t wcslmcat (wchar_t * dst, const wchar_t * src, size_t dstsize) { return strlmcat_t (dst, src, dstsize); }
183178
184179#if !(defined(_MSC_VER) && _MSC_VER < 1300)
185- template <size_t Size> size_t strlcpy_t (char (&dst)[Size], const char* src) { return strlcpy_t (dst, src, Size); }
186- template <size_t Size> size_t strlcat_t (char (&dst)[Size], const char* src) { return strlcat_t (dst, src, Size); }
187- template <size_t Size> size_t strlmove_t (char (&dst)[Size], const char* src) { return strlmove_t (dst, src, Size); }
188- template <size_t Size> size_t strlmcat_t (char (&dst)[Size], const char* src) { return strlmcat_t (dst, src, Size); }
180+ template <size_t Size> size_t strlcpy_t (char (&dst)[Size], const char * src) { return strlcpy_t (dst, src, Size); }
181+ template <size_t Size> size_t strlcat_t (char (&dst)[Size], const char * src) { return strlcat_t (dst, src, Size); }
182+ template <size_t Size> size_t strlmove_t (char (&dst)[Size], const char * src) { return strlmove_t (dst, src, Size); }
183+ template <size_t Size> size_t strlmcat_t (char (&dst)[Size], const char * src) { return strlmcat_t (dst, src, Size); }
189184#endif
190185
191- inline bool startsWith (const char * str, const char * prefix)
186+ inline bool startsWith (const char * str, const char * prefix)
192187{
193188 if (*prefix == char (0 ))
194189 return true ; // everything starts with the empty string
@@ -201,7 +196,7 @@ inline bool startsWith(const char* str, const char* prefix)
201196 return ::strncmp (str, prefix, prefixlen) == 0 ;
202197}
203198
204- inline bool startsWith (const wchar_t * str, const wchar_t * prefix)
199+ inline bool startsWith (const wchar_t * str, const wchar_t * prefix)
205200{
206201 if (*prefix == wchar_t (0 ))
207202 return true ; // everything starts with the empty string
@@ -214,7 +209,7 @@ inline bool startsWith(const wchar_t* str, const wchar_t* prefix)
214209 return ::wcsncmp (str, prefix, prefixlen) == 0 ;
215210}
216211
217- inline bool startsWithNoCase (const char * str, const char * prefix)
212+ inline bool startsWithNoCase (const char * str, const char * prefix)
218213{
219214 if (*prefix == char (0 ))
220215 return true ; // everything starts with the empty string
@@ -227,7 +222,7 @@ inline bool startsWithNoCase(const char* str, const char* prefix)
227222 return ::strnicmp (str, prefix, prefixlen) == 0 ;
228223}
229224
230- inline bool startsWithNoCase (const wchar_t * str, const wchar_t * prefix)
225+ inline bool startsWithNoCase (const wchar_t * str, const wchar_t * prefix)
231226{
232227 if (*prefix == wchar_t (0 ))
233228 return true ; // everything starts with the empty string
@@ -240,7 +235,7 @@ inline bool startsWithNoCase(const wchar_t* str, const wchar_t* prefix)
240235 return ::wcsnicmp (str, prefix, prefixlen) == 0 ;
241236}
242237
243- inline bool endsWith (const char * str, const char * suffix)
238+ inline bool endsWith (const char * str, const char * suffix)
244239{
245240 if (*suffix == char (0 ))
246241 return true ; // everything ends with the empty string
@@ -253,7 +248,7 @@ inline bool endsWith(const char* str, const char* suffix)
253248 return ::strncmp (str + strlen - suffixlen, suffix, suffixlen) == 0 ;
254249}
255250
256- inline bool endsWith (const wchar_t * str, const wchar_t * suffix)
251+ inline bool endsWith (const wchar_t * str, const wchar_t * suffix)
257252{
258253 if (*suffix == wchar_t (0 ))
259254 return true ; // everything ends with the empty string
@@ -266,7 +261,7 @@ inline bool endsWith(const wchar_t* str, const wchar_t* suffix)
266261 return ::wcsncmp (str + strlen - suffixlen, suffix, suffixlen) == 0 ;
267262}
268263
269- inline bool endsWithNoCase (const char * str, const char * suffix)
264+ inline bool endsWithNoCase (const char * str, const char * suffix)
270265{
271266 if (*suffix == char (0 ))
272267 return true ; // everything ends with the empty string
@@ -279,7 +274,7 @@ inline bool endsWithNoCase(const char* str, const char* suffix)
279274 return ::strnicmp (str + strlen - suffixlen, suffix, suffixlen) == 0 ;
280275}
281276
282- inline bool endsWithNoCase (const wchar_t * str, const wchar_t * suffix)
277+ inline bool endsWithNoCase (const wchar_t * str, const wchar_t * suffix)
283278{
284279 if (*suffix == wchar_t (0 ))
285280 return true ; // everything ends with the empty string
@@ -290,4 +285,4 @@ inline bool endsWithNoCase(const wchar_t* str, const wchar_t* suffix)
290285 return false ; // suffix must be as long or shorter than str
291286
292287 return ::wcsnicmp (str + strlen - suffixlen, suffix, suffixlen) == 0 ;
293- }
288+ }
0 commit comments