20 #ifndef __GENERIC_FILE_H
21 #define __GENERIC_FILE_H
37 template <
typename T>
class MeshFunction;
50 std::string filetype);
56 virtual void read(
Mesh& mesh);
70 virtual void read(
Table& table);
71 virtual void read(std::vector<int>& x);
72 virtual void read(std::vector<std::size_t>& x);
73 virtual void read(std::vector<double>& x);
74 virtual void read(std::map<std::size_t, int>& map);
75 virtual void read(std::map<std::size_t, std::size_t>& map);
76 virtual void read(std::map<std::size_t, double>& map);
77 virtual void read(std::map<std::size_t, std::vector<int>>& array_map);
78 virtual void read(std::map<std::size_t, std::vector<std::size_t>>& array_map);
79 virtual void read(std::map<std::size_t, std::vector<double>>& array_map);
85 virtual void write(
const Mesh& mesh);
96 virtual void write(
const Function& u);
99 virtual void write(
const Mesh& mesh,
double time);
107 virtual void write(
const Table& table);
108 virtual void write(
const std::vector<int>& x);
109 virtual void write(
const std::vector<std::size_t>& x);
110 virtual void write(
const std::vector<double>& x);
111 virtual void write(
const std::map<std::size_t, int>& map);
112 virtual void write(
const std::map<std::size_t, std::size_t>& map);
113 virtual void write(
const std::map<std::size_t, double>& map);
114 virtual void write(
const std::map<std::size_t, std::vector<int>>& array_map);
115 virtual void write(
const std::map<std::size_t,
116 std::vector<std::size_t>>& array_map);
117 virtual void write(
const std::map<std::size_t,
118 std::vector<double>>& array_map);
121 void _write(std::size_t process_number);
124 std::string name()
const
125 {
return _filename; }
129 void read_not_impl(
const std::string
object)
const;
130 void write_not_impl(
const std::string
object)
const;
132 std::string _filename;
133 std::string _filetype;
143 std::size_t counter1;
144 std::size_t counter2;