Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
rtt
types
StreamFactory.hpp
Go to the documentation of this file.
1
/***************************************************************************
2
tag: Peter Soetens Fri Mar 16 21:32:02 2012 +0100 StreamFactory.hpp
3
4
StreamFactory.hpp - description
5
-------------------
6
begin : Fri Mar 16 2012
7
copyright : (C) 2012 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_STREAM_FACTORY_HPP
40
#define ORO_STREAM_FACTORY_HPP
41
42
#include <ostream>
43
#include <istream>
44
#include "../base/DataSourceBase.hpp"
45
#include <boost/shared_ptr.hpp>
46
#include <string>
47
#include "../rtt-config.h"
48
49
namespace
RTT
50
{
51
namespace
types
52
{
53
54
class
RTT_API
StreamFactory
55
{
56
public
:
57
virtual
~StreamFactory
() {};
58
68
virtual
std::ostream& write(std::ostream& os,
base::DataSourceBase::shared_ptr
in )
const
= 0;
69
74
virtual
std::istream& read(std::istream& os,
base::DataSourceBase::shared_ptr
out )
const
= 0;
75
79
virtual
std::string toString(
base::DataSourceBase::shared_ptr
in )
const
;
80
84
virtual
bool
fromString(
const
std::string& value,
base::DataSourceBase::shared_ptr
out )
const
;
85
90
virtual
bool
isStreamable()
const
= 0;
92
};
93
typedef
boost::shared_ptr<StreamFactory>
StreamFactoryPtr
;
94
}
95
}
96
#endif
RTT::types::StreamFactory
Definition:
StreamFactory.hpp:54
RTT::types::StreamFactory::~StreamFactory
virtual ~StreamFactory()
Definition:
StreamFactory.hpp:57
RTT::types::StreamFactoryPtr
boost::shared_ptr< StreamFactory > StreamFactoryPtr
Definition:
StreamFactory.hpp:93
RTT::base::DataSourceBase::shared_ptr
boost::intrusive_ptr< DataSourceBase > shared_ptr
Definition:
DataSourceBase.hpp:99
RTT
Contains TaskContext, Activity, OperationCaller, Operation, Property, InputPort, OutputPort, Attribute.
Definition:
Activity.cpp:53
rtt
Author(s): RTT Developers
autogenerated on Fri Oct 25 2019 03:59:44