Main MRPT website
>
C++ reference for MRPT 1.4.0
mrpt
utils
metaprogramming_serialization.h
Go to the documentation of this file.
1
/* +---------------------------------------------------------------------------+
2
| Mobile Robot Programming Toolkit (MRPT) |
3
| http://www.mrpt.org/ |
4
| |
5
| Copyright (c) 2005-2016, Individual contributors, see AUTHORS file |
6
| See: http://www.mrpt.org/Authors - All rights reserved. |
7
| Released under BSD License. See details in http://www.mrpt.org/License |
8
+---------------------------------------------------------------------------+ */
9
#pragma once
10
11
namespace
mrpt
12
{
13
namespace
utils
14
{
15
class
CStream;
16
17
namespace
metaprogramming
18
{
19
/** \addtogroup stlext_grp
20
* @{ */
21
22
/** An object for reading objects from a stream, intended for being used in STL algorithms. */
23
struct
ObjectReadFromStream
24
{
25
private
:
26
CStream
*
m_stream
;
27
public
:
28
inline
ObjectReadFromStream
(
mrpt::utils::CStream
*stream) :
m_stream
(stream) { }
29
30
// T can be CSerializablePtr, CSerializable, or any other class implementing ">>"
31
template
<
typename
T>
32
inline
void
operator()
(T &obj) {
33
(*m_stream) >> obj;
34
}
35
};
36
37
/** An object for writing objects to a stream, intended for being used in STL algorithms. */
38
struct
ObjectWriteToStream
39
{
40
private
:
41
CStream
*
m_stream
;
42
public
:
43
inline
ObjectWriteToStream
(
mrpt::utils::CStream
*stream) :
m_stream
(stream) { }
44
45
// T can be CSerializablePtr, CSerializable, or any other class implementing "<<"
46
template
<
typename
T>
47
inline
void
operator()
(
const
T &ptr) {
48
(*m_stream) << ptr;
49
}
50
};
51
52
/** @} */
// end of grouping
53
}
54
}
55
}
56
mrpt::utils::CStream
This base class is used to provide a unified interface to files,memory buffers,..Please see the deriv...
Definition:
CStream.h:39
mrpt
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
Definition:
CParticleFilter.h:17
mrpt::utils::metaprogramming::ObjectReadFromStream
An object for reading objects from a stream, intended for being used in STL algorithms.
Definition:
metaprogramming_serialization.h:24
mrpt::utils::metaprogramming::ObjectReadFromStream::m_stream
CStream * m_stream
Definition:
metaprogramming_serialization.h:26
mrpt::utils::metaprogramming::ObjectReadFromStream::operator()
void operator()(T &obj)
Definition:
metaprogramming_serialization.h:32
mrpt::utils::metaprogramming::ObjectReadFromStream::ObjectReadFromStream
ObjectReadFromStream(mrpt::utils::CStream *stream)
Definition:
metaprogramming_serialization.h:28
mrpt::utils::metaprogramming::ObjectWriteToStream
An object for writing objects to a stream, intended for being used in STL algorithms.
Definition:
metaprogramming_serialization.h:39
mrpt::utils::metaprogramming::ObjectWriteToStream::m_stream
CStream * m_stream
Definition:
metaprogramming_serialization.h:41
mrpt::utils::metaprogramming::ObjectWriteToStream::ObjectWriteToStream
ObjectWriteToStream(mrpt::utils::CStream *stream)
Definition:
metaprogramming_serialization.h:43
mrpt::utils::metaprogramming::ObjectWriteToStream::operator()
void operator()(const T &ptr)
Definition:
metaprogramming_serialization.h:47
Page generated by
Doxygen 1.9.4
for MRPT 1.4.0 SVN: at Thu Aug 4 01:35:14 UTC 2022