66 #ifndef FMDP_DAT_READER_H 67 #define FMDP_DAT_READER_H 73 #include <agrum/FMDP/fmdp.h> 74 #include <agrum/FMDP/fmdpFactory.h> 75 #include <agrum/FMDP/io/fmdpReader.h> 77 #include <agrum/tools/multidim/implementations/multiDimFunctionGraph.h> 80 #ifndef DOXYGEN_SHOULD_SKIP_THIS 82 # include <agrum/FMDP/io/dat/cocoR/Parser.h> 93 template <
typename GUM_SCALAR >
94 class FMDPDatReader:
public FMDPReader< GUM_SCALAR > {
96 FMDPDatReader(FMDP< GUM_SCALAR >* fmdp,
const std::string& filename);
101 MDPDAT::Scanner& scanner();
104 const std::string& streamName()
const;
128 bool errIsError(Idx i);
130 std::string errMsg(Idx i);
133 void showElegantErrors(std::ostream& o = std::cerr);
136 void showElegantErrorsAndWarnings(std::ostream& o = std::cerr);
139 void showErrorCounts(std::ostream& o = std::cerr);
143 FMDP< GUM_SCALAR >* _fmdp_;
144 FMDPFactory< GUM_SCALAR >* _factory_;
145 MDPDAT::Scanner* _scanner_;
146 MDPDAT::Parser* _parser_;
148 std::string _streamName_;
149 bool _traceScanning_;
158 #ifndef GUM_NO_EXTERN_TEMPLATE_CLASS 159 extern template class FMDPDatReader<
double >;
164 #include <agrum/FMDP/io/dat/fmdpDatReader_tpl.h>