diff --git a/src/print.tcc b/src/print.tcc index 472612f..8409531 100644 --- a/src/print.tcc +++ b/src/print.tcc @@ -25,6 +25,10 @@ inline void rpcPrint(Stream& io, char* data) { } } +inline void rpcPrint(Stream& io, const char* data, int len) { + io.write(data, len); +} + /*! \ingroup print * \copydoc rpcPrint(Stream&, T) */ inline void rpcPrint(Stream& io, char const* data) { diff --git a/src/write.tcc b/src/write.tcc index 728361c..72cd7db 100644 --- a/src/write.tcc +++ b/src/write.tcc @@ -54,11 +54,9 @@ void rpcWrite(Stream& io, Vector* data) { * \copydoc rpcWrite(Stream&, T*) */ template void rpcWrite(Stream& io, Array* data) { - size_t size {(*data).size()}; + size_t size {n}; rpcWrite(io, &size); - for (size_t i {0}; i < size; ++i) { - rpcWrite(io, &(*data)[i]); - } + io.write(&((*data)[0]), size * sizeof(T)); }