Merge latest fc changes into develop branch #11
6 changed files with 186 additions and 157 deletions
|
|
@ -121,11 +121,30 @@ namespace fc {
|
||||||
left -= 1024;
|
left -= 1024;
|
||||||
}
|
}
|
||||||
s.read( buf, left );
|
s.read( buf, left );
|
||||||
|
/*
|
||||||
|
s.seekp( s.tellp() + (size.value - sizeof(Storage)) );
|
||||||
|
char tmp;
|
||||||
|
size.value -= sizeof(storage);
|
||||||
|
while( size.value ){ s.read( &tmp, 1 ); --size.value; }
|
||||||
|
*/
|
||||||
|
// s.skip( size.value - sizeof(Storage) );
|
||||||
} else {
|
} else {
|
||||||
s.read( (char*)&u.data, size.value );
|
s.read( (char*)&u.data, size.value );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
template<typename Stream, typename... Args>
|
||||||
|
inline void pack( Stream& s, const boost::multiprecision::number<Args...>& d ) {
|
||||||
|
s.write( (const char*)&d, sizeof(d) );
|
||||||
|
}
|
||||||
|
|
||||||
|
template<typename Stream, typename... Args>
|
||||||
|
inline void unpack( Stream& s, boost::multiprecision::number<Args...>& u ) {
|
||||||
|
s.read( (const char*)&u, sizeof(u) );
|
||||||
|
}
|
||||||
|
*/
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -104,6 +104,8 @@ namespace fc {
|
||||||
size_t r = fc::from_hex( str, d.data(), d.size() );
|
size_t r = fc::from_hex( str, d.data(), d.size() );
|
||||||
FC_ASSERT( r == d.size() );
|
FC_ASSERT( r == d.size() );
|
||||||
}
|
}
|
||||||
|
// std::string b64 = base64_decode( var.as_string() );
|
||||||
|
// vo = std::vector<char>( b64.c_str(), b64.c_str() + b64.size() );
|
||||||
}
|
}
|
||||||
|
|
||||||
namespace raw {
|
namespace raw {
|
||||||
|
|
|
||||||
|
|
@ -667,6 +667,18 @@ namespace fc {
|
||||||
return vec;
|
return vec;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
template<typename T, typename... Next>
|
||||||
|
inline std::vector<char> pack( const T& v, Next... next ) {
|
||||||
|
datastream<size_t> ps;
|
||||||
|
fc::raw::pack(ps,v,next...);
|
||||||
|
std::vector<char> vec(ps.tellp());
|
||||||
|
|
||||||
|
if( vec.size() ) {
|
||||||
|
datastream<char*> ds( vec.data(), size_t(vec.size()) );
|
||||||
|
fc::raw::pack(ds,v,next...);
|
||||||
|
}
|
||||||
|
return vec;
|
||||||
|
}
|
||||||
|
|
||||||
template<typename T>
|
template<typename T>
|
||||||
inline T unpack( const std::vector<char>& s, uint32_t _max_depth )
|
inline T unpack( const std::vector<char>& s, uint32_t _max_depth )
|
||||||
|
|
|
||||||
|
|
@ -62,9 +62,6 @@ namespace fc {
|
||||||
template<typename Stream, typename K, typename V> inline void pack( Stream& s, const std::map<K,V>& value, uint32_t _max_depth=FC_PACK_MAX_DEPTH );
|
template<typename Stream, typename K, typename V> inline void pack( Stream& s, const std::map<K,V>& value, uint32_t _max_depth=FC_PACK_MAX_DEPTH );
|
||||||
template<typename Stream, typename K, typename V> inline void unpack( Stream& s, std::map<K,V>& value, uint32_t _max_depth=FC_PACK_MAX_DEPTH );
|
template<typename Stream, typename K, typename V> inline void unpack( Stream& s, std::map<K,V>& value, uint32_t _max_depth=FC_PACK_MAX_DEPTH );
|
||||||
|
|
||||||
//template<typename Stream, typename K, typename... V> inline void pack( Stream& s, const flat_map<K,V...>& value, uint32_t _max_depth=FC_PACK_MAX_DEPTH );
|
|
||||||
//template<typename Stream, typename K, typename V, typename... A> inline void unpack( Stream& s, flat_map<K,V,A...>& value, uint32_t _max_depth=FC_PACK_MAX_DEPTH );
|
|
||||||
|
|
||||||
template<typename Stream, typename K, typename V> inline void pack( Stream& s, const std::pair<K,V>& value, uint32_t _max_depth=FC_PACK_MAX_DEPTH );
|
template<typename Stream, typename K, typename V> inline void pack( Stream& s, const std::pair<K,V>& value, uint32_t _max_depth=FC_PACK_MAX_DEPTH );
|
||||||
template<typename Stream, typename K, typename V> inline void unpack( Stream& s, std::pair<K,V>& value, uint32_t _max_depth=FC_PACK_MAX_DEPTH );
|
template<typename Stream, typename K, typename V> inline void unpack( Stream& s, std::pair<K,V>& value, uint32_t _max_depth=FC_PACK_MAX_DEPTH );
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -312,7 +312,6 @@ namespace fc {
|
||||||
}
|
}
|
||||||
return ss.str();
|
return ss.str();
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace fc
|
} // namespace fc
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue