objectFile.hpp
Go to the documentation of this file.
1 /*------------------------------- phasicFlow ---------------------------------
2  O C enter of
3  O O E ngineering and
4  O O M ultiscale modeling of
5  OOOOOOO F luid flow
6 ------------------------------------------------------------------------------
7  Copyright (C): www.cemf.ir
8  email: hamid.r.norouzi AT gmail.com
9 ------------------------------------------------------------------------------
10 Licence:
11  This file is part of phasicFlow code. It is a free software for simulating
12  granular and multiphase flows. You can redistribute it and/or modify it under
13  the terms of GNU General Public License v3 or any other later versions.
14 
15  phasicFlow is distributed to help others in their research in the field of
16  granular and multiphase flows, but WITHOUT ANY WARRANTY; without even the
17  implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
18 
19 -----------------------------------------------------------------------------*/
20 
21 #ifndef __objectFile_hpp__
22 #define __objectFile_hpp__
23 
24 #include "types.hpp"
25 #include "fileSystem.hpp"
26 
27 
28 namespace pFlow
29 {
30 
31 
32 
34 {
35 public:
36 
37  enum readFlag
38  {
42  };
43 
44  enum writeFlag
45  {
48  };
49 
50 protected:
51 
52  // name of the entity
54 
55  // read flag
57 
58  // write flag
60 
61  // local path of entity
63 
64  bool readWriteHeader_ = true;
65 
66 public:
67 
68 
69 
70  // constructors
72  (
73  const word& name
74  );
75 
76 
78  (
79  const word& name,
80  const fileSystem& localPath,
81  const readFlag& rf = READ_NEVER,
82  const writeFlag& wf = WRITE_NEVER,
83  bool rwHeader = true
84  );
85 
86  // copy construct
87  objectFile( const objectFile & src) = default;
88 
89  objectFile( objectFile&& src) = default;
90 
91  objectFile& operator = (const objectFile & rhs) = default;
92 
93  objectFile& operator = (objectFile && rhs) = default;
94 
95  virtual ~objectFile()=default;
96 
97  virtual word name() const
98  {
99  return name_;
100  }
101 
102  virtual fileSystem localPath()const
103  {
104  return localPath_;
105  }
106 
108  {
109  return rFlag_;
110  }
111 
113  {
114  return wFlag_;
115  }
116 
117  bool isReadAlways()const
118  {
119  return rFlag_ == READ_ALWAYS;
120  }
121 
122  bool isReadNever()const
123  {
124  return rFlag_ == READ_NEVER;
125  }
126 
127  bool isReadIfPresent()const
128  {
129  return rFlag_ == READ_IF_PRESENT;
130  }
131 
132  bool isWriteAlways()const
133  {
134  return wFlag_ == WRITE_ALWAYS;
135  }
136 
137  bool isWriteNever()const
138  {
139  return wFlag_ == WRITE_NEVER;
140  }
141 
142  bool readWriteHeader()const
143  {
144  return readWriteHeader_;
145  }
146 
147 };
148 
149 
150 
151 }
152 
153 #endif //__objectFile_hpp__
pFlow::objectFile::~objectFile
virtual ~objectFile()=default
pFlow::objectFile::objectFile
objectFile(const word &name)
Definition: objectFile.cpp:24
types.hpp
pFlow::objectFile::isReadNever
bool isReadNever() const
Definition: objectFile.hpp:122
pFlow::objectFile::isWriteNever
bool isWriteNever() const
Definition: objectFile.hpp:137
pFlow::objectFile::readFlag
readFlag
Definition: objectFile.hpp:37
pFlow::objectFile::isReadAlways
bool isReadAlways() const
Definition: objectFile.hpp:117
pFlow::word
std::string word
Definition: builtinTypes.hpp:63
pFlow::objectFile::localPath_
fileSystem localPath_
Definition: objectFile.hpp:62
pFlow::objectFile::WRITE_ALWAYS
@ WRITE_ALWAYS
Definition: objectFile.hpp:46
pFlow::objectFile::writeFlag
writeFlag
Definition: objectFile.hpp:44
fileSystem.hpp
pFlow
Definition: demComponent.hpp:28
pFlow::objectFile::WRITE_NEVER
@ WRITE_NEVER
Definition: objectFile.hpp:47
pFlow::fileSystem
Definition: fileSystem.hpp:63
pFlow::objectFile::rFlag_
readFlag rFlag_
Definition: objectFile.hpp:56
pFlow::objectFile::operator=
objectFile & operator=(const objectFile &rhs)=default
pFlow::objectFile::READ_ALWAYS
@ READ_ALWAYS
Definition: objectFile.hpp:39
pFlow::objectFile::readWriteHeader
bool readWriteHeader() const
Definition: objectFile.hpp:142
pFlow::objectFile::name
virtual word name() const
Definition: objectFile.hpp:97
pFlow::objectFile
Definition: objectFile.hpp:33
pFlow::objectFile::readWriteHeader_
bool readWriteHeader_
Definition: objectFile.hpp:64
pFlow::objectFile::isWriteAlways
bool isWriteAlways() const
Definition: objectFile.hpp:132
pFlow::objectFile::READ_NEVER
@ READ_NEVER
Definition: objectFile.hpp:40
pFlow::objectFile::isReadIfPresent
bool isReadIfPresent() const
Definition: objectFile.hpp:127
pFlow::objectFile::READ_IF_PRESENT
@ READ_IF_PRESENT
Definition: objectFile.hpp:41
pFlow::objectFile::localPath
virtual fileSystem localPath() const
Definition: objectFile.hpp:102
pFlow::objectFile::name_
word name_
Definition: objectFile.hpp:53
pFlow::objectFile::wFlag
writeFlag wFlag() const
Definition: objectFile.hpp:112
pFlow::objectFile::wFlag_
writeFlag wFlag_
Definition: objectFile.hpp:59
pFlow::objectFile::rFlag
readFlag rFlag() const
Definition: objectFile.hpp:107