FC Updates from BitShares and myself #21

Closed
nathanielhourt wants to merge 687 commits from dapp-support into latest-fc
Showing only changes of commit ed7eefec67 - Show all commits

View file

@ -15,6 +15,7 @@
#include <fc/optional.hpp>
#include <fc/uint128.hpp>
#include <fc/container/flat_fwd.hpp>
#include <fc/crypto/hex.hpp>
#include <boost/endian/buffers.hpp>
#include <boost/multi_index_container_fwd.hpp>
@ -663,14 +664,14 @@ namespace fc
template<size_t N>
void to_variant( const std::array<char,N>& bi, variant& v, uint32_t max_depth = 1 )
{
to_variant( std::vector<char>( bi.begin(), bi.end() ), v, 1 );
v = variant( to_hex( bi.data(), N ) );
}
template<size_t N>
void from_variant( const variant& v, std::array<char,N>& bi, uint32_t max_depth = 1 )
{
std::vector<char> ve = v.as< std::vector<char> >( 1 );
std::string ve = v.as_string();
if( ve.size() )
memcpy( bi.data(), ve.data(), std::min<size_t>( ve.size(), bi.size() ) );
from_hex( ve, bi.data(), std::min<size_t>( ve.size() / 2, bi.size() ) );
else
memset( bi.data(), 0, bi.size() );
}
@ -678,14 +679,14 @@ namespace fc
template<size_t N>
void to_variant( const std::array<unsigned char,N>& bi, variant& v, uint32_t max_depth = 1 )
{
to_variant( std::vector<char>( bi.begin(), bi.end() ), v, 1 );
v = variant( to_hex( (char*) bi.data(), N ) );
}
template<size_t N>
void from_variant( const variant& v, std::array<unsigned char,N>& bi, uint32_t max_depth = 1 )
{
std::vector<char> ve = v.as< std::vector<char> >( 1 );
std::string ve = v.as_string();
if( ve.size() )
memcpy( bi.data(), ve.data(), std::min<size_t>( ve.size(), bi.size() ) );
from_hex( ve, (char*)bi.data(), std::min<size_t>( ve.size() / 2, bi.size() ) );
else
memset( bi.data(), 0, bi.size() );
}