diff --git a/include/fc/interprocess/container.hpp b/include/fc/interprocess/container.hpp index 27359fc..d9b5bfa 100644 --- a/include/fc/interprocess/container.hpp +++ b/include/fc/interprocess/container.hpp @@ -7,6 +7,7 @@ #include #include #include +#include #include @@ -33,6 +34,26 @@ namespace fc { } } + /* bip::flat_map == boost::flat_map + template + void to_variant( const bip::flat_map< K, V, T... >& var, fc::variant& vo ) { + std::vector< variant > vars(var.size()); + size_t i = 0; + for( auto itr = var.begin(); itr != var.end(); ++itr, ++i ) + vars[i] = fc::variant(*itr); + vo = vars; + } + + template + void from_variant( const variant& var, bip::flat_map& vo ) + { + const variants& vars = var.get_array(); + vo.clear(); + for( auto itr = vars.begin(); itr != vars.end(); ++itr ) + vo.insert( itr->as< std::pair >() ); + } + */ + template void to_variant( const bip::vector< T... >& t, fc::variant& v ) { std::vector vars(t.size());