00001 00009 #ifndef eleve_facilities_hpp 00010 #define eleve_facilities_hpp 00011 00012 #include "eleve/config.hpp" 00013 00014 #include <set> 00015 00016 #include <boost/filesystem/path.hpp> 00017 #include <boost/regex.hpp> 00018 00019 namespace eepgwde { 00020 00021 namespace detail { 00022 using namespace std; 00023 using namespace boost; 00024 00025 namespace fs = boost::filesystem; 00026 00033 00035 00036 struct Facilities { 00037 class Impl; 00038 friend class Impl; 00039 00044 int files(std::insert_iterator< std::set<fs::path> > set_, 00045 fs::path dir_, boost::regex re) const; 00046 00048 int files(std::insert_iterator< std::set<fs::path> > set_) const; 00049 00050 std::vector<std::string> readlines(std::istream &is) const 00051 throw (std::exception); 00052 00053 std::vector<std::string> readlines(const fs::path & s) const 00054 throw (std::exception); 00055 00056 protected: 00057 Facilities() throw(std::exception); 00058 virtual ~Facilities() throw(std::exception); 00059 const boost::shared_ptr<eepgwde::detail::Facilities::Impl> impl; 00060 }; 00061 } 00062 00064 00065 } 00066 00067 #endif 00068 00069 00070