OpenVolumeMesh
Toggle main menu visibility
Loading...
Searching...
No Matches
Serializers.hh
1
/*===========================================================================*\
2
* *
3
* OpenVolumeMesh *
4
* Copyright (C) 2011 by Computer Graphics Group, RWTH Aachen *
5
* www.openvolumemesh.org *
6
* *
7
*---------------------------------------------------------------------------*
8
* This file is part of OpenVolumeMesh. *
9
* *
10
* OpenVolumeMesh is free software: you can redistribute it and/or modify *
11
* it under the terms of the GNU Lesser General Public License as *
12
* published by the Free Software Foundation, either version 3 of *
13
* the License, or (at your option) any later version with the *
14
* following exceptions: *
15
* *
16
* If other files instantiate templates or use macros *
17
* or inline functions from this file, or you compile this file and *
18
* link it with other files to produce an executable, this file does *
19
* not by itself cause the resulting executable to be covered by the *
20
* GNU Lesser General Public License. This exception does not however *
21
* invalidate any other reasons why the executable file might be *
22
* covered by the GNU Lesser General Public License. *
23
* *
24
* OpenVolumeMesh is distributed in the hope that it will be useful, *
25
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
26
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
27
* GNU Lesser General Public License for more details. *
28
* *
29
* You should have received a copy of the GNU LesserGeneral Public *
30
* License along with OpenVolumeMesh. If not, *
31
* see <http://www.gnu.org/licenses/>. *
32
* *
33
\*===========================================================================*/
34
35
/*===========================================================================*\
36
* *
37
* $Revision: 236 $ *
38
* $Date: 2013-02-19 12:32:33 +0100 (Tue, 19 Feb 2013) $ *
39
* $LastChangedBy: kremer $ *
40
* *
41
\*===========================================================================*/
42
43
44
#ifndef SERIALIZERS_HH
45
#define SERIALIZERS_HH
46
47
#include <iostream>
48
#include <map>
49
#include <vector>
50
51
#include <sstream>
52
#include <string>
53
54
#include <iterator>
55
56
namespace
OpenVolumeMesh
57
{
58
59
template
<
typename
ValueT>
60
std::ostream& serialize(std::ostream& os,
const
ValueT& rhs);
61
62
std::ostream& serialize(std::ostream& os,
const
std::string& rhs);
63
64
template
<
typename
ValueT>
65
std::istream& deserialize(std::istream& is, ValueT& rhs);
66
67
std::istream& deserialize(std::istream& is, std::string& rhs);
68
69
template
<
typename
KeyT,
typename
ValueT>
70
std::ostream& operator<<(std::ostream& os,
const
std::map< KeyT, ValueT >& rhs);
71
72
template
<
typename
KeyT,
typename
ValueT>
73
std::istream& operator>>(std::istream& is, std::map< KeyT, ValueT >& rhs);
74
75
template
<
typename
ValueT>
76
std::ostream& operator<<(std::ostream& os,
const
std::vector< ValueT >& rhs);
77
78
template
<
typename
ValueT>
79
std::istream& operator>>(std::istream& is, std::vector< ValueT >& rhs);
80
81
std::istream& operator>>(std::istream& is, std::vector< bool >& rhs);
82
83
}
84
85
#if defined(INCLUDE_TEMPLATES) && !defined(SERIALIZERST_CC)
86
#include "SerializersT.cc"
87
#endif
88
89
#endif
// SERIALIZERS_HH
Project
OpenVolumeMesh
, Computer Graphics Group Aachen,
RWTH Aachen