aGrUM  0.16.0
BIFXMLIDWriter.h
Go to the documentation of this file.
1 
32 #ifndef GUM_BIF_XML_ID_WRITER_H
33 #define GUM_BIF_XML_ID_WRITER_H
34 
35 #define TIXML_USE_TICPP
36 
37 #include <fstream>
38 #include <iostream>
39 #include <sstream>
40 #include <string>
41 
42 #include <agrum/ID/io/IDWriter.h>
43 #include <agrum/agrum.h>
44 
45 namespace gum {
46 
58  template < typename GUM_SCALAR >
59 
60  class BIFXMLIDWriter : public IDWriter< GUM_SCALAR > {
61  public:
62  // ==========================================================================
64  // ==========================================================================
66 
71 
75  virtual ~BIFXMLIDWriter();
76 
78 
86  virtual void write(std::ostream& output,
87  const InfluenceDiagram< GUM_SCALAR >& infdiag);
88 
98  virtual void write(std::string filePath,
99  const InfluenceDiagram< GUM_SCALAR >& infdiag);
100 
101  private:
105  std::string __heading();
106 
110  std::string __documentend();
111 
115  std::string __variableBloc(const DiscreteVariable& var, int nodeType);
116 
121  std::string
122  __variableDefinition(const NodeId& varNodeId,
123  const InfluenceDiagram< GUM_SCALAR >& infdiag);
124  };
125 } /* namespace gum */
126 
128 #endif // GUM_BIF_XML_ID_WRITER_H
Writes an influence diagram in a XML files with BIF formatThis class export an influence diagram into...
Base class for discrete random variable.
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
Definition: agrum.h:25
Pure virtual class for exporting an ID.
Definition: IDWriter.h:51
std::string __documentend()
Returns the end of the BIF file.
BIFXMLIDWriter()
Default constructor.
virtual void write(std::ostream &output, const InfluenceDiagram< GUM_SCALAR > &infdiag)
Writes an influence diagram in the given ouput stream.
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
virtual ~BIFXMLIDWriter()
Destructor.
Size NodeId
Type for node ids.
Definition: graphElements.h:98
std::string __variableBloc(const DiscreteVariable &var, int nodeType)
Returns a bloc defining a variable in the BIF format.
std::string __variableDefinition(const NodeId &varNodeId, const InfluenceDiagram< GUM_SCALAR > &infdiag)
Returns a bloc defining a variable&#39;s table (if she has) in the BIF format.
std::string __heading()
Returns the header of the BIF file.
Class representing an Influence Diagram.