Commit bbf9df7d authored by Marian Triebe's avatar Marian Triebe

Coding style nitpicks

parent 47f19c7a
...@@ -36,19 +36,15 @@ namespace caf { ...@@ -36,19 +36,15 @@ namespace caf {
namespace detail { namespace detail {
class decorated_tuple : public message_data { class decorated_tuple : public message_data {
using super = message_data;
decorated_tuple& operator=(const decorated_tuple&) = delete;
public: public:
decorated_tuple& operator=(const decorated_tuple&) = delete;
using vector_type = std::vector<size_t>; using vector_type = std::vector<size_t>;
using pointer = message_data::ptr; using pointer = message_data::ptr;
// creates a typed subtuple from `d` with mapping `v` // creates a typed subtuple from `d` with mapping `v`
static pointer create(pointer d, vector_type v); static pointer make(pointer d, vector_type v);
void* mutable_at(size_t pos) override; void* mutable_at(size_t pos) override;
...@@ -67,26 +63,21 @@ class decorated_tuple : public message_data { ...@@ -67,26 +63,21 @@ class decorated_tuple : public message_data {
uint16_t type_nr_at(size_t pos) const override; uint16_t type_nr_at(size_t pos) const override;
const pointer& decorated() const { inline const pointer& decorated() const {
return m_decorated; return m_decorated;
} }
const vector_type& mapping() const { inline const vector_type& mapping() const {
return m_mapping; return m_mapping;
} }
private: private:
decorated_tuple(pointer&&, vector_type&&);
decorated_tuple(const decorated_tuple&) = default;
pointer m_decorated; pointer m_decorated;
vector_type m_mapping; vector_type m_mapping;
uint32_t m_type_token; uint32_t m_type_token;
void init();
decorated_tuple(pointer, vector_type&&);
decorated_tuple(const decorated_tuple&) = default;
}; };
} // namespace detail } // namespace detail
......
...@@ -22,11 +22,7 @@ ...@@ -22,11 +22,7 @@
namespace caf { namespace caf {
namespace detail { namespace detail {
using vector_type = std::vector<size_t>; decorated_tuple::pointer decorated_tuple::make(pointer d, vector_type v) {
using pointer = message_data::ptr;
pointer decorated_tuple::create(pointer d, vector_type v) {
auto ptr = dynamic_cast<const decorated_tuple*>(d.get()); auto ptr = dynamic_cast<const decorated_tuple*>(d.get());
if (ptr) { if (ptr) {
d = ptr->decorated(); d = ptr->decorated();
...@@ -73,7 +69,10 @@ uint16_t decorated_tuple::type_nr_at(size_t pos) const { ...@@ -73,7 +69,10 @@ uint16_t decorated_tuple::type_nr_at(size_t pos) const {
return m_decorated->type_nr_at(m_mapping[pos]); return m_decorated->type_nr_at(m_mapping[pos]);
} }
void decorated_tuple::init() { decorated_tuple::decorated_tuple(pointer&& d, vector_type&& v)
: m_decorated(std::move(d)),
m_mapping(std::move(v)),
m_type_token(0xFFFFFFFF) {
CAF_REQUIRE(m_mapping.empty() CAF_REQUIRE(m_mapping.empty()
|| *(std::max_element(m_mapping.begin(), m_mapping.end())) || *(std::max_element(m_mapping.begin(), m_mapping.end()))
< static_cast<const pointer&>(m_decorated)->size()); < static_cast<const pointer&>(m_decorated)->size());
...@@ -84,12 +83,5 @@ void decorated_tuple::init() { ...@@ -84,12 +83,5 @@ void decorated_tuple::init() {
} }
} }
decorated_tuple::decorated_tuple(pointer d, vector_type&& v)
: m_decorated(std::move(d)),
m_mapping(std::move(v)),
m_type_token(0xFFFFFFFF) {
init();
}
} // namespace detail } // namespace detail
} // namespace caf } // namespace caf
...@@ -89,7 +89,7 @@ message message::drop(size_t n) const { ...@@ -89,7 +89,7 @@ message message::drop(size_t n) const {
std::vector<size_t> mapping (size() - n); std::vector<size_t> mapping (size() - n);
size_t i = n; size_t i = n;
std::generate(mapping.begin(), mapping.end(), [&] { return i++; }); std::generate(mapping.begin(), mapping.end(), [&] { return i++; });
return message {detail::decorated_tuple::create(m_vals, mapping)}; return message {detail::decorated_tuple::make(m_vals, mapping)};
} }
message message::drop_right(size_t n) const { message message::drop_right(size_t n) const {
...@@ -102,7 +102,7 @@ message message::drop_right(size_t n) const { ...@@ -102,7 +102,7 @@ message message::drop_right(size_t n) const {
} }
std::vector<size_t> mapping(size() - n); std::vector<size_t> mapping(size() - n);
std::iota(mapping.begin(), mapping.end(), size_t{0}); std::iota(mapping.begin(), mapping.end(), size_t{0});
return message{detail::decorated_tuple::create(m_vals, std::move(mapping))}; return message{detail::decorated_tuple::make(m_vals, std::move(mapping))};
} }
message message::slice(size_t pos, size_t n) const { message message::slice(size_t pos, size_t n) const {
...@@ -112,7 +112,7 @@ message message::slice(size_t pos, size_t n) const { ...@@ -112,7 +112,7 @@ message message::slice(size_t pos, size_t n) const {
} }
std::vector<size_t> mapping(std::min(s - pos, n)); std::vector<size_t> mapping(std::min(s - pos, n));
std::iota(mapping.begin(), mapping.end(), pos); std::iota(mapping.begin(), mapping.end(), pos);
return message{detail::decorated_tuple::create(m_vals, std::move(mapping))}; return message{detail::decorated_tuple::make(m_vals, std::move(mapping))};
} }
optional<message> message::apply(message_handler handler) { optional<message> message::apply(message_handler handler) {
...@@ -133,8 +133,7 @@ message message::extract_impl(size_t start, message_handler handler) const { ...@@ -133,8 +133,7 @@ message message::extract_impl(size_t start, message_handler handler) const {
if (mapping.empty()) { if (mapping.empty()) {
return message{}; return message{};
} }
message next{detail::decorated_tuple::create(m_vals, message next{detail::decorated_tuple::make(m_vals, std::move(mapping))};
std::move(mapping))};
return next.extract_impl(i, handler); return next.extract_impl(i, handler);
} }
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment