11#include <fmt/format.h>
13#include <userver/formats/serialize/to.hpp>
14#include <userver/utils/assert.hpp>
16USERVER_NAMESPACE_BEGIN
25 zstring_view() =
delete;
28 constexpr zstring_view(
const char* str)
noexcept : std::string_view{str} {
32 zstring_view(
const std::string& str)
noexcept : std::string_view{str} {}
37 constexpr const char* c_str()
const noexcept {
return std::string_view::data(); }
46 constexpr zstring_view(
const char* str, std::size_t len)
noexcept : std::string_view{str, len} {
54 return typename Value::Builder(std::string_view{view}).ExtractValue();
62struct fmt::formatter<USERVER_NAMESPACE::
utils::
zstring_view,
char> : fmt::formatter<std::string_view> {};
67template <
class... NotUsed>
69 ->
decltype(fmt::runtime(std::string_view{s})) {
70 static_assert(
sizeof...(NotUsed) == 0);
71 return fmt::runtime(std::string_view{s});