Logo ROOT  
Reference Guide
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 Build(const void *iData, int index, REveElement *itemHolder, const REveViewContext *context) override
32 {
33 if(iData) {
34 Build(*reinterpret_cast<const T*> (iData), index, itemHolder, context);
35 }
36 }
37
38 virtual void Build(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 BuildViewType(const void *iData, int index, REveElement *itemHolder, const std::string& viewType, const REveViewContext *context) override
45 {
46 if(iData) {
47 BuildViewType(*reinterpret_cast<const T*> (iData), index, itemHolder, viewType, context);
48 }
49 }
50
51 virtual void BuildViewType(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
void Build(const void *iData, int index, REveElement *itemHolder, const REveViewContext *context) override
REveDataSimpleProxyBuilderTemplate(const REveDataSimpleProxyBuilderTemplate &)
virtual void BuildViewType(const T &, int, REveElement *, const std::string &, const REveViewContext *)
virtual void Build(const T &, int, REveElement *, const REveViewContext *)
void BuildViewType(const void *iData, int index, REveElement *itemHolder, const std::string &viewType, const REveViewContext *context) override
const REveDataSimpleProxyBuilderTemplate & operator=(const REveDataSimpleProxyBuilderTemplate &)
void BuildViewType(const REveDataCollection *iCollection, REveElement *product, const std::string &viewType, const REveViewContext *) override
double T(double x)
Definition: ChebyshevPol.h:34
tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tb...