2929#include < unordered_map>
3030
3131namespace ROOT {
32+
3233namespace Experimental {
34+ class RNTupleReader ;
35+ } // namespace Experimental
3336
3437namespace Internal {
3538
@@ -38,13 +41,14 @@ namespace Internal {
3841// / by the number of elements of the first principal column found in the subfields searched by BFS.
3942// / If the field hierarchy is empty on columns, the returned field range is invalid (start and end set to
4043// / kInvalidNTupleIndex). An attempt to use such a field range in RNTupleViewBase::GetFieldRange will throw.
41- ROOT::RNTupleGlobalRange GetFieldRange (const ROOT::RFieldBase &field, const RPageSource &pageSource);
44+ ROOT::RNTupleGlobalRange
45+ GetFieldRange (const ROOT::RFieldBase &field, const ROOT::Experimental::Internal::RPageSource &pageSource);
4246
4347} // namespace Internal
4448
4549// clang-format off
4650/* *
47- \class ROOT::Experimental:: RNTupleViewBase
51+ \class ROOT::RNTupleViewBase
4852\ingroup NTuple
4953\brief An RNTupleView provides read-only access to a single field of an RNTuple
5054
@@ -86,7 +90,8 @@ protected:
8690 ROOT::RNTupleGlobalRange fFieldRange ;
8791 ROOT::RFieldBase::RValue fValue ;
8892
89- static std::unique_ptr<ROOT::RFieldBase> CreateField (ROOT::DescriptorId_t fieldId, Internal::RPageSource &pageSource)
93+ static std::unique_ptr<ROOT::RFieldBase>
94+ CreateField (ROOT::DescriptorId_t fieldId, ROOT::Experimental::Internal::RPageSource &pageSource)
9095 {
9196 std::unique_ptr<ROOT::RFieldBase> field;
9297 {
@@ -151,14 +156,14 @@ public:
151156
152157// clang-format off
153158/* *
154- \class ROOT::Experimental:: RNTupleView
159+ \class ROOT::RNTupleView
155160\ingroup NTuple
156161\brief An RNTupleView for a known type. See RNTupleViewBase.
157162*/
158163// clang-format on
159164template <typename T>
160165class RNTupleView : public RNTupleViewBase <T> {
161- friend class RNTupleReader ;
166+ friend class ROOT ::Experimental:: RNTupleReader;
162167 friend class RNTupleCollectionView ;
163168
164169protected:
@@ -202,14 +207,14 @@ public:
202207
203208// clang-format off
204209/* *
205- \class ROOT::Experimental:: RNTupleView
210+ \class ROOT::RNTupleView
206211\ingroup NTuple
207212\brief An RNTupleView that can be used when the type is unknown at compile time. See RNTupleViewBase.
208213*/
209214// clang-format on
210215template <>
211216class RNTupleView <void > final : public RNTupleViewBase<void > {
212- friend class RNTupleReader ;
217+ friend class ROOT ::Experimental:: RNTupleReader;
213218 friend class RNTupleCollectionView ;
214219
215220protected:
@@ -243,21 +248,22 @@ public:
243248
244249// clang-format off
245250/* *
246- \class ROOT::Experimental:: RNTupleDirectAccessView
251+ \class ROOT::RNTupleDirectAccessView
247252\ingroup NTuple
248253\brief A view variant that provides direct access to the I/O buffers. Only works for mappable fields.
249254*/
250255// clang-format on
251256template <typename T>
252257class RNTupleDirectAccessView {
253- friend class RNTupleReader ;
258+ friend class ROOT ::Experimental:: RNTupleReader;
254259 friend class RNTupleCollectionView ;
255260
256261protected:
257262 ROOT::RField<T> fField ;
258263 ROOT::RNTupleGlobalRange fFieldRange ;
259264
260- static ROOT::RField<T> CreateField (ROOT::DescriptorId_t fieldId, Internal::RPageSource &pageSource)
265+ static ROOT::RField<T>
266+ CreateField (ROOT::DescriptorId_t fieldId, ROOT::Experimental::Internal::RPageSource &pageSource)
261267 {
262268 const auto &desc = pageSource.GetSharedDescriptorGuard ().GetRef ();
263269 const auto &fieldDesc = desc.GetFieldDescriptor (fieldId);
@@ -295,27 +301,28 @@ public:
295301
296302// clang-format off
297303/* *
298- \class ROOT::Experimental:: RNTupleCollectionView
304+ \class ROOT::RNTupleCollectionView
299305\ingroup NTuple
300306\brief A view for a collection, that can itself generate new ntuple views for its nested fields.
301307*/
302308// clang-format on
303309class RNTupleCollectionView {
304- friend class RNTupleReader ;
310+ friend class ROOT ::Experimental:: RNTupleReader;
305311
306312private:
307- Internal::RPageSource *fSource ;
313+ ROOT::Experimental:: Internal::RPageSource *fSource ;
308314 ROOT::RField<RNTupleCardinality<std::uint64_t >> fField ;
309315 ROOT::RFieldBase::RValue fValue ;
310316
311- RNTupleCollectionView (ROOT::DescriptorId_t fieldId, const std::string &fieldName, Internal::RPageSource *source)
317+ RNTupleCollectionView (ROOT::DescriptorId_t fieldId, const std::string &fieldName,
318+ ROOT::Experimental::Internal::RPageSource *source)
312319 : fSource (source), fField (fieldName), fValue (fField .CreateValue())
313320 {
314321 fField .SetOnDiskId (fieldId);
315322 ROOT::Internal::CallConnectPageSourceOnField (fField , *source);
316323 }
317324
318- static RNTupleCollectionView Create (ROOT::DescriptorId_t fieldId, Internal::RPageSource *source)
325+ static RNTupleCollectionView Create (ROOT::DescriptorId_t fieldId, ROOT::Experimental:: Internal::RPageSource *source)
319326 {
320327 std::string fieldName;
321328 {
@@ -405,6 +412,20 @@ public:
405412 }
406413};
407414
415+ namespace Experimental {
416+ // TODO(gparolini): remove before branching ROOT v6.36
417+ template <typename T>
418+ using RNTupleViewBase [[deprecated(" ROOT::Experimental::RNTupleViewBase moved to ROOT::RNTupleViewBase" )]] =
419+ ROOT::RNTupleViewBase<T>;
420+ template <typename T>
421+ using RNTupleView [[deprecated(" ROOT::Experimental::RNTupleView moved to ROOT::RNTupleView" )]] = ROOT::RNTupleView<T>;
422+ template <typename T>
423+ using RNTupleDirectAccessView
424+ [[deprecated(" ROOT::Experimental::RNTupleDirectAccessView moved to ROOT::RNTupleDirectAccessView" )]] =
425+ ROOT::RNTupleDirectAccessView<T>;
426+ using RNTupleCollectionView
427+ [[deprecated(" ROOT::Experimental::RNTupleCollectionView moved to ROOT::RNTupleCollectionView" )]] =
428+ ROOT::RNTupleCollectionView;
408429} // namespace Experimental
409430} // namespace ROOT
410431
0 commit comments