IOLink 1.16.1
Loading...
Searching...
No Matches
RegionCopier.h
1#pragma once
2
3#include <iolink/IOLinkAPI.h>
4#include <iolink/Indexer.h>
5#include <iolink/Region.h>
6#include <iolink/Vector.h>
7#include <iolink/storage/RandomAccess.h>
8#include <memory>
9
10namespace iolink
11{
12
13class InternalRegionCopier;
14
36class IOLINK_API RegionCopier final
37{
38public:
59 [[deprecated(
60 "Use RegionCopier(const Indexer& srcIndexer, const Indexer & dstIndexer, const VectorXu64 & srcOrigin, const "
61 "VectorXu64 & dstOrigin, const VectorXu64 & regionSize) instead.")]] RegionCopier(const Indexer& srcIndexer,
62 const Indexer& dstIndexer,
63 const VectorXu64& srcOrigin,
64 const VectorXu64& dstOrigin,
65 const VectorXu64& regionSize,
66 DataType dataType);
67
79 RegionCopier(const Indexer& srcIndexer,
80 const Indexer& dstIndexer,
81 const VectorXu64& srcOrigin,
82 const VectorXu64& dstOrigin,
83 const VectorXu64& regionSize);
84
103 [[deprecated("Use RegionCopier(const Indexer& srcindexer, const RegionXu64& srcRegion) instead.")]] RegionCopier(
104 const Indexer& srcindexer, const RegionXu64& srcRegion, DataType dataType);
105
116 RegionCopier(const Indexer& srcindexer, const RegionXu64& srcRegion);
117
136 [[deprecated("Use RegionCopier(const RegionXu64& dstRegion, const Indexer& dstIndexer) instead.")]] RegionCopier(
137 const RegionXu64& dstRegion, const Indexer& dstIndexer, DataType dataType);
138
150 RegionCopier(const RegionXu64& dstRegion, const Indexer& dstIndexer);
151
157
163
168
175 void copy(const uint8_t* src, uint8_t* dst);
176
183 void copy(std::shared_ptr<RandomAccess> src, uint8_t* dst);
184
191 void copy(const uint8_t* src, std::shared_ptr<RandomAccess> dst);
192
193private:
194 InternalRegionCopier* m_impl;
195};
196
197} // end namespace iolink