1#ifndef _C4_STD_STRING_HPP_
2#define _C4_STD_STRING_HPP_
6#ifndef C4CORE_SINGLE_HEADER
16template<>
struct is_string<std::string> :
public std::true_type {};
17template<>
struct is_string<const std::string> :
public std::true_type {};
34 #error this function requires c++11
48 #error this function requires c++11
78 size_t len = buf.
len < sz ? buf.
len : sz;
bool from_chars(csubstr buf, uint8_t *v) noexcept
substr to_substr(char(&s)[N]) noexcept
csubstr to_csubstr(const char(&s)[N]) noexcept
bool operator<(const char c, basic_substring< C > const that) noexcept
bool operator!=(const char c, basic_substring< C > const that) noexcept
bool operator==(const char c, basic_substring< C > const that) noexcept
bool operator>(const char c, basic_substring< C > const that) noexcept
bool operator>=(const char c, basic_substring< C > const that) noexcept
bool operator<=(const char c, basic_substring< C > const that) noexcept
basic_substring< char > substr
a mutable string view
basic_substring< const char > csubstr
an immutable string view
size_t to_chars(substr buf, uint8_t v) noexcept
(Undefined by default) Use shorter error message from checks/asserts: do not show the check condition...
int compare(C const c) const noexcept
auto copy_from(ro_substr that) -> typename std::enable_if< !std::is_const< U >::value, void >::type
copy a string to this substr, starting at 0
size_t len
the length of the substring
a traits class to mark a type as a string type, meaning c4::to_csubstr() can be used directly instead...
a traits class to mark a type as a writeable string type, meaning c4::to_substr() can be used directl...