CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
FileInPath.h
Go to the documentation of this file.
1 #ifndef UTILITIES_GENERAL_FILEINPATH_H
2 #define UTILITIES_GENERAL_FILEINPATH_H
3 //
4 //
5 // V 0.0
6 //
7 #include<string>
8 #include<vector>
9 #include<iosfwd>
11 
14 class FileInPath {
15 public:
17 public:
19  FileInPath(const String & ipath, const String & ifile);
20 
21  // deep copy constructor
22  FileInPath(const FileInPath& rh );
23 
25  FileInPath & operator=(const FileInPath& rh );
26 
28  ~FileInPath();
29 
31  std::ifstream * operator()() { return in.get();}
32 
34  const String & name() const { return file;}
35 
36 private:
37  void init(const String & ipath, const String & ifile);
38 private:
39  static const String semicolon;
40 private:
41  std::vector<String> directories;
44 
45 };
46 
47 #endif // UTILITIES_GENERAL_FILEINPATH_H
X * get() const
Definition: own_ptr.h:83
String file
Definition: FileInPath.h:42
own_ptr< std::ifstream > in
Definition: FileInPath.h:43
FileInPath(const String &ipath, const String &ifile)
constructor
Definition: FileInPath.cc:8
static const String semicolon
Definition: FileInPath.h:39
std::string String
Definition: FileInPath.h:16
FileInPath & operator=(const FileInPath &rh)
and usual operator
Definition: FileInPath.cc:31
std::vector< String > directories
Definition: FileInPath.h:41
const String & name() const
return full name
Definition: FileInPath.h:34
~FileInPath()
destructor
Definition: FileInPath.cc:38
std::ifstream * operator()()
return stream
Definition: FileInPath.h:31
void init(const String &ipath, const String &ifile)
Definition: FileInPath.cc:12