PVData C++  8.0.2
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>
34  PVValueArray<T> & pvTo,
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  */
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  */
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  */
90  PVArray & pvFrom,
93  PVArray & pvTo,
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  */
110  PVArray::shared_pointer const & pvFrom,
116  size_t count);
117 
118 }}
119 
120 
121 #endif /* PVSUBARRAYCOPY_H */
epicsShareFunc bool yajl_parse_helper(std::istream &src, yajl_handle handle)