Allow constructing Buffer from a std::string

This commit is contained in:
Matias Fontanini
2016-06-14 19:15:46 -07:00
parent d90f039a87
commit c4054eaae0
5 changed files with 32 additions and 18 deletions

View File

@@ -40,6 +40,10 @@ namespace cppkafka {
*
* This is only a view, hence you should convert the contents of a buffer into
* some other container if you want to store it somewhere.
*
* If you're using this to produce a message, you *need* to guarantee that the
* pointer that this buffer points to will still until the call to Producer::produce
* returns.
*/
class Buffer {
public:
@@ -62,6 +66,17 @@ public:
static_assert(sizeof(T) == 1, "Buffer must point to elements of 1 byte");
}
/**
* \brief Construct a buffer from a const string ref
*
* Note that you *can't use temporaries* here as they would be destructed after
* the constructor finishes.
*/
Buffer(const std::string& data);
// Don't allow construction from temporaries
Buffer(std::string&&) = delete;
Buffer(const Buffer&) = delete;
Buffer(Buffer&&) = default;
Buffer& operator=(const Buffer&) = delete;