CMS 3D CMS Logo

FlaggedPtr.h
Go to the documentation of this file.
1 #ifndef RecoParticleFlow_PFProducer_FlaggedPtr_h
2 #define RecoParticleFlow_PFProducer_FlaggedPtr_h
3 
4 template <typename T>
5 class FlaggedPtr {
6 public:
7  FlaggedPtr(T* pointer, bool flag) : pointer_(pointer), flag_(flag) {}
8  T& operator*() const { return *pointer_; }
9  T* operator->() const { return pointer_; }
10  T* get() const { return pointer_; }
11  bool flag() const { return flag_; }
12  void setFlag(bool flag) { flag_ = flag; }
13 
14 private:
16  bool flag_;
17 };
18 
19 #endif
FlaggedPtr::get
T * get() const
Definition: FlaggedPtr.h:10
FlaggedPtr::pointer_
T * pointer_
Definition: FlaggedPtr.h:15
FlaggedPtr::operator->
T * operator->() const
Definition: FlaggedPtr.h:9
FlaggedPtr::FlaggedPtr
FlaggedPtr(T *pointer, bool flag)
Definition: FlaggedPtr.h:7
FlaggedPtr::flag
bool flag() const
Definition: FlaggedPtr.h:11
FlaggedPtr::operator*
T & operator*() const
Definition: FlaggedPtr.h:8
FlaggedPtr
Definition: FlaggedPtr.h:5
FlaggedPtr::flag_
bool flag_
Definition: FlaggedPtr.h:16
FlaggedPtr::setFlag
void setFlag(bool flag)
Definition: FlaggedPtr.h:12
T
long double T
Definition: Basic3DVectorLD.h:48