roadrunner  2.6.0
Fast simulator for SBML models
rrFileName.h
1 #ifndef rrFileNameH
2 #define rrFileNameH
3 #include <string>
4 #include <ostream>
5 #include "rrExporter.h"
6 using std::string;
7 using std::ostream;
8 
9 namespace rr
10 {
11 
16 class RR_DECLSPEC FileName
17 {
18  private:
19  mutable std::string mPathAndName;
20  std::string mPath;
21  std::string mName;
22  void MakeFileString();
23 
24  public:
25  FileName(const std::string& name = "", const std::string& path = "");
26  FileName(const FileName& fN);
27  ~FileName();
28 
29  FileName& operator = (const FileName& fN);
30  FileName& operator = (const std::string& fN);
31  FileName& operator = (const char* fN);
32  bool operator !=(const char* fN);
33  operator std::string();// {return mPathAndName;}
34  bool SetPath(const std::string& path);
35  void SetFileName(const std::string& name);
36  void SetNameAndPath(const std::string& path, const std::string& name);
37  void SetFileNameAndPath(const std::string& name);
38 
39  std::string GetFileName() const;
40  std::string GetPath() const;
41  std::string GetPathAndFileName() const;
42  std::string Get();
43  std::string GetFileNameNoExtension();
44  size_t size();
45 };
46 
47 RR_DECLSPEC std::ostream& operator <<(std::ostream &os, FileName &obj);
50 }
51 #endif