00001 // -*- Mode: C++; tab-width: 2; -*- 00002 // vi: set ts=2: 00003 // 00004 // -------------------------------------------------------------------------- 00005 // OpenMS Mass Spectrometry Framework 00006 // -------------------------------------------------------------------------- 00007 // Copyright (C) 2003-2008 -- Oliver Kohlbacher, Knut Reinert 00008 // 00009 // This library is free software; you can redistribute it and/or 00010 // modify it under the terms of the GNU Lesser General Public 00011 // License as published by the Free Software Foundation; either 00012 // version 2.1 of the License, or (at your option) any later version. 00013 // 00014 // This library is distributed in the hope that it will be useful, 00015 // but WITHOUT ANY WARRANTY; without even the implied warranty of 00016 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00017 // Lesser General Public License for more details. 00018 // 00019 // You should have received a copy of the GNU Lesser General Public 00020 // License along with this library; if not, write to the Free Software 00021 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00022 // 00023 // -------------------------------------------------------------------------- 00024 // $Maintainer: Chris Bauer$ 00025 // -------------------------------------------------------------------------- 00026 00027 00028 #ifndef OPENMS_DATASTRUCTURES_BIGSTRING_H 00029 #define OPENMS_DATASTRUCTURES_BIGSTRING_H 00030 00031 #include <vector> 00032 #include <OpenMS/DATASTRUCTURES/String.h> 00033 #include <OpenMS/CONCEPT/Exception.h> 00034 00035 namespace OpenMS { 00036 00042 class BigString 00043 { 00044 00045 public: 00046 00047 typedef std::pair<String,String> FASTAEntry; 00048 00052 BigString (); 00053 00057 BigString (const BigString & bs); 00058 00062 virtual ~BigString (); 00063 00068 void add (FASTAEntry const & new_entry); 00069 00074 void setSeparator (const char sep); 00075 00080 char getSeparator (); 00081 00086 unsigned int size (); 00087 00092 unsigned int length (); 00093 00101 void getPeptide (FASTAEntry& entry, unsigned int start, unsigned int length) throw (Exception::InvalidValue); 00102 00107 const String & getBigString () const; 00108 00109 protected: 00110 00118 unsigned int getIndex_ (unsigned int index, unsigned int start, unsigned int end); 00119 00125 unsigned int getIndex_ (unsigned int index); 00126 00127 String big_string_; 00128 00129 char separator_; 00130 00131 unsigned int count_; 00132 00133 unsigned int len_; 00134 00135 std::vector<unsigned int> sep_indices_; 00136 00137 std::vector<String> FASTA_header_; 00138 00139 }; 00140 } 00141 #endif // OPENMS_DATASTRUCTURES_BIGSTRING_H
Generated Tue Apr 1 15:36:33 2008 -- using doxygen 1.5.4 | OpenMS / TOPP 1.1 |