7#ifndef BOTAN_MEM_UTILS_H_
8#define BOTAN_MEM_UTILS_H_
22template <
typename... Ptrs>
24 static_assert((... && std::is_pointer_v<Ptrs>),
"All arguments must be pointers");
25 return (... || (ptr ==
nullptr));
29 const uint8_t* b =
reinterpret_cast<const uint8_t*
>(s);
30 return std::span{b, len};
46 return std::string(
reinterpret_cast<const char*
>(bytes.data()), bytes.size());
std::span< const uint8_t > as_span_of_bytes(const char *s, size_t len)
std::string bytes_to_string(std::span< const uint8_t > bytes)
std::span< const uint8_t > cstr_as_span_of_bytes(const char *s)
bool any_null_pointers(Ptrs... ptr)