#pragma once #include #include class DirWalk { public: DirWalk(const std::string& DirName); ~DirWalk(); // noncopyable, nonmovable. DirWalk(const DirWalk&) = delete; DirWalk& operator = (const DirWalk&) = delete; DirWalk(DirWalk&&) = delete; DirWalk& operator = (DirWalk&&) = delete; bool isReady() const; int next(std::string& name, bool& is_dir); std::string getroot() const; private: struct _impl; _impl* _p; };