133 #ifndef OPENTXS_CORE_STRINGUTILS_HPP
134 #define OPENTXS_CORE_STRINGUTILS_HPP
151 template <
typename Container>
152 static Container& split_byChar(Container& result,
153 const typename Container::value_type& s,
154 const typename Container::value_type& delimiters,
161 next = s.find_first_not_of(delimiters,
162 static_cast<uint32_t>(next) + 1);
163 if (static_cast<size_t>(next) == Container::value_type::npos) {
168 size_t current =
static_cast<size_t>(next + 1);
169 next = s.find_first_of(delimiters, current);
171 s.substr(current, static_cast<uint32_t>(next) - current));
172 }
while (static_cast<size_t>(next) != Container::value_type::npos);
180 char*
str_dup2(
const char* str, uint32_t length);
182 template <
typename T>
185 std::stringstream ss;
213 inline size_t strlcpy(
char* dst,
const char* src,
size_t siz)
222 if ((*d++ = *s++) ==
'\0')
break;
228 if (siz != 0) *d =
'\0';
233 return (s - src - 1);
242 inline size_t strlcat(
char* dst,
const char* src,
size_t siz)
250 while (n-- != 0 && *d !=
'\0') d++;
254 if (n == 0)
return (dlen + strlen(s));
264 return (dlen + (s - src));
270 #endif // OPENTXS_CORE_STRINGUTILS_HPP
size_t strlcpy(char *dst, const char *src, size_t siz)
std::string to_string(const T &t)
char * str_dup2(const char *str, uint32_t length)
size_t strlcat(char *dst, const char *src, size_t siz)