for (const auto &elem : t) {
encode(elem, this->get_payload_segment(), features);
}
- } else if constexpr (std::is_same<T, ceph_msg_header2 const>()) {
- this->get_payload_segment().append((char *)&t, sizeof(t));
} else {
encode(t, this->get_payload_segment(), features);
}
for (uint32_t i = 0; i < size; ++i) {
decode(t[i], ti);
}
- } else if constexpr (std::is_same<T, ceph_msg_header2>()) {
- auto ptr = ti.get_current_ptr();
- ti.advance(sizeof(T));
- t = *(T *)ptr.raw_c_str();
} else {
decode(t, ti);
}