aGrUM  0.16.0
utils_dir.h
Go to the documentation of this file.
1 
30 #ifndef GUM_DIR_UTILS_H
31 #define GUM_DIR_UTILS_H
32 
33 #include <cstdio>
34 #include <cstdlib>
35 #include <iostream>
36 #include <string>
37 #include <vector>
38 
39 #include <agrum/agrum.h>
40 
41 #ifdef HAVE_UNISTD_H
42 # include <unistd.h>
43 #else
44 # include <agrum/core/mvsc/unistd.h>
45 #endif
46 
47 #ifdef HAVE_DIRENT_H
48 # include <dirent.h>
49 #else
50 # include <agrum/core/mvsc/dirent.h>
51 #endif
52 
53 
54 namespace gum {
55 
62  class Directory {
63  public:
71  static bool isDir(const std::string& path);
72 
76  Directory();
77 
82  Directory(const std::string& directory);
83 
88  Directory(const Directory& dir);
89 
93  ~Directory();
94 
99  bool isValid() const;
100 
105  std::vector< std::string > entries() const;
106 
111  Directory parent() const;
112 
117  std::string path() const;
118 
123  std::string absolutePath() const;
124 
130  Directory& operator=(const Directory& d);
131 
132  private:
134  std::string m_dirName;
135 
137  mutable DIR* m_dirPtr;
138 
139  }; // END CLASS DIRECTORY
140 
141 } // namespace gum
142 
143 #endif // GUM_DIR_UTILS_H
Cross-platform directory utility.
Definition: utils_dir.h:62
std::string m_dirName
The directory path.
Definition: utils_dir.h:134
Directory()
Contructor.
Definition: utils_dir.cpp:40
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
Definition: agrum.h:25
DIR * m_dirPtr
A pointer towards the Directory stream.
Definition: utils_dir.h:137
bool isValid() const
Returns true if directory has been opened, false otherwise.
Definition: utils_dir.cpp:62
Directory & operator=(const Directory &d)
Copy operator.
Definition: utils_dir.cpp:113
~Directory()
Destructor.
Definition: utils_dir.cpp:55
std::string absolutePath() const
Returns directory absolute path.
Definition: utils_dir.cpp:91
std::vector< std::string > entries() const
Return directory content.
Definition: utils_dir.cpp:65
Directory parent() const
Returns directory parent.
Definition: utils_dir.cpp:81
static bool isDir(const std::string &path)
&brief Return true if directory is a valid directory, false otherwise.
Definition: utils_dir.cpp:35
std::string path() const
Returns directory path.
Definition: utils_dir.cpp:88