extra raw io helpers
This commit is contained in:
parent
323d59b054
commit
057861c608
3 changed files with 13 additions and 2 deletions
|
|
@ -2,6 +2,7 @@
|
|||
#include <fc/fwd.hpp>
|
||||
#include <fc/string.hpp>
|
||||
#include <fc/reflect/typename.hpp>
|
||||
#include <fc/io/raw_fwd.hpp>
|
||||
|
||||
|
||||
namespace fc{
|
||||
|
|
@ -28,7 +29,7 @@ class ripemd160
|
|||
static ripemd160 hash( const T& t )
|
||||
{
|
||||
ripemd160::encoder e;
|
||||
e << t;
|
||||
fc::raw::pack(e,t);
|
||||
return e.result();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
#include <fc/fwd.hpp>
|
||||
#include <fc/string.hpp>
|
||||
#include <fc/platform_independence.hpp>
|
||||
#include <fc/io/raw_fwd.hpp>
|
||||
|
||||
namespace fc
|
||||
{
|
||||
|
|
@ -25,7 +26,7 @@ class sha256
|
|||
static sha256 hash( const T& t )
|
||||
{
|
||||
sha256::encoder e;
|
||||
e << t;
|
||||
fc::raw::pack(e,t);
|
||||
return e.result();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -486,6 +486,15 @@ namespace fc {
|
|||
return tmp;
|
||||
} FC_RETHROW_EXCEPTIONS( warn, "error unpacking ${type}", ("type",fc::get_typename<T>::name() ) ) }
|
||||
|
||||
template<typename T>
|
||||
inline void unpack( const std::vector<char>& s, T& tmp )
|
||||
{ try {
|
||||
if( s.size() ) {
|
||||
datastream<const char*> ds( s.data(), size_t(s.size()) );
|
||||
raw::unpack(ds,tmp);
|
||||
}
|
||||
} FC_RETHROW_EXCEPTIONS( warn, "error unpacking ${type}", ("type",fc::get_typename<T>::name() ) ) }
|
||||
|
||||
template<typename T>
|
||||
inline void pack( char* d, uint32_t s, const T& v ) {
|
||||
datastream<char*> ds(d,s);
|
||||
|
|
|
|||
Loading…
Reference in a new issue