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

gnBaseHeader.h

Go to the documentation of this file.
00001 /////////////////////////////////////////////////////////////////////////////
00002 // File:            gnBaseHeader.h
00003 // Purpose:         abstract Header class
00004 // Description:     Provides an interface for Headers in memory and on disk.
00005 // Changes:        
00006 // Version:         libGenome 0.5.1 
00007 // Author:          Aaron Darling 
00008 // Modified by:     
00009 // Copyright:       (c) Aaron Darling 
00010 // Licenses:        See COPYING file for details 
00011 /////////////////////////////////////////////////////////////////////////////
00012 #ifndef _gnBaseHeader_h_
00013 #define _gnBaseHeader_h_
00014 
00015 #include "gn/gnDefs.h"
00016 
00017 #include <string>
00018 #include "gn/gnClone.h"
00019 #include "gn/gnLocation.h"
00020 
00021 /**
00022  * This class provides a general interface to sequence related headers.
00023  * Headers commonly precede sequence data in several file formats.  In
00024  * FastA files, the header is on the > line before a contig.
00025  * In GenBank files, each contig has headers describing authors and other
00026  * information.  In GenBank files, the header name corresponds to the
00027  * name of the header field.  A few genBank header names are: DEFINITION
00028  * ACCESSION, VERSION, KEYWORDS, SEGMENT, SOURCE, REFERENCE, and COMMENT.
00029  * Eventually, individual classes may be implemented for each header type.
00030  */
00031 class GNDLLEXPORT gnBaseHeader : public gnClone
00032 {
00033 public:
00034         gnBaseHeader(){}
00035         virtual ~gnBaseHeader(){}
00036         virtual gnBaseHeader* Clone() const = 0;
00037         /**
00038          * Get the header.
00039          * @return The header as a string.
00040          */
00041         virtual string GetHeader() const = 0;
00042         /**
00043          * Get the header's name, if any.
00044          * @return The header name as a string.
00045          */
00046         virtual string GetHeaderName() const = 0;       
00047         /**
00048          * Get the header's length in bytes.
00049          * @return The length of the header.
00050          */
00051         virtual uint32 GetLength() const = 0;
00052 private:
00053 }; //class gnBaseHeader
00054 
00055 #endif
00056         // _gnBaseHeader_h_
00057         

Generated on Mon Feb 3 02:34:38 2003 for libGenome by doxygen1.3-rc3