Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
rtt
types
TypeStreamSelector.hpp
Go to the documentation of this file.
1
/***************************************************************************
2
tag: Peter Soetens Fri Jun 10 15:16:01 2011 +0200 TypeStreamSelector.hpp
3
4
TypeStreamSelector.hpp - description
5
-------------------
6
begin : Fri Jun 10 2011
7
copyright : (C) 2011 Peter Soetens
8
email : peter@thesourceworks.com
9
10
***************************************************************************
11
* This library is free software; you can redistribute it and/or *
12
* modify it under the terms of the GNU General Public *
13
* License as published by the Free Software Foundation; *
14
* version 2 of the License. *
15
* *
16
* As a special exception, you may use this file as part of a free *
17
* software library without restriction. Specifically, if other files *
18
* instantiate templates or use macros or inline functions from this *
19
* file, or you compile this file and link it with other files to *
20
* produce an executable, this file does not by itself cause the *
21
* resulting executable to be covered by the GNU General Public *
22
* License. This exception does not however invalidate any other *
23
* reasons why the executable file might be covered by the GNU General *
24
* Public License. *
25
* *
26
* This library is distributed in the hope that it will be useful, *
27
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
28
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
29
* General Public License for more details. *
30
* *
31
* You should have received a copy of the GNU General Public *
32
* License along with this library; if not, write to the Free Software *
33
* Foundation, Inc., 59 Temple Place, *
34
* Suite 330, Boston, MA 02111-1307 USA *
35
* *
36
***************************************************************************/
37
38
39
#ifndef ORO_TYPESTREAMSELECTOR_HPP_
40
#define ORO_TYPESTREAMSELECTOR_HPP_
41
42
#include <ostream>
43
#include <istream>
44
45
46
namespace
RTT
47
{
48
namespace
types {
49
template
<
typename
T,
bool
b_value>
50
struct
TypeStreamSelector
;
51
template
<
typename
T>
52
struct
TypeStreamSelector
<T,true>
53
{
54
static
std::ostream&
write
(std::ostream& os, T
const
& t)
55
{
56
#ifdef OS_HAVE_STREAMS
57
os << t;
58
#endif
59
return
os;
60
}
61
static
std::istream&
read
(std::istream& os, T& t)
62
{
63
#ifdef OS_HAVE_STREAMS
64
os >> t;
65
#endif
66
return
os;
67
}
68
};
69
template
<
typename
T>
70
struct
TypeStreamSelector
<T,false>
71
{
72
static
std::ostream&
write
(std::ostream& os, T)
73
{
74
return
os;
75
}
76
static
std::istream&
read
(std::istream& os, T& )
77
{
78
return
os;
79
}
80
};
81
}
82
}
83
84
#endif
/* ORO_TYPESTREAMSELECTOR_HPP_ */
RTT::types::TypeStreamSelector< T, false >::read
static std::istream & read(std::istream &os, T &)
Definition:
TypeStreamSelector.hpp:76
RTT::types::TypeStreamSelector< T, true >::write
static std::ostream & write(std::ostream &os, T const &t)
Definition:
TypeStreamSelector.hpp:54
RTT::types::TypeStreamSelector< T, true >::read
static std::istream & read(std::istream &os, T &t)
Definition:
TypeStreamSelector.hpp:61
RTT::types::TypeStreamSelector< T, false >::write
static std::ostream & write(std::ostream &os, T)
Definition:
TypeStreamSelector.hpp:72
RTT::types::TypeStreamSelector
Definition:
TypeStreamSelector.hpp:50
RTT
Contains TaskContext, Activity, OperationCaller, Operation, Property, InputPort, OutputPort, Attribute.
Definition:
Activity.cpp:53
rtt
Author(s): RTT Developers
autogenerated on Tue Jun 25 2019 19:33:38