Ariles
Loading...
Searching...
No Matches
include
ariles2
visitors
prewrite.h
Go to the documentation of this file.
1
/**
2
@file
3
@author Alexander Sherikov
4
5
@copyright 2017-2020 Alexander Sherikov, Licensed under the Apache License, Version 2.0.
6
(see @ref LICENSE or http://www.apache.org/licenses/LICENSE-2.0)
7
8
@brief
9
*/
10
11
#pragma once
12
13
#include "
common.h
"
14
#include "
process.h
"
15
16
/**
17
@defgroup prewrite PreWrite
18
@ingroup process
19
20
@brief Preprocess entries, e.g., pack values before serialization.
21
*/
22
23
namespace
ariles2
24
{
25
/// @ingroup prewrite
26
namespace
prewrite
27
{
28
using
Parameters
=
visitor::Parameters
;
29
30
class
Visitor
:
public
ariles2::process::Visitor
<const prewrite::Visitor, prewrite::Parameters>
31
{
32
};
33
34
using
Base
=
entry::Base<const prewrite::Visitor>
;
35
36
37
#define ARILES2_NAMED_ENTRY_prewrite(v, entry, name) visitor.visitMapEntry(entry, #name, parameters);
38
#define ARILES2_PARENT_prewrite(v, entry)
39
#define ARILES2_VISIT_prewrite \
40
template <class t_Visitor>
/* cppcheck-suppress duplInheritedMember */
\
41
void arilesVisit( \
42
const t_Visitor &visitor, \
43
const typename t_Visitor::Parameters ¶meters, \
44
ARILES2_IS_BASE_ENABLER(ariles2::prewrite::Visitor, t_Visitor)) \
45
{ \
46
CPPUT_TRACE_FUNCTION; \
47
CPPUT_UNUSED_ARG(visitor); \
48
CPPUT_UNUSED_ARG(parameters); \
49
arilesVisitParents(visitor, parameters); \
50
ARILES2_ENTRIES(prewrite) \
51
}
52
53
#define ARILES2_METHODS_prewrite ARILES2_METHODS(prewrite, const, ARILES2_EMPTY_MACRO)
54
#define ARILES2_BASE_METHODS_prewrite ARILES2_BASE_METHODS(prewrite)
55
}
// namespace prewrite
56
57
58
/// @ingroup prewrite
59
using
PreWrite
=
prewrite::Visitor
;
60
}
// namespace ariles2
ariles2::entry::Base
Definition
common.h:87
ariles2::prewrite::Visitor
Definition
prewrite.h:31
ariles2::process::Visitor
Definition
process.h:27
ariles2::visitor::Parameters
Definition
common.h:24
common.h
ariles2
Definition
basic.h:17
process.h
Generated by
1.9.8