Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035 #ifndef OPENMS_DATASTRUCTURES_STRINGLIST_H
00036 #define OPENMS_DATASTRUCTURES_STRINGLIST_H
00037
00038 #include <OpenMS/DATASTRUCTURES/String.h>
00039
00040 #ifdef OPENMS_COMPILER_MSVC
00041 #pragma warning( push )
00042 #pragma warning( disable : 4251 ) // disable MSVC dll-interface warning
00043 #endif
00044
00045 class QStringList;
00046
00047 namespace OpenMS
00048 {
00056 class OPENMS_DLLAPI StringList :
00057 public std::vector<String>
00058 {
00059 public:
00060
00064
00065 typedef iterator Iterator;
00067 typedef const_iterator ConstIterator;
00069 typedef reverse_iterator ReverseIterator;
00071 typedef const_reverse_iterator ConstReverseIterator;
00073
00075
00076
00077 StringList();
00079 StringList(const StringList & rhs);
00081 StringList(const std::vector<String> & rhs);
00083 StringList(const std::vector<std::string> & rhs);
00085 StringList(const QStringList & rhs);
00087 StringList & operator=(const StringList & rhs);
00089 StringList & operator=(const std::vector<String> & rhs);
00091 StringList & operator=(const std::vector<std::string> & rhs);
00093
00095
00096
00104 Iterator search(const Iterator & start, const String & text, bool trim = false);
00105
00112 Iterator search(const String & text, bool trim = false);
00113
00122 Iterator searchSuffix(const Iterator & start, const String & text, bool trim = false);
00123
00131 Iterator searchSuffix(const String & text, bool trim = false);
00132
00141 ConstIterator search(const ConstIterator & start, const String & text, bool trim = false) const;
00142
00149 ConstIterator search(const String & text, bool trim = false) const;
00150
00159 ConstIterator searchSuffix(const ConstIterator & start, const String & text, bool trim = false) const;
00160
00168 ConstIterator searchSuffix(const String & text, bool trim = false) const;
00170
00172 template <typename StringType>
00173 StringList & operator<<(const StringType & string)
00174 {
00175 this->push_back(string);
00176 return *this;
00177 }
00178
00180 static StringList create(const String & list, const char splitter = ',');
00182 static StringList create(const char * const * list, UInt size);
00184 bool contains(const String & s) const;
00186 void toUpper();
00188 void toLower();
00189
00191 String concatenate(const String & glue = "") const;
00192
00194 friend OPENMS_DLLAPI std::ostream & operator<<(std::ostream & os, const StringList & p);
00195
00196 };
00197
00198 }
00199
00200 #ifdef OPENMS_COMPILER_MSVC
00201 #pragma warning( pop )
00202 #endif
00203
00204 #endif // OPENMS_DATASTRUCTURES_STRINGLIST_H