PVData C++
8.0.2
pv
pvSubArrayCopy.h
1
/* pvSubArrayCopy.h */
2
/*
3
* Copyright information and license terms for this software can be
4
* found in the file LICENSE that is included with the distribution
5
*/
6
/**
7
* @author Marty Kraimer
8
* @date 2013.07
9
*/
10
#
ifndef
PVSUBARRAYCOPY_H
11
#
define
PVSUBARRAYCOPY_H
12
13
#
include
<
pv
/
pvData
.
h
>
14
15
#
include
<
shareLib
.
h
>
16
17
namespace
epics {
namespace
pvData
{
18
19
/** @brief Copy a subarray from one scalar array to another.
20
* @warning The two scalar arrays must both be PVValueArrays of the same type.
21
* @param pvFrom The source array.
22
* @param fromOffset The offset in the source.
23
* @param fromStride The interval between elements in pvFrom.
24
* @param pvTo The destination array.
25
* @param toOffset The offset in the destination.
26
* @param toStride The interval between elements in pvTo.
27
* @param count The total number of elements to copy from pvFrom to pvTo.
28
*/
29
template
<
typename
T
>
30
epicsShareExtern
void
copy
(
31
PVValueArray
<
T
> &
pvFrom
,
32
size_t
fromOffset
,
33
size_t
fromStride
,
34
PVValueArray
<
T
> &
pvTo
,
35
size_t
toOffset
,
36
size_t
toStride
,
37
size_t
count
);
38
39
/** @brief Copy a subarray from one scalar array to another.
40
* @warning The two scalar arrays must both be PVValueArrays of the same type.
41
* @param pvFrom The source array.
42
* @param fromOffset The offset in the source.
43
* @param fromStride The interval between elements in pvFrom.
44
* @param pvTo The destination array.
45
* @param toOffset The offset in the destination.
46
* @param toStride The interval between elements in pvTo.
47
* @param count The total number of elements to copy from pvFrom to pvTo.
48
*/
49
epicsShareExtern
void
copy
(
50
PVScalarArray
&
pvFrom
,
51
size_t
fromOffset
,
52
size_t
fromStride
,
53
PVScalarArray
&
pvTo
,
54
size_t
toOffset
,
55
size_t
toStride
,
56
size_t
count
);
57
58
/** @brief Copy a subarray from one structure array to another.
59
* @warning The two structure arrays must have the same
60
* structure introspection interface.
61
* @param pvFrom The source array.
62
* @param fromOffset The offset in the source.
63
* @param fromStride The interval between elements in pvFrom.
64
* @param pvTo The destination array.
65
* @param toOffset The offset in the destination.
66
* @param toStride The interval between elements in pvTo.
67
* @param count The total number of elements to copy from pvFrom to pvTo.
68
*/
69
epicsShareExtern
void
copy
(
70
PVStructureArray
&
pvFrom
,
71
size_t
fromOffset
,
72
size_t
fromStride
,
73
PVStructureArray
&
pvTo
,
74
size_t
toOffset
,
75
size_t
toStride
,
76
size_t
count
);
77
78
/** @brief Copy a subarray from one array to another.
79
* @warning The two arrays must have the same
80
* introspection interface.
81
* @param pvFrom The source array.
82
* @param fromOffset The offset in the source.
83
* @param fromStride The interval between elements in pvFrom.
84
* @param pvTo The destination array.
85
* @param toOffset The offset in the destination.
86
* @param toStride The interval between elements in pvTo.
87
* @param count The total number of elements to copy from pvFrom to pvTo.
88
*/
89
epicsShareExtern
void
copy
(
90
PVArray
&
pvFrom
,
91
size_t
fromOffset
,
92
size_t
fromStride
,
93
PVArray
&
pvTo
,
94
size_t
toOffset
,
95
size_t
toStride
,
96
size_t
count
);
97
98
/** @brief Copy a subarray from one array to another.
99
* @warning The two arrays must have the same
100
* introspection interface.
101
* @param pvFrom The source array.
102
* @param fromOffset The offset in the source.
103
* @param fromStride The interval between elements in pvFrom.
104
* @param pvTo The destination array.
105
* @param toOffset The offset in the destination.
106
* @param toStride The interval between elements in pvTo.
107
* @param count The total number of elements to copy from pvFrom to pvTo.
108
*/
109
epicsShareExtern
void
copy
(
110
PVArray
::
shared_pointer
const
&
pvFrom
,
111
size_t
fromOffset
,
112
size_t
fromStride
,
113
PVArray
::
shared_pointer
&
pvTo
,
114
size_t
toOffset
,
115
size_t
toStride
,
116
size_t
count
);
117
118
}}
119
120
121
#
endif
/* PVSUBARRAYCOPY_H */
epics::pvData::yajl_parse_helper
epicsShareFunc bool yajl_parse_helper(std::istream &src, yajl_handle handle)
Generated on Sat Jul 11 2020 19:33:58 for PVData C++ by
1.8.13