- Remote() { /* Nothing to do */}
- ~Remote() { /* Nothing to do */}
- Remote(T const& p) { std::memcpy(static_cast<void*>(&buffer), static_cast<const void*>(&p), sizeof(buffer)); }
- Remote(Remote const& that)
- {
- std::memcpy(static_cast<void*>(&buffer), static_cast<const void*>(&that.buffer), sizeof(buffer));
- }
- Remote& operator=(Remote const& that)
- {
- std::memcpy(static_cast<void*>(&buffer), static_cast<const void*>(&that.buffer), sizeof(buffer));
- return *this;
- }
- T* getBuffer() { return &buffer; }
- const T* getBuffer() const { return &buffer; }
+ Remote() = default;
+ 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); }