ClickHouse/src/IO/ReadBufferFromString.h

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

29 lines
683 B
C++
Raw Normal View History

2011-11-29 18:53:44 +00:00
#pragma once
#include <IO/ReadBufferFromMemory.h>
2011-11-29 18:53:44 +00:00
namespace DB
{
/// Allows to read from std::string-like object.
2017-01-03 01:42:17 +00:00
class ReadBufferFromString : public ReadBufferFromMemory
2011-11-29 18:53:44 +00:00
{
public:
2017-04-16 05:40:17 +00:00
/// std::string or something similar
2011-11-29 18:53:44 +00:00
template <typename S>
2021-04-16 17:49:38 +00:00
explicit ReadBufferFromString(const S & s) : ReadBufferFromMemory(s.data(), s.size()) {}
2011-11-29 18:53:44 +00:00
explicit ReadBufferFromString(std::string_view s) : ReadBufferFromMemory(s.data(), s.size()) {}
};
class ReadBufferFromOwnString : public String, public ReadBufferFromString
{
public:
2023-08-15 04:16:22 +00:00
template <typename S>
explicit ReadBufferFromOwnString(S && s_) : String(std::forward<S>(s_)), ReadBufferFromString(*this)
{
}
};
2011-11-29 18:53:44 +00:00
}