From 17c0bc76c3de4faf61968decdd28157abdebcb96 Mon Sep 17 00:00:00 2001 From: mutouyun Date: Wed, 4 Mar 2020 12:37:48 +0800 Subject: [PATCH] buffer::data()->T* => buffer::get()->T --- demo/chat/main.cpp | 2 +- include/buffer.h | 20 +++----------------- 2 files changed, 4 insertions(+), 18 deletions(-) diff --git a/demo/chat/main.cpp b/demo/chat/main.cpp index 06098bb..a39507c 100644 --- a/demo/chat/main.cpp +++ b/demo/chat/main.cpp @@ -31,7 +31,7 @@ int main() { while (1) { auto buf = cc.recv(); if (buf.empty()) continue; - std::string dat { static_cast(buf.data()), buf.size() - 1 }; + std::string dat { buf.get(), buf.size() - 1 }; std::smatch mid; if (std::regex_match(dat, mid, reg)) { if (mid.str(1) == id) { diff --git a/include/buffer.h b/include/buffer.h index 5fd9494..363efb6 100644 --- a/include/buffer.h +++ b/include/buffer.h @@ -38,14 +38,7 @@ public: void const * data() const noexcept; template - auto data() noexcept -> typename std::enable_if::value, T*>::type { - return static_cast(data()); - } - - template - auto data() const noexcept -> typename std::enable_if::value, T*>::type { - return static_cast(data()); - } + T get() const { return T(data()); } std::size_t size() const noexcept; @@ -58,16 +51,9 @@ public: } std::vector to_vector() const { -# if __cplusplus >= 201703L - auto [d, s] = to_tuple(); -# else /*__cplusplus < 201703L*/ - auto tp = to_tuple(); - auto d = std::get<0>(tp); - auto s = std::get<1>(tp); -# endif/*__cplusplus < 201703L*/ return { - static_cast(d), - static_cast(d) + s + get(), + get() + size() }; }