00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef MS_LINKERSITEVECTOR_HPP
00019 #define MS_LINKERSITEVECTOR_HPP
00020
00021
00022
00023 #include <vector>
00024 #include <list>
00025
00026 namespace matrix_science {
00027 class ms_linker_site;
00028 }
00029
00030 namespace matrix_science {
00036
00037
00045 class MS_MASCOTRESFILE_API ms_linker_site_vector
00046 {
00047 public:
00049 ms_linker_site_vector();
00050
00051 #ifndef SWIG
00052
00053 ms_linker_site_vector(const std::vector<ms_linker_site> &v, const int alphaVarModsLen, const int betaVarModsLen);
00054
00056 ms_linker_site_vector(const std::list<ms_linker_site> &v, const int alphaVarModsLen, const int betaVarModsLen);
00057 #endif
00058
00060 ms_linker_site_vector(const ms_linker_site_vector& src);
00061
00063 ~ms_linker_site_vector();
00064
00065 #ifndef SWIG
00066
00067 ms_linker_site_vector& operator=(const ms_linker_site_vector& right);
00068
00070 const std::vector<ms_linker_site>& toVector() const;
00071 #endif
00072
00074 void copyFrom(const ms_linker_site_vector *src);
00075
00077 void append(const ms_linker_site_vector & src);
00078
00080 int size() const;
00081
00083 bool empty() const;
00084
00086 void push(const ms_linker_site &linkerSite);
00087
00089 ms_linker_site pop();
00090
00092 ms_linker_site get(int idx) const;
00093
00095 void set(int idx, const ms_linker_site &linkerSite);
00096
00098 void clear();
00099
00101 void swap(ms_linker_site_vector &right);
00102
00104 bool containsVarModIdx(int idx) const;
00105
00107 int getVarModIdxOfLinkedSite(const ms_peptide::PSM psmComponent, const int i) const;
00108
00110 int getAlphaVarModsStrLength() const;
00111
00113 int getBetaVarModsStrLength() const;
00114
00116 void setVarModsStrLengths(const int alphaVarModsLen, const int betaVarModsLen);
00117
00119 std::string stringify() const;
00120
00121 private:
00122 std::vector<ms_linker_site> data_;
00123 int alphaVarModsLen_, betaVarModsLen_;
00124 };
00126 }
00127
00128 #endif // MS_LINKERSITEVECTOR_HPP
00129
00130
00131