mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-09-20 00:30:49 +00:00
Make conversion std::string_view => StringRef explicit.
This commit is contained in:
parent
8bcaf7908e
commit
61e43c3ef9
@ -30,7 +30,7 @@ struct StringRef
|
||||
constexpr StringRef(const CharT * data_, size_t size_) : data(reinterpret_cast<const char *>(data_)), size(size_) {}
|
||||
|
||||
StringRef(const std::string & s) : data(s.data()), size(s.size()) {}
|
||||
constexpr StringRef(const std::string_view & s) : data(s.data()), size(s.size()) {}
|
||||
constexpr explicit StringRef(const std::string_view & s) : data(s.data()), size(s.size()) {}
|
||||
constexpr StringRef(const char * data_) : StringRef(std::string_view{data_}) {}
|
||||
constexpr StringRef() = default;
|
||||
|
||||
|
@ -89,18 +89,22 @@ inline void writeStringBinary(const std::string & s, WriteBuffer & buf)
|
||||
buf.write(s.data(), s.size());
|
||||
}
|
||||
|
||||
inline void writeStringBinary(const char * s, WriteBuffer & buf)
|
||||
{
|
||||
writeVarUInt(strlen(s), buf);
|
||||
buf.write(s, strlen(s));
|
||||
}
|
||||
|
||||
inline void writeStringBinary(const StringRef & s, WriteBuffer & buf)
|
||||
{
|
||||
writeVarUInt(s.size, buf);
|
||||
buf.write(s.data, s.size);
|
||||
}
|
||||
|
||||
inline void writeStringBinary(const char * s, WriteBuffer & buf)
|
||||
{
|
||||
writeStringBinary(StringRef{s}, buf);
|
||||
}
|
||||
|
||||
inline void writeStringBinary(const std::string_view & s, WriteBuffer & buf)
|
||||
{
|
||||
writeStringBinary(StringRef{s}, buf);
|
||||
}
|
||||
|
||||
|
||||
template <typename T>
|
||||
void writeVectorBinary(const std::vector<T> & v, WriteBuffer & buf)
|
||||
@ -413,15 +417,19 @@ void writeAnyEscapedString(const char * begin, const char * end, WriteBuffer & b
|
||||
}
|
||||
|
||||
|
||||
inline void writeJSONString(const String & s, WriteBuffer & buf, const FormatSettings & settings)
|
||||
inline void writeJSONString(const StringRef & s, WriteBuffer & buf, const FormatSettings & settings)
|
||||
{
|
||||
writeJSONString(s.data(), s.data() + s.size(), buf, settings);
|
||||
writeJSONString(s.data, s.data + s.size, buf, settings);
|
||||
}
|
||||
|
||||
|
||||
inline void writeJSONString(const StringRef & ref, WriteBuffer & buf, const FormatSettings & settings)
|
||||
inline void writeJSONString(const std::string_view & s, WriteBuffer & buf, const FormatSettings & settings)
|
||||
{
|
||||
writeJSONString(ref.data, ref.data + ref.size, buf, settings);
|
||||
writeJSONString(StringRef{s}, buf, settings);
|
||||
}
|
||||
|
||||
inline void writeJSONString(const String & s, WriteBuffer & buf, const FormatSettings & settings)
|
||||
{
|
||||
writeJSONString(StringRef{s}, buf, settings);
|
||||
}
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user