]>
Commit | Line | Data |
---|---|---|
dee1d5f1 | 1 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * |
2 | * See cxx source for full Copyright notice */ | |
3 | ||
5f91c9e8 | 4 | // $Id$ |
13985652 | 5 | // $MpId: AliMpPadIteratorPtr.h,v 1.7 2006/05/24 13:58:07 ivana Exp $ |
dee1d5f1 | 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 | /// | |
13985652 | 16 | /// \author David Guez, Ivana Hrivnacova; IPN Orsay |
5f91c9e8 | 17 | |
18 | #ifndef ALI_MP_PAD_ITERATOR_PTR_H | |
19 | #define ALI_MP_PAD_ITERATOR_PTR_H | |
20 | ||
21 | #include <TObject.h> | |
22 | ||
2998a151 | 23 | class AliMpVPadIterator; |
5f91c9e8 | 24 | |
25 | class AliMpPadIteratorPtr : public TObject | |
26 | { | |
27 | public: | |
28 | AliMpPadIteratorPtr(AliMpVPadIterator* it); | |
5f91c9e8 | 29 | virtual ~AliMpPadIteratorPtr(); |
30 | ||
f5671fc3 | 31 | /// Operator -> |
5f91c9e8 | 32 | AliMpVPadIterator* operator->() { return fIterator; } |
f5671fc3 | 33 | /// Operator * |
5f91c9e8 | 34 | AliMpVPadIterator& operator*() { return *fIterator; } |
35 | ||
13e7956b | 36 | private: |
f5671fc3 | 37 | /// Not implemented |
5f91c9e8 | 38 | AliMpPadIteratorPtr(const AliMpPadIteratorPtr& right); |
f5671fc3 | 39 | /// Not implemented |
5f91c9e8 | 40 | AliMpPadIteratorPtr& operator=(const AliMpPadIteratorPtr& right); |
2998a151 | 41 | // copy and assignment are disallowed to avoid |
42 | // multiple deletion of fIterator | |
13e7956b | 43 | |
5f91c9e8 | 44 | // data members |
829425a5 | 45 | AliMpVPadIterator* fIterator; ///< The pad iterator |
5f91c9e8 | 46 | |
47 | ClassDef(AliMpPadIteratorPtr,1) // Pointer to abstract pad iterator | |
48 | }; | |
49 | ||
50 | #endif // ALI_MP_PAD_ITERATOR_PTR_H |