IIndexMapSet.hpp
1 #pragma once
2 
3 
4 #include "DM/config.hpp"
5 #include "DM/IIndexMap.hpp"
6 #include "DM/Iterator.hpp"
7 
8 DM_NAMESPACE_BEGIN
9 
10 /// \brief Interface to a set of index map objects
11 class DM_API IIndexMapSet : public ObjectBase
12 {
13 public:
14  // Iterator typedefs ============================================================================
16 
17  virtual ~IIndexMapSet() {}
18 
19  // General member functions ====================================================================
20  virtual int64_t size() const = 0; ///< size of index map set
21 
22  virtual IIndexMap& operator[](const int id) = 0; ///< access index map
23  virtual const IIndexMap& operator[](const int id) const = 0; ///< const access index map
24 
25  virtual const_iterator beginIndexMap() const = 0;
26  virtual const_iterator endIndexMap() const = 0;
27 };
28 
30 
31 DM_NAMESPACE_END
Definition: Iterator.hpp:96
Interface to a set of index map objects.
Definition: IIndexMapSet.hpp:11
Interface to a set of histograms.
Definition: IIndexMap.hpp:10
Smart pointer class using reference counting with support for DM objects (see ObjectBase)
Definition: Handle.hpp:75
Definition: M/c++_api/inc/DM/ObjectBase.hpp:8