My Project
Actdims.hpp
1 /*
2  Copyright 2019 Equinor ASA.
3 
4  This file is part of the Open Porous Media project (OPM).
5 
6  OPM is free software: you can redistribute it and/or modify
7  it under the terms of the GNU General Public License as published by
8  the Free Software Foundation, either version 3 of the License, or
9  (at your option) any later version.
10 
11  OPM is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  GNU General Public License for more details.
15 
16  You should have received a copy of the GNU General Public License
17  along with OPM. If not, see <http://www.gnu.org/licenses/>.
18 */
19 
20 
21 #ifndef ACTDIMS_HPP_
22 #define ACTDIMS_HPP_
23 
24 #include <cstddef>
25 
26 namespace Opm {
27 
28 class Deck;
29 
30 class Actdims {
31 public:
32  Actdims();
33  explicit Actdims(const Deck& deck);
34 
35  static Actdims serializeObject();
36 
37  std::size_t max_keywords() const;
38  std::size_t max_line_count() const;
39  std::size_t max_characters() const;
40  std::size_t max_conditions() const;
41  std::size_t line_size() const;
42 
43  bool operator==(const Actdims& data) const;
44 
45  template<class Serializer>
46  void serializeOp(Serializer& serializer)
47  {
48  serializer(keywords);
49  serializer(line_count);
50  serializer(characters);
51  serializer(conditions);
52  }
53 
54 private:
55  std::size_t keywords;
56  std::size_t line_count;
57  std::size_t characters;
58  std::size_t conditions;
59 };
60 
61 }
62 
63 #endif
Definition: Actdims.hpp:30
Definition: Deck.hpp:63
Definition: Serializer.hpp:38
This class implements a small container which holds the transmissibility mulitpliers for all the face...
Definition: Exceptions.hpp:29