]>
Commit | Line | Data |
---|---|---|
1 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
2 | * See cxx source for full Copyright notice */ | |
3 | ||
4 | // $Id$ | |
5 | // $MpId: AliMpPadIteratorPtr.h,v 1.7 2006/05/24 13:58:07 ivana Exp $ | |
6 | ||
7 | /// \ingroup basic | |
8 | /// \class AliMpPadIteratorPtr | |
9 | /// \brief A pointer to the virtual pad iterator; | |
10 | /// | |
11 | /// It enables to allocate the virtual pad iterator on stack. | |
12 | /// Usage: \n | |
13 | /// AliMpVIndexed* myIndexed = MyIndexed(); \n | |
14 | /// MVIterator& it = *AliMpPadIteratorPtr(myIndexed->CreateIterator()); \n | |
15 | /// | |
16 | /// \author David Guez, Ivana Hrivnacova; IPN Orsay | |
17 | ||
18 | #ifndef ALI_MP_PAD_ITERATOR_PTR_H | |
19 | #define ALI_MP_PAD_ITERATOR_PTR_H | |
20 | ||
21 | #include <TObject.h> | |
22 | ||
23 | class AliMpVPadIterator; | |
24 | ||
25 | class AliMpPadIteratorPtr : public TObject | |
26 | { | |
27 | public: | |
28 | AliMpPadIteratorPtr(AliMpVPadIterator* it); | |
29 | // AliMpPadIteratorPtr(const AliMpPadIteratorPtr& right); --> private | |
30 | virtual ~AliMpPadIteratorPtr(); | |
31 | ||
32 | AliMpVPadIterator* operator->() { return fIterator; } | |
33 | AliMpVPadIterator& operator*() { return *fIterator; } | |
34 | ||
35 | private: | |
36 | AliMpPadIteratorPtr(const AliMpPadIteratorPtr& right); | |
37 | ||
38 | // operators | |
39 | AliMpPadIteratorPtr& operator=(const AliMpPadIteratorPtr& right); | |
40 | // copy and assignment are disallowed to avoid | |
41 | // multiple deletion of fIterator | |
42 | ||
43 | // data members | |
44 | AliMpVPadIterator* fIterator; ///< The pad iterator | |
45 | ||
46 | ClassDef(AliMpPadIteratorPtr,1) // Pointer to abstract pad iterator | |
47 | }; | |
48 | ||
49 | #endif // ALI_MP_PAD_ITERATOR_PTR_H |