Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
RLevelIter.hxx
Go to the documentation of this file.
1/*************************************************************************
2 * Copyright (C) 1995-2020, Rene Brun and Fons Rademakers. *
3 * All rights reserved. *
4 * *
5 * For the licensing terms see $ROOTSYS/LICENSE. *
6 * For the list of contributors see $ROOTSYS/README/CREDITS. *
7 *************************************************************************/
8
9#ifndef ROOT7_Browsable_RLevelIter
10#define ROOT7_Browsable_RLevelIter
11
12#include <memory>
13#include <string>
14
15namespace ROOT {
16namespace Experimental {
17namespace Browsable {
18
19class RElement;
20class RItem;
21
22/** \class RLevelIter
23\ingroup rbrowser
24\brief Iterator over single level hierarchy like any array, keys list, ...
25\author Sergey Linev <S.Linev@gsi.de>
26\date 2019-10-14
27\warning This is part of the ROOT 7 prototype! It will change without notice. It might trigger earthquakes. Feedback is welcome!
28*/
29
31public:
32 virtual ~RLevelIter() = default;
33
34 /** Shift to next entry */
35 virtual bool Next() = 0;
36
37 /** Returns current entry name */
38 virtual std::string GetItemName() const = 0;
39
40 /** Returns true if current item can have childs */
41 virtual bool CanItemHaveChilds() const { return false; }
42
43 /** Create RElement for current entry - may take much time to load object or open file */
44 virtual std::shared_ptr<RElement> GetElement() = 0;
45
46 virtual std::unique_ptr<RItem> CreateItem();
47
48 virtual bool Find(const std::string &name, int indx = -1);
49
50};
51
52
53} // namespace Browsable
54} // namespace Experimental
55} // namespace ROOT
56
57#endif
char name[80]
Definition TGX11.cxx:110
Iterator over single level hierarchy like any array, keys list, ...
virtual bool Next()=0
Shift to next entry.
virtual std::unique_ptr< RItem > CreateItem()
Create generic description item for RBrowser.
virtual bool Find(const std::string &name, int indx=-1)
Find item with specified name Default implementation, should work for all If index specified,...
virtual std::shared_ptr< RElement > GetElement()=0
Create RElement for current entry - may take much time to load object or open file.
virtual std::string GetItemName() const =0
Returns current entry name
virtual bool CanItemHaveChilds() const
Returns true if current item can have childs.
tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tb...