Main Page   Packages   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Search  

C:/temp/src/j2k/nto/TrackArray.hpp

Go to the documentation of this file.
00001 #ifndef __J2K__TrackArray_HPP__
00002 #define __J2K__TrackArray_HPP__
00003 
00004 class Track;
00005 class TrackArray;
00006 class Train;
00007 
00008 
00009 class TrackArray
00010 {
00011 public:
00012   TrackArray( size_t len = 1 )
00013   : length( len )
00014   {
00015     array = new Track*[ length ];
00016 
00017     register size_t i = 0;
00018     for( ; i < length; i++ ) {
00019       array[i] = NULL;
00020     } 
00021   }
00022 
00023   virtual ~TrackArray()
00024   {
00025     if ( !array ) return;
00026 
00027     register size_t i = 0;
00028     for( ; i < length; i++ ) {
00029       if ( array[i] ) delete array[i];
00030     } 
00031 
00032     delete[] array;
00033   }
00034 
00035   inline size_t  getLength()
00036   {
00037     return length;
00038   }
00039 
00040   inline void setTrack( size_t pos, Track* trk )
00041   {
00042     assert( pos < length );
00043     array[ pos ] = trk;
00044   }
00045 
00046   inline Track* getTrack( size_t pos )
00047   {
00048     assert( pos < length );
00049     return array[ pos ];
00050   }
00051   
00052 
00053 protected:
00054 
00055   Track** array;
00056   size_t  length;
00057   
00058 
00059 private:
00060   TrackArray( const TrackArray& src );
00061   const TrackArray& operator=( const TrackArray& src );
00062 };
00063 
00064 #endif
00065 

Generated on Sun Oct 14 18:46:38 2001 for Standard J2K Library by doxygen1.2.11.1 written by Dimitri van Heesch, © 1997-2001