ROOT logo
#ifndef HMATRIXCATITER_H
#define HMATRIXCATITER_H

#include "hiterator.h"
#include "TArrayI.h"
#include "hmatrixcategory.h"

class HMatrixCatIter : public HIterator {
private:
  HMatrixCatIter(void);
protected:
  HLocation fCurrentLoc; //Current location in the category
  HMatrixCategory *fCategory; //! Category being iterated
  TArrayI *fSizes; //! Sizes of the category
  Int_t fCursor; //Cursor for linear iteration
  Int_t fAntCursor; //Cursor of previous interation
  Bool_t fDir; //Iteration direction.
  Int_t fEnd; //Last possible value of fCursor
  Int_t fBegin; //First value of fCursor 
public:
  HMatrixCatIter(HMatrixCategory *cat,Bool_t dir=kIterForward);
  virtual ~HMatrixCatIter(void);
  TCollection *GetCollection(void) const;
  TObject *Next(void);
  void Reset(void);
  Bool_t gotoLocation(HLocation &loc);
  HLocation &getLocation(void);
  ClassDef(HMatrixCatIter,1) //Iterator for a HMatrixCategory
};

#endif /* !HMATRIXCATITER_H */
 hmatrixcatiter.h:1
 hmatrixcatiter.h:2
 hmatrixcatiter.h:3
 hmatrixcatiter.h:4
 hmatrixcatiter.h:5
 hmatrixcatiter.h:6
 hmatrixcatiter.h:7
 hmatrixcatiter.h:8
 hmatrixcatiter.h:9
 hmatrixcatiter.h:10
 hmatrixcatiter.h:11
 hmatrixcatiter.h:12
 hmatrixcatiter.h:13
 hmatrixcatiter.h:14
 hmatrixcatiter.h:15
 hmatrixcatiter.h:16
 hmatrixcatiter.h:17
 hmatrixcatiter.h:18
 hmatrixcatiter.h:19
 hmatrixcatiter.h:20
 hmatrixcatiter.h:21
 hmatrixcatiter.h:22
 hmatrixcatiter.h:23
 hmatrixcatiter.h:24
 hmatrixcatiter.h:25
 hmatrixcatiter.h:26
 hmatrixcatiter.h:27
 hmatrixcatiter.h:28
 hmatrixcatiter.h:29
 hmatrixcatiter.h:30
 hmatrixcatiter.h:31