23#include <vrs/VrsExport.h>
68 void* data1 =
nullptr,
70 void* data2 =
nullptr,
72 : data1_(data1), size1_(size1), data2_(data2), size2_(size2) {}
78 explicit DataReference(vector<T>& vectorT,
void* data =
nullptr, uint32_t size = 0)
81 static_cast<uint32_t>(sizeof(T) * vectorT.size()),
87 template <
class T,
class U>
91 static_cast<uint32_t>(sizeof(T) * vectorT.size()),
93 static_cast<uint32_t>(sizeof(U) * vectorU.size())) {}
97 template <
class T,
class U>
103 static_cast<uint32_t>(sizeof(U) * vectorU.size())) {}
116 void useRawData(
void* data1, uint32_t size1,
void* data2 =
nullptr, uint32_t size2 = 0);
122 void useVector(vector<T>& vectorT,
void* data =
nullptr, uint32_t size = 0) {
123 data1_ = vectorT.data();
124 size1_ =
static_cast<uint32_t
>(
sizeof(T) * vectorT.size());
133 void useObject(T&
object,
void* data =
nullptr, uint32_t size = 0) {
142 template <
class T,
class U>
144 data1_ = vectorT.data();
145 size1_ =
static_cast<uint32_t
>(
sizeof(T) * vectorT.size());
146 data2_ = vectorU.data();
147 size2_ =
static_cast<uint32_t
>(
sizeof(U) * vectorU.size());
152 template <
class T,
class U>
162 return size1_ + size2_;
168 void copyTo(
void* destination)
const;
176 int readFrom(
FileHandler& file, uint32_t& outReadSize);
Container of data pointers, to tell where to write data when reading a record.
Definition DataReference.h:61
DataReference(vector< T > &vectorT, vector< U > &vectorU)
Definition DataReference.h:88
void useObject(T &object, void *data=nullptr, uint32_t size=0)
Definition DataReference.h:133
void useVectors(vector< T > &vectorT, vector< U > &vectorU)
Definition DataReference.h:143
void useObjects(T &object1, U &object2)
Definition DataReference.h:153
void * getDataPtr2() const
Definition DataReference.h:190
DataReference(T &object, void *data=nullptr, uint32_t size=0)
Definition DataReference.h:109
DataReference(T &object, vector< U > &vectorU)
Definition DataReference.h:98
uint32_t getDataSize1() const
Definition DataReference.h:185
uint32_t getSize() const
Definition DataReference.h:161
void * getDataPtr1() const
Definition DataReference.h:180
uint32_t getDataSize2() const
Definition DataReference.h:195
void useVector(vector< T > &vectorT, void *data=nullptr, uint32_t size=0)
Definition DataReference.h:122
DataReference(void *data1=nullptr, uint32_t size1=0, void *data2=nullptr, uint32_t size2=0)
Definition DataReference.h:67
DataReference(vector< T > &vectorT, void *data=nullptr, uint32_t size=0)
Definition DataReference.h:78
Class to abstract VRS file system operations, to enable support for alternate storage methods,...
Definition FileHandler.h:75
Definition Compressor.cpp:113