Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
REveDataSimpleProxyBuilderTemplate.hxx
Go to the documentation of this file.
1// @(#)root/eve7:$Id$
2// Authors: Matevz Tadel & Alja Mrak-Tadel: 2020
3
4/*************************************************************************
5 * Copyright (C) 1995-2020, Rene Brun and Fons Rademakers. *
6 * All rights reserved. *
7 * *
8 * For the licensing terms see $ROOTSYS/LICENSE. *
9 * For the list of contributors see $ROOTSYS/README/CREDITS. *
10 *************************************************************************/
11
12#ifndef ROOT7_REveDataProxySimpleBuilderTemplate
13#define ROOT7_REveDataProxySimpleBuilderTemplate
14
16
17
18namespace ROOT {
19namespace Experimental {
20
21template <typename T>
23
24public:
26 {
27 }
28
29protected:
31 void BuildItem(const void *iData, int index, REveElement *itemHolder, const REveViewContext *context) override
32 {
33 if(iData) {
34 BuildItem(*reinterpret_cast<const T*> (iData), index, itemHolder, context);
35 }
36 }
37
38 virtual void BuildItem(const T & /*iData*/, int /*index*/, REveElement * /*itemHolder*/, const REveViewContext * /*context*/)
39 {
40 throw std::runtime_error("virtual Build(const T&, int, REveElement&, const REveViewContext*) not implemented by inherited class.");
41 }
42
44 void BuildItemViewType(const void *iData, int index, REveElement *itemHolder, const std::string& viewType, const REveViewContext *context) override
45 {
46 if(iData) {
47 BuildItemViewType(*reinterpret_cast<const T*> (iData), index, itemHolder, viewType, context);
48 }
49 }
50
51 virtual void BuildItemViewType(const T & /*iData*/, int /*index*/, REveElement * /*itemHolder*/, const std::string& /*viewType*/, const REveViewContext * /*context*/)
52 {
53 throw std::runtime_error("virtual BuildViewType(const T&, int, REveElement&, const REveViewContext*) not implemented by inherited class.");
54 }
55
56private:
58
60};
61
62} // namespace Experimental
63} // namespace ROOT
64
65#endif
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t index
virtual void BuildItemViewType(const T &, int, REveElement *, const std::string &, const REveViewContext *)
void BuildItemViewType(const void *iData, int index, REveElement *itemHolder, const std::string &viewType, const REveViewContext *context) override
const REveDataSimpleProxyBuilderTemplate & operator=(const REveDataSimpleProxyBuilderTemplate &)=delete
REveDataSimpleProxyBuilderTemplate(const REveDataSimpleProxyBuilderTemplate &)=delete
void BuildItem(const void *iData, int index, REveElement *itemHolder, const REveViewContext *context) override
virtual void BuildItem(const T &, int, REveElement *, const REveViewContext *)
virtual void BuildItem(const void *data, int index, REveElement *iCollectionHolder, const REveViewContext *)=0
virtual void BuildItemViewType(const void *data, int index, REveElement *iCollectionHolder, const std::string &viewType, const REveViewContext *)=0
tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tb...