DOLFIN
DOLFIN C++ interface
XMLVector.h
1 // Copyright (C) 2011 Garth N. Wells
2 //
3 // This file is part of DOLFIN.
4 //
5 // DOLFIN is free software: you can redistribute it and/or modify
6 // it under the terms of the GNU Lesser General Public License as published by
7 // the Free Software Foundation, either version 3 of the License, or
8 // (at your option) any later version.
9 //
10 // DOLFIN is distributed in the hope that it will be useful,
11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 // GNU Lesser General Public License for more details.
14 //
15 // You should have received a copy of the GNU Lesser General Public License
16 // along with DOLFIN. If not, see <http://www.gnu.org/licenses/>.
17 //
18 // First added: 2003-07-15
19 // Last changed: 2006-05-23
20 
21 #ifndef __XMLVECTOR_H
22 #define __XMLVECTOR_H
23 
24 #include <ostream>
25 #include <vector>
26 
27 namespace pugi
28 {
29  class xml_node;
30 }
31 
32 namespace dolfin
33 {
34 
35  class FunctionSpace;
36  class GenericVector;
37 
39 
40  class XMLVector
41  {
42  public:
43 
45  static void read(GenericVector& x, const pugi::xml_node xml_dolfin);
46 
48  static void read(std::vector<double>& x,
49  std::vector<dolfin::la_index>& indices,
50  const pugi::xml_node xml_dolfin);
51 
53  static std::size_t read_size(const pugi::xml_node xml_dolfin);
54 
56  static void write(const GenericVector& vector, pugi::xml_node xml_node,
57  bool write_to_stream);
58 
59 
60  };
61 
62 }
63 
64 #endif
Definition: adapt.h:29
Definition: VTKFile.h:27
This class defines a common interface for vectors.
Definition: GenericVector.h:47
I/O of XML representation of GenericVector.
Definition: XMLVector.h:40