halapi
hierarchichalalignmentformatapi
hdf5_impl/hdf5SequenceIterator.h
00001 /*
00002  * Copyright (C) 2012 by Glenn Hickey (hickey@soe.ucsc.edu)
00003  *
00004  * Released under the MIT license, see LICENSE.txt
00005  */
00006 
00007 #ifndef _HDF5SEQUENCEITERATOR_H
00008 #define _HDF5SEQUENCEITERATOR_H
00009 
00010 #include <H5Cpp.h>
00011 #include "halSequenceIterator.h"
00012 #include "hdf5ExternalArray.h"
00013 #include "hdf5Genome.h"
00014 #include "hdf5Sequence.h"
00015 
00016 namespace hal {
00017 
00018 class HDF5BottomSegmentIterator;
00019 
00020 class HDF5SequenceIterator : public SequenceIterator
00021 {
00022    friend class HDF5BottomSegmentIterator;
00023 public:
00024    
00025    HDF5SequenceIterator(HDF5Genome* genome, hal_index_t index);
00026    ~HDF5SequenceIterator();
00027    
00028    // SEQUENCE ITERATOR METHODS
00029    SequenceIteratorPtr copy();
00030    SequenceIteratorConstPtr copy() const;
00031    void toNext() const;
00032    void toPrev() const;
00033    Sequence* getSequence();
00034    const Sequence* getSequence() const;
00035 
00036 protected:
00037    HDF5Sequence _sequence;
00038 };
00039 
00040 }
00041 #endif
 All Classes Namespaces Functions Variables Friends