Aller à la documentation de ce fichier.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef LECTEURFICHIER_HPP
00018 #define LECTEURFICHIER_HPP
00019
00020 #include <fstream>
00021 #include <boost/tokenizer.hpp>
00022
00023 namespace bib {
00024 namespace io {
00025
00026 using std::ifstream;
00027 using std::string;
00028 using std::ios;
00029 using boost::tokenizer;
00030 using boost::char_separator;
00031
00032 class LecteurFichier
00033 {
00034 public:
00039 LecteurFichier(const string& cheminFichier);
00040
00044 virtual ~LecteurFichier();
00050 bool asProchaineLigne();
00051
00057 void prochaineLigne(const string& delimiteur = " ");
00058
00064 int lireInt();
00065
00071 int lireIntVidePossible();
00072
00078 string lireString();
00079
00084 string lireStringVidePossible();
00090 bool lireBool();
00091
00096 void allerSection(const string& section);
00097
00098 private:
00099 typedef tokenizer<char_separator<char> > Decoupeur;
00100 ifstream flux;
00101 bool _asProchaineLigne;
00102 Decoupeur::const_iterator iterateur;
00103 Decoupeur::const_iterator end;
00104 #ifndef NDEBUG
00105 string ligne;
00106 int indexLigne;
00107 #endif
00108 };
00109
00110 }
00111 }
00112
00113 #endif // LECTEURFICHIER_H