Come serializzare il tipo boost :: labeled_graph
-
28-10-2019 - |
Domanda
Ho una spinta: il tipo di oggetto labeled_graph che non sembra avere le funzioni necessarie per la serializzazione.
error: ‘class boost::labeled_graph<boost::adjacency_list<boost::listS, boost::listS,
boost::undirectedS, Space, spaceEdge, graphProperties, boost::listS>, std::basic_string<char,
std::char_traits<char>, std::allocator<char> >, boost::defaultS>’ has no member named
‘serialize’
Qualche modo per serializzare labeled_graph in file?
Soluzione
Non l'ho mai visto prima, ma labeled_graph
sembra unthin wrapper attorno a un altro grafico di tua scelta, in questo caso hai scelto adjacency_list
dall'aspetto di quell'errore.C'è un supporto potenziato per la serializzazione degli elenchi di adiacenza tramite <graph/adj_list_serialize.hpp>
, quindi sembra che tu possa usare serializzazione di funzioni gratuite abbastanza sensata con questo, qualcosa come:
template<class Archive>
inline void serialize(
Archive & ar,
my_grap_typedef & g,
const unsigned int /*file_version*/
){
ar & g.graph()
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow