#pragma once #include #include #include #include #include #include #include namespace fc { namespace bip = boost::interprocess; template void to_variant( const bip::deque< T... >& t, fc::variant& v ) { std::vector vars(t.size()); for( size_t i = 0; i < t.size(); ++i ) { vars[i] = t[i]; } v = std::move(vars); } template void from_variant( const fc::variant& v, bip::deque< T, A... >& d ) { const variants& vars = v.get_array(); d.clear(); d.resize( vars.size() ); for( uint32_t i = 0; i < vars.size(); ++i ) { from_variant( vars[i], d[i] ); } } template void to_variant( const bip::vector< T... >& t, fc::variant& v ) { std::vector vars(t.size()); for( size_t i = 0; i < t.size(); ++i ) { vars[i] = t[i]; } v = std::move(vars); } template void from_variant( const fc::variant& v, bip::vector< T, A... >& d ) { const variants& vars = v.get_array(); d.clear(); d.resize( vars.size() ); for( uint32_t i = 0; i < vars.size(); ++i ) { from_variant( vars[i], d[i] ); } } }