Merge commit '845f838'

This commit is contained in:
Daniel Larimer 2016-02-01 18:29:47 -05:00
commit 7278b56452

View file

@ -108,6 +108,11 @@ namespace fc
template<typename T>
void from_variant( const variant& var, std::unordered_set<T>& vo );
template<typename T>
void to_variant( const std::deque<T>& var, variant& vo );
template<typename T>
void from_variant( const variant& var, std::deque<T>& vo );
template<typename T>
void to_variant( const fc::flat_set<T>& var, variant& vo );
template<typename T>
@ -452,6 +457,28 @@ namespace fc
vo.insert( itr->as<T>() );
}
/** @ingroup Serializable */
template<typename T>
void from_variant( const variant& var, std::deque<T>& tmp )
{
const variants& vars = var.get_array();
tmp.clear();
tmp.reserve( vars.size() );
for( auto itr = vars.begin(); itr != vars.end(); ++itr )
tmp.push_back( itr->as<T>() );
}
/** @ingroup Serializable */
template<typename T>
void to_variant( const std::deque<T>& t, variant& v )
{
std::deque<variant> vars(t.size());
for( size_t i = 0; i < t.size(); ++i )
vars[i] = variant(t[i]);
v = std::move(vars);
}
/** @ingroup Serializable */
template<typename T>
void from_variant( const variant& var, std::vector<T>& tmp )
@ -472,6 +499,8 @@ namespace fc
vars[i] = variant(t[i]);
v = std::move(vars);
}
/** @ingroup Serializable */
template<typename A, typename B>
void to_variant( const std::pair<A,B>& t, variant& v )