32 #ifndef GUM_BIF_XML_BN_WRITER_H 33 #define GUM_BIF_XML_BN_WRITER_H 35 #define TIXML_USE_TICPP 42 #include <agrum/BN/io/BNWriter.h> 43 #include <agrum/agrum.h> 59 template <
typename GUM_SCALAR >
60 class BIFXMLBNWriter:
public BNWriter< GUM_SCALAR > {
75 ~BIFXMLBNWriter() final;
86 void write(std::ostream& output,
const IBayesNet< GUM_SCALAR >& bn) final;
97 void write(
const std::string& filePath,
const IBayesNet< GUM_SCALAR >& bn) final;
103 std::string _heading_(
const IBayesNet< GUM_SCALAR >& bn);
108 std::string _documentend_();
113 std::string _variableBloc_(
const DiscreteVariable& var);
119 std::string _variableDefinition_(
const NodeId& varNodeId,
const IBayesNet< GUM_SCALAR >& bn);
123 #ifndef GUM_NO_EXTERN_TEMPLATE_CLASS 124 extern template class BIFXMLBNWriter<
double >;
129 #include <agrum/BN/io/BIFXML/BIFXMLBNWriter_tpl.h>