@@ -354,14 +354,14 @@ class RNTupleCollectionView {
354
354
355
355
private:
356
356
Internal::RPageSource *fSource ;
357
- RField<RNTupleCardinality<std::uint64_t >> fField ;
357
+ std::unique_ptr< RField<RNTupleCardinality<std::uint64_t >>> fField ; // TODO(jblomer): fix moving RField
358
358
RFieldBase::RValue fValue ;
359
359
360
360
RNTupleCollectionView (DescriptorId_t fieldId, const std::string &fieldName, Internal::RPageSource *source)
361
- : fSource (source), fField (fieldName), fValue (fField . CreateValue())
361
+ : fSource (source), fField (new RField<RNTupleCardinality<std:: uint64_t >>( fieldName)) , fValue (fField -> CreateValue ())
362
362
{
363
- fField . SetOnDiskId (fieldId);
364
- Internal::CallConnectPageSourceOnField (fField , *source);
363
+ fField -> SetOnDiskId (fieldId);
364
+ Internal::CallConnectPageSourceOnField (* fField , *source);
365
365
}
366
366
367
367
static RNTupleCollectionView Create (DescriptorId_t fieldId, Internal::RPageSource *source)
@@ -382,10 +382,10 @@ private:
382
382
DescriptorId_t GetFieldId (std::string_view fieldName)
383
383
{
384
384
auto descGuard = fSource ->GetSharedDescriptorGuard ();
385
- auto fieldId = descGuard->FindFieldId (fieldName, fField . GetOnDiskId ());
385
+ auto fieldId = descGuard->FindFieldId (fieldName, fField -> GetOnDiskId ());
386
386
if (fieldId == kInvalidDescriptorId ) {
387
387
throw RException (R__FAIL (" no field named '" + std::string (fieldName) + " ' in collection '" +
388
- descGuard->GetQualifiedFieldName (fField . GetOnDiskId ()) + " '" ));
388
+ descGuard->GetQualifiedFieldName (fField -> GetOnDiskId ()) + " '" ));
389
389
}
390
390
return fieldId;
391
391
}
@@ -400,15 +400,15 @@ public:
400
400
RNTupleClusterRange GetCollectionRange (NTupleSize_t globalIndex) {
401
401
ClusterSize_t size;
402
402
RClusterIndex collectionStart;
403
- fField . GetCollectionInfo (globalIndex, &collectionStart, &size);
403
+ fField -> GetCollectionInfo (globalIndex, &collectionStart, &size);
404
404
return RNTupleClusterRange (collectionStart.GetClusterId (), collectionStart.GetIndex (),
405
405
collectionStart.GetIndex () + size);
406
406
}
407
407
RNTupleClusterRange GetCollectionRange (RClusterIndex clusterIndex)
408
408
{
409
409
ClusterSize_t size;
410
410
RClusterIndex collectionStart;
411
- fField . GetCollectionInfo (clusterIndex, &collectionStart, &size);
411
+ fField -> GetCollectionInfo (clusterIndex, &collectionStart, &size);
412
412
return RNTupleClusterRange (collectionStart.GetClusterId (), collectionStart.GetIndex (),
413
413
collectionStart.GetIndex () + size);
414
414
}
0 commit comments