23#ifndef GUL17_STRING_UTIL_H_ 
   24#define GUL17_STRING_UTIL_H_ 
   46template <
typename T, 
typename = 
int>
 
   50    decltype(std::declval<T>().emplace_back(), 0)>> : std::true_type { };
 
   54template <
typename Container, 
typename Element>
 
   56    -> std::enable_if_t<HasEmplaceBack<Container>::value>
 
   58    c.emplace_back(std::move(
e));
 
   61template <
typename Container, 
typename Element>
 
   63    -> std::enable_if_t<!HasEmplaceBack<Container>::value>
 
   65    c.emplace(std::move(
e));
 
  112          std::enable_if_t<std::is_integral<Integer>::value, 
bool> = 
true>
 
  115    auto u = 
static_cast<typename std::make_unsigned<Integer>::type
>(
v);
 
  120        auto byte = 
u >> (8 * 
idx);
 
 
  150template <
typename Iterator>
 
  154    const std::size_t 
n = std::distance(begin, end);
 
  164        for (
auto it = std::next(begin); 
it != end; ++
it)
 
 
  194          std::enable_if_t<std::is_integral<Integer>::value, 
bool> = 
true>
 
  219          std::enable_if_t<IsContainerLike<Container>::value, 
bool> = 
true>
 
  282std::string 
repeat(std::string_view 
str, std::size_t 
n);
 
auto constexpr bit_set(unsigned bit) noexcept -> ReturnT
Set a bit in an integral type.
Definition bit_manip.h:121
 
GUL_EXPORT const std::array< char, 16 > hex_digits
The 16 digits for hexadecimal numbers ("0123456789abcdef").
Definition string_util.cc:30
 
GUL_EXPORT const std::string_view default_whitespace_characters
The default characters that are treated as whitespace by GUL.
Definition string_util.cc:29
 
std::string hex_string(Integer v)
Return the hexadecimal ASCII representation of an integer value.
Definition string_util.h:113
 
GUL_EXPORT std::string safe_string(const char *char_ptr, std::size_t length)
Safely construct a std::string from a char pointer and a length.
Definition string_util.cc:64
 
GUL_EXPORT std::string_view null_safe_string_view(const char *char_ptr)
Safely construct a string_view from a char pointer.
Definition string_util.cc:43
 
GUL_EXPORT std::string_view safe_string_view(const char *char_ptr, std::size_t length)
Safely construct a string_view from a char pointer and a length.
Definition string_util.cc:74
 
GUL_EXPORT std::string repeat(std::string_view str, std::size_t n)
Repeat a string N times.
Definition string_util.cc:53
 
GUL_EXPORT std::string null_safe_string(const char *char_ptr)
Safely construct a std::string from a C string or a null pointer.
Definition string_util.cc:33
 
Definition of macros used internally by GUL.
 
Namespace gul17 contains all functions and classes of the General Utility Library.
Definition doxygen.h:26
 
Some metaprogramming traits for the General Utility Library.