Matrix Science header

ms_linker_site_vector.hpp

00001 /*
00002 ##############################################################################
00003 # file: ms_linker_site_vector.hpp                                            #
00004 # 'msparser' toolkit                                                         #
00005 # A vector of ms_linker_site objects                                         #
00006 ##############################################################################
00007 # COPYRIGHT NOTICE                                                           #
00008 # Copyright 1998-2018 Matrix Science Limited  All Rights Reserved.           #
00009 #                                                                            #
00010 ##############################################################################
00011 #     $Author: villek@matrixscience.com $ #
00012 #       $Date: 2020-01-23 19:01:43 +0000 $ #
00013 #   $Revision: 319ea315661ca493dc5ff56750ff3ee780e76da0 | MSPARSER_REL_2_8_1-0-gea32989045 $ #
00014 # $NoKeywords::                                                            $ #
00015 ##############################################################################
00016 */
00017 
00018 #ifndef MS_LINKERSITEVECTOR_HPP
00019 #define MS_LINKERSITEVECTOR_HPP
00020 
00021 
00022 // Includes from the standard template library
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     }; // end of resfile_group
00126 }   // matrix_science namespace
00127 
00128 #endif // MS_LINKERSITEVECTOR_HPP
00129 
00130 /*------------------------------- End of File -------------------------------*/
00131 

Copyright © 2022 Matrix Science Ltd.  All Rights Reserved. Generated on Thu Mar 31 2022 01:12:29