OpenMesh
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
StoreRestore.hh
1
/*===========================================================================*\
2
* *
3
* OpenMesh *
4
* Copyright (C) 2001-2012 by Computer Graphics Group, RWTH Aachen *
5
* www.openmesh.org *
6
* *
7
*---------------------------------------------------------------------------*
8
* This file is part of OpenMesh. *
9
* *
10
* OpenMesh 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
* OpenMesh 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 OpenMesh. If not, *
31
* see <http://www.gnu.org/licenses/>. *
32
* *
33
\*===========================================================================*/
34
35
/*===========================================================================*\
36
* *
37
* $Revision: 736 $ *
38
* $Date: 2012-10-08 09:30:49 +0200 (Mo, 08 Okt 2012) $ *
39
* *
40
\*===========================================================================*/
41
42
43
//=============================================================================
44
//
45
// Helper Functions for binary reading / writing
46
//
47
//=============================================================================
48
49
#ifndef OPENMESH_STORERESTORE_HH
50
#define OPENMESH_STORERESTORE_HH
51
52
53
//== INCLUDES =================================================================
54
55
#include <stdexcept>
56
#include <OpenMesh/Core/System/config.h>
57
#include <OpenMesh/Core/IO/SR_binary.hh>
58
59
//== NAMESPACES ===============================================================
60
61
namespace
OpenMesh {
62
namespace
IO {
63
64
65
//=============================================================================
66
67
72
73
74
//-----------------------------------------------------------------------------
75
// StoreRestore definitions
76
77
template
<
typename
T>
inline
78
bool
is_streamable
(
void
)
79
{
return
binary< T >::is_streamable
; }
80
81
template
<
typename
T>
inline
82
bool
is_streamable
(
const
T& )
83
{
return
binary< T >::is_streamable
; }
84
85
template
<
typename
T>
inline
86
size_t
size_of
(
const
T& _v )
87
{
return
binary< T >::size_of
(_v); }
88
89
template
<
typename
T>
inline
90
size_t
size_of
(
void
)
91
{
return
binary< T >::size_of
(); }
92
93
template
<
typename
T>
inline
94
size_t
store( std::ostream& _os,
const
T& _v,
bool
_swap=
false
)
95
{
return
binary< T >::store
( _os, _v, _swap ); }
96
97
template
<
typename
T>
inline
98
size_t
restore( std::istream& _is, T& _v,
bool
_swap=
false
)
99
{
return
binary< T >::restore
( _is, _v, _swap ); }
100
102
103
104
//=============================================================================
105
}
// namespace IO
106
}
// namespace OpenMesh
107
//=============================================================================
108
#endif // OPENMESH_MESHREADER_HH defined
109
//=============================================================================
Project
OpenMesh
, © Computer Graphics Group, RWTH Aachen. Documentation generated using
doxygen
.