// $Id: Directory.h 29 2006-01-09 09:35:50Z peter $ #ifndef _theplu_svnstat_directory_ #define _theplu_svnstat_directory_ #include "Node.h" #include #include namespace theplu{ namespace svnstat{ /// /// Class taking care of directories. /// class Directory : public Node { public: /// /// @brief Constructor /// /// Recursively create a directory tree starting from \a path. All /// entries except explicit directories are treated as File nodes, /// i.e. symbolic links to directories are treated as File /// nodes. This will ensure that the directory structure is a tree /// and double counting of branches is avoided. /// /// @note Nodes named '.', '..', and '.svn' are ignored and not /// traversed. /// Directory(const std::string& path, const std::string& output=""); /// /// @brief Destructor /// ~Directory(void); const Stats& parse(void); void print(const std::string&) const; void purge(void); private: /// /// @brief Copy Constructor, not implemented /// Directory(const Directory&); typedef std::list::iterator NodeIterator; typedef std::list::const_iterator NodeConstIter_; std::list daughters_; }; }} // end of namespace svnstat and namespace theplu #endif