File indexing completed on 2024-04-06 12:11:41
0001 #ifndef Fireworks_Core_FWItemTVirtualCollectionProxyAccessor_h
0002 #define Fireworks_Core_FWItemTVirtualCollectionProxyAccessor_h
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022 #include <memory>
0023
0024
0025 #include "Fireworks/Core/interface/FWItemAccessorBase.h"
0026
0027
0028 class TVirtualCollectionProxy;
0029
0030 class FWItemTVirtualCollectionProxyAccessor : public FWItemAccessorBase {
0031 public:
0032 FWItemTVirtualCollectionProxyAccessor(const TClass* iType,
0033 std::shared_ptr<TVirtualCollectionProxy> iProxy,
0034 size_t iOffset = 0);
0035 ~FWItemTVirtualCollectionProxyAccessor() override;
0036
0037
0038 const void* modelData(int iIndex) const override;
0039 const void* data() const override;
0040 unsigned int size() const override;
0041 const TClass* modelType() const override;
0042 const TClass* type() const override;
0043
0044 bool isCollection() const override;
0045
0046
0047
0048
0049 void setData(const edm::ObjectWithDict&) override;
0050 void reset() override;
0051
0052 FWItemTVirtualCollectionProxyAccessor(const FWItemTVirtualCollectionProxyAccessor&) = delete;
0053
0054 const FWItemTVirtualCollectionProxyAccessor& operator=(const FWItemTVirtualCollectionProxyAccessor&) =
0055 delete;
0056
0057 private:
0058
0059 const TClass* m_type;
0060 std::shared_ptr<TVirtualCollectionProxy> m_colProxy;
0061 mutable const void* m_data;
0062 size_t m_offset;
0063 };
0064
0065 #endif