Fabcoin Core
0.16.2
P2P Digital Currency
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
src
cryptopp
fltrimpl.h
Go to the documentation of this file.
1
#ifndef CRYPTOPP_FLTRIMPL_H
2
#define CRYPTOPP_FLTRIMPL_H
3
4
#if CRYPTOPP_MSC_VERSION
5
# pragma warning(push)
6
# pragma warning(disable: 4100)
7
#endif
8
9
#if CRYPTOPP_GCC_DIAGNOSTIC_AVAILABLE
10
# pragma GCC diagnostic push
11
# pragma GCC diagnostic ignored "-Wunused-value"
12
#endif
13
14
#define FILTER_BEGIN \
15
switch (m_continueAt) \
16
{ \
17
case 0: \
18
m_inputPosition = 0;
19
20
#define FILTER_END_NO_MESSAGE_END_NO_RETURN \
21
break; \
22
default: \
23
CRYPTOPP_ASSERT(false); \
24
}
25
26
#define FILTER_END_NO_MESSAGE_END \
27
FILTER_END_NO_MESSAGE_END_NO_RETURN \
28
return 0;
29
30
/*
31
#define FILTER_END \
32
case -1: \
33
if (messageEnd && Output(-1, NULL, 0, messageEnd, blocking)) \
34
return 1; \
35
FILTER_END_NO_MESSAGE_END
36
*/
37
38
#define FILTER_OUTPUT3(site, statement, output, length, messageEnd, channel) \
39
{\
40
case site: \
41
statement; \
42
if (Output(site, output, length, messageEnd, blocking, channel)) \
43
return STDMAX(size_t(1), length-m_inputPosition);\
44
}
45
46
#define FILTER_OUTPUT2(site, statement, output, length, messageEnd) \
47
FILTER_OUTPUT3(site, statement, output, length, messageEnd, DEFAULT_CHANNEL)
48
49
#define FILTER_OUTPUT(site, output, length, messageEnd) \
50
FILTER_OUTPUT2(site, 0, output, length, messageEnd)
51
52
#define FILTER_OUTPUT_BYTE(site, output) \
53
FILTER_OUTPUT(site, &(const byte &)(byte)output, 1, 0)
54
55
#define FILTER_OUTPUT2_MODIFIABLE(site, statement, output, length, messageEnd) \
56
{\
57
case site: \
58
statement; \
59
if (OutputModifiable(site, output, length, messageEnd, blocking)) \
60
return STDMAX(size_t(1), length-m_inputPosition);\
61
}
62
63
#define FILTER_OUTPUT_MODIFIABLE(site, output, length, messageEnd) \
64
FILTER_OUTPUT2_MODIFIABLE(site, 0, output, length, messageEnd)
65
66
#define FILTER_OUTPUT2_MAYBE_MODIFIABLE(site, statement, output, length, messageEnd, modifiable) \
67
{\
68
case site: \
69
statement; \
70
if (modifiable ? OutputModifiable(site, output, length, messageEnd, blocking) : Output(site, output, length, messageEnd, blocking)) \
71
return STDMAX(size_t(1), length-m_inputPosition);\
72
}
73
74
#define FILTER_OUTPUT_MAYBE_MODIFIABLE(site, output, length, messageEnd, modifiable) \
75
FILTER_OUTPUT2_MAYBE_MODIFIABLE(site, 0, output, length, messageEnd, modifiable)
76
77
#if CRYPTOPP_MSC_VERSION
78
# pragma warning(pop)
79
#endif
80
81
#if CRYPTOPP_GCC_DIAGNOSTIC_AVAILABLE
82
# pragma GCC diagnostic pop
83
#endif
84
85
#endif
Generated on Mon Oct 22 2018 15:15:31 for Fabcoin Core by
1.8.11