Nymph  v1.5.2
Flow-Based Data Processing Framework
KTCutResult.hh
Go to the documentation of this file.
1 /*
2  * KTCutResult.hh
3  *
4  * Created on: Sept 19, 2014
5  * Author: nsoblath
6  */
7 
8 #ifndef KTCUTRESULT_HH_
9 #define KTCUTRESULT_HH_
10 
11 #include "KTExtensibleStruct.hh"
12 
13 #include "KTMemberVariable.hh"
14 
15 #include <string>
16 
17 namespace Nymph
18 {
20  {
21  public:
23  fState(false)
24  {}
25  virtual ~KTCutResultCore() {}
26 
27  virtual const std::string& Name() const = 0;
28 
29  MEMBERVARIABLE_PROTECTED(bool, State);
30  };
31 
33 
34  template< class XDerivedType >
35  class KTExtensibleCutResult : public KTExtensibleStruct< XDerivedType, KTCutResultCore >
36  {
37  public:
40 
41  const std::string& Name() const;
42  };
43 
44  template< class XDerivedType >
45  inline const std::string& KTExtensibleCutResult< XDerivedType >::Name() const
46  {
47  return XDerivedType::sName;
48  }
49 
50 } /* namespace Nymph */
51 
52 #endif /* KTCUTRESULT_HH_ */
MEMBERVARIABLE_PROTECTED(bool, State)
const std::string & Name() const
Definition: KTCutResult.hh:45
virtual ~KTCutResultCore()
Definition: KTCutResult.hh:25
KTExtensibleStructCore< KTCutResultCore > KTCutResult
Definition: KTCutResult.hh:32
virtual const std::string & Name() const =0