- Remote() {}
- ~Remote() {}
- Remote(T& p) { std::memcpy(&buffer, &p, sizeof(buffer)); }
- Remote(Remote const& that) { std::memcpy(&buffer, &that.buffer, sizeof(buffer)); }
- Remote& operator=(Remote const& that)
- {
- std::memcpy(&buffer, &that.buffer, sizeof(buffer));
- return *this;
- }
- T* getBuffer() { return &buffer; }
- const T* getBuffer() const { return &buffer; }
+ Remote() = default;
+ explicit Remote(T const& p) { std::memcpy(&buffer, &p, sizeof buffer); }
+
+ T* getBuffer() { return reinterpret_cast<T*>(&buffer); }
+ const T* getBuffer() const { return reinterpret_cast<const T*>(&buffer); }