Ariles
extra_visitors
msgpack
ariles2
visitors
msgpack
writer_compact.h
Go to the documentation of this file.
1
/**
2
@file
3
@author Alexander Sherikov
4
5
@copyright 2014-2017 INRIA. Licensed under the Apache License, Version 2.0.
6
(see @ref LICENSE or http://www.apache.org/licenses/LICENSE-2.0)
7
8
@copyright 2017-2018 Alexander Sherikov, Licensed under the Apache License, Version 2.0.
9
(see @ref LICENSE or http://www.apache.org/licenses/LICENSE-2.0)
10
11
@brief
12
*/
13
14
#pragma once
15
16
namespace
ariles2
17
{
18
namespace
ns_msgpack_compact
19
{
20
namespace
impl
21
{
22
class
ARILES2_VISIBILITY_ATTRIBUTE
Writer
;
23
}
24
25
26
/**
27
* @brief Configuration writer class
28
*/
29
class
ARILES2_VISIBILITY_ATTRIBUTE
Writer
:
public
serialization::PIMPLVisitor
<write::Visitor, impl::Writer>
30
{
31
public
:
32
/**
33
* @brief Constructor
34
*
35
* @param[in] file_name
36
*/
37
explicit
Writer
(
const
std::string &file_name);
38
39
40
/**
41
* @brief Constructor
42
*
43
* @param[out] output_stream
44
*/
45
explicit
Writer
(std::ostream &output_stream);
46
47
48
void
startMap(
const
Parameters &,
const
std::size_t num_entries);
49
50
bool
startIteratedMap
(
const
std::size_t
/*num_entries*/
,
const
Parameters &)
51
{
52
return
(
false
);
53
}
54
55
56
void
flush();
57
58
59
void
startArray(
const
std::size_t size,
const
bool
/*compact*/
=
false
);
60
61
62
#define ARILES2_BASIC_TYPE(type) void writeElement(const type &element, const Parameters ¶m);
63
64
ARILES2_MACRO_SUBSTITUTE
(
ARILES2_BASIC_TYPES_LIST
)
65
66
#undef ARILES2_BASIC_TYPE
67
};
68
}
// namespace ns_msgpack_compact
69
}
// namespace ariles2
ariles2
Definition:
basic.h:16
ARILES2_BASIC_TYPES_LIST
#define ARILES2_BASIC_TYPES_LIST
Definition:
helpers.h:131
ariles2::ns_msgpack_compact::impl::Writer
class ARILES2_VISIBILITY_ATTRIBUTE Writer
Definition:
writer_compact.h:22
ariles2::ns_octave::ARILES2_MACRO_SUBSTITUTE
ARILES2_MACRO_SUBSTITUTE(ARILES2_BASIC_NUMERIC_TYPES_LIST) void Writer
Definition:
writer.cpp:255
ariles2::serialization::PIMPLVisitor
Definition:
serialization.h:121
ariles2::ns_msgpack_compact::Writer::startIteratedMap
bool startIteratedMap(const std::size_t, const Parameters &)
Definition:
writer_compact.h:50
ariles2::ns_msgpack_compact::impl::Writer
Definition:
writer_compact.cpp:23
ARILES2_VISIBILITY_ATTRIBUTE
#define ARILES2_VISIBILITY_ATTRIBUTE
Definition:
helpers.h:138
ariles2::ns_msgpack_compact::Writer
Configuration writer class.
Definition:
writer_compact.h:29
Generated by
1.8.17