66 void* data1 =
nullptr,
68 void* data2 =
nullptr,
70 : data1_(data1), size1_(size1), data2_(data2), size2_(size2) {}
76 explicit DataReference(vector<T>& vectorT,
void* data =
nullptr, uint32_t size = 0)
79 static_cast<uint32_t>(sizeof(T) * vectorT.size()),
85 template <
class T,
class U>
89 static_cast<uint32_t>(sizeof(T) * vectorT.size()),
91 static_cast<uint32_t>(sizeof(U) * vectorU.size())) {}
95 template <
class T,
class U>
101 static_cast<uint32_t>(sizeof(U) * vectorU.size())) {}
114 void useRawData(
void* data1, uint32_t size1,
void* data2 =
nullptr, uint32_t size2 = 0);
120 void useVector(vector<T>& vectorT,
void* data =
nullptr, uint32_t size = 0) {
121 data1_ = vectorT.data();
122 size1_ =
static_cast<uint32_t
>(
sizeof(T) * vectorT.size());
131 void useObject(T&
object,
void* data =
nullptr, uint32_t size = 0) {
140 template <
class T,
class U>
142 data1_ = vectorT.data();
143 size1_ =
static_cast<uint32_t
>(
sizeof(T) * vectorT.size());
144 data2_ = vectorU.data();
145 size2_ =
static_cast<uint32_t
>(
sizeof(U) * vectorU.size());
150 template <
class T,
class U>
160 return size1_ + size2_;
166 void copyTo(
void* destination)
const;
Container of data pointers, to tell where to write data when reading a record.
Definition DataReference.h:59
DataReference(vector< T > &vectorT, vector< U > &vectorU)
Definition DataReference.h:86
void useObject(T &object, void *data=nullptr, uint32_t size=0)
Definition DataReference.h:131
int readFrom(FileHandler &file, uint32_t &outReadSize)
Definition DataReference.cpp:41
void useVectors(vector< T > &vectorT, vector< U > &vectorU)
Definition DataReference.h:141
void useObjects(T &object1, U &object2)
Definition DataReference.h:151
void * getDataPtr2() const
Definition DataReference.h:188
DataReference(T &object, void *data=nullptr, uint32_t size=0)
Definition DataReference.h:107
DataReference(T &object, vector< U > &vectorU)
Definition DataReference.h:96
uint32_t getDataSize1() const
Definition DataReference.h:183
uint32_t getSize() const
Definition DataReference.h:159
void * getDataPtr1() const
Definition DataReference.h:178
uint32_t getDataSize2() const
Definition DataReference.h:193
void useVector(vector< T > &vectorT, void *data=nullptr, uint32_t size=0)
Definition DataReference.h:120
DataReference(void *data1=nullptr, uint32_t size1=0, void *data2=nullptr, uint32_t size2=0)
Definition DataReference.h:65
DataReference(vector< T > &vectorT, void *data=nullptr, uint32_t size=0)
Definition DataReference.h:76
void useRawData(void *data1, uint32_t size1, void *data2=nullptr, uint32_t size2=0)
Definition DataReference.cpp:25
void copyTo(void *destination) const
Definition DataReference.cpp:32
Class to abstract VRS file system operations, to enable support for alternate storage methods,...
Definition FileHandler.h:71
Definition AsyncDiskFileChunk.hpp:49