30 void moveAccessor (
unsigned& dataIndex, std::unique_ptr<ColumnAccessorDataArray>& accessorData,
unsigned& sourceIndex, std::unique_ptr<ColumnAccessorDataArray>& sourceData)
32 if (accessorData !=
nullptr)
33 throw std::runtime_error (
"trying to set a columnar accessor that has already been set, overwriting not yet supported");
35 dataIndex = sourceIndex;
40 if (sourceData->selfPtr != &sourceData)
41 throw std::logic_error (
"selfPtr not set correctly");
43 accessorData = std::move (sourceData);
44 accessorData->selfPtr = &accessorData;
45 accessorData->dataIndexPtr = &dataIndex;