From 9ef51e7fd919587a7694b74d2929b79eb483884e Mon Sep 17 00:00:00 2001 From: Daniel Larimer Date: Tue, 25 Sep 2012 23:20:35 -0400 Subject: [PATCH] adding array packing --- include/fc/raw.hpp | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/include/fc/raw.hpp b/include/fc/raw.hpp index f363f3e..540e191 100644 --- a/include/fc/raw.hpp +++ b/include/fc/raw.hpp @@ -5,6 +5,8 @@ #include #include #include +#include +#include //#include namespace fc { @@ -38,6 +40,15 @@ namespace fc { template inline void unpack( Stream& s, fc::vector& v ); + + template + inline void pack( Stream& s, const fc::array& v) { + s.write((const char*)&v.data[0],N*sizeof(T)); + } + template + inline void unpack( Stream& s, fc::array& v) { + s.read((char*)&v.data[0],N*sizeof(T)); + } template inline void pack( Stream& s, const signed_int& v ) { uint32_t val = (v.value<<1) ^ (v.value>>31); do { @@ -131,7 +142,6 @@ namespace fc { template void operator()( const char* name )const { - //slog( "packing %s", name ); raw::pack( s, c.*p ); } private: