libpappsomspp
Library for mass spectrometry
Loading...
Searching...
No Matches
grpsubgroupset.cpp
Go to the documentation of this file.
1
2
/*******************************************************************************
3
* Copyright (c) 2015 Olivier Langella <Olivier.Langella@moulon.inra.fr>.
4
*
5
* This file is part of the PAPPSOms++ library.
6
*
7
* PAPPSOms++ is free software: you can redistribute it and/or modify
8
* it under the terms of the GNU General Public License as published by
9
* the Free Software Foundation, either version 3 of the License, or
10
* (at your option) any later version.
11
*
12
* PAPPSOms++ is distributed in the hope that it will be useful,
13
* but WITHOUT ANY WARRANTY; without even the implied warranty of
14
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
* GNU General Public License for more details.
16
*
17
* You should have received a copy of the GNU General Public License
18
* along with PAPPSOms++. If not, see <http://www.gnu.org/licenses/>.
19
*
20
* Contributors:
21
* Olivier Langella <Olivier.Langella@moulon.inra.fr> - initial API and
22
*implementation
23
******************************************************************************/
24
25
#include "
grpsubgroupset.h
"
26
27
namespace
pappso
28
{
29
30
GrpSubGroupSet::GrpSubGroupSet
()
31
{
32
}
33
34
GrpSubGroupSet::GrpSubGroupSet
(
const
GrpSubGroupSet
&other)
35
: m_grpSubGroupPtrList(other.m_grpSubGroupPtrList)
36
{
37
}
38
39
GrpSubGroupSet::~GrpSubGroupSet
()
40
{
41
}
42
43
44
void
45
GrpSubGroupSet::addAll
(
const
GrpSubGroupSet
&other)
46
{
47
48
std::list<GrpSubGroup *>::iterator it(
m_grpSubGroupPtrList
.begin());
49
std::list<GrpSubGroup *>::iterator itEnd(
m_grpSubGroupPtrList
.end());
50
std::list<GrpSubGroup *>::const_iterator itIn(
51
other.
m_grpSubGroupPtrList
.begin());
52
std::list<GrpSubGroup *>::const_iterator itInEnd(
53
other.
m_grpSubGroupPtrList
.end());
54
55
while
((itIn != itInEnd) && (it != itEnd))
56
{
57
if
(*itIn < *it)
58
{
59
it++;
60
continue
;
61
}
62
if
(*itIn > *it)
63
{
64
it =
m_grpSubGroupPtrList
.insert(it, *itIn);
65
it++;
66
itIn++;
67
continue
;
68
}
69
if
(*itIn == *it)
70
{
71
itIn++;
72
it++;
73
}
74
}
75
while
(itIn != itInEnd)
76
{
77
m_grpSubGroupPtrList
.push_back(*itIn);
78
itIn++;
79
}
80
}
81
82
void
83
GrpSubGroupSet::remove
(
GrpSubGroup
*p_remove_sub_group)
84
{
85
m_grpSubGroupPtrList
.remove(p_remove_sub_group);
86
}
87
88
bool
89
GrpSubGroupSet::contains
(
GrpSubGroup
*p_sub_group)
const
90
{
91
92
std::list<GrpSubGroup *>::const_iterator it(
m_grpSubGroupPtrList
.begin()),
93
itEnd(
m_grpSubGroupPtrList
.end());
94
95
96
while
(it != itEnd)
97
{
98
if
(p_sub_group == *it)
99
{
100
// this subgroup is already in list
101
return
true
;
102
}
103
if
(p_sub_group > *it)
104
{
105
return
false
;
106
}
107
it++;
108
}
109
return
false
;
110
}
111
void
112
GrpSubGroupSet::add
(
GrpSubGroup
*p_add_sub_group)
113
{
114
115
std::list<GrpSubGroup *>::iterator it(
m_grpSubGroupPtrList
.begin()),
116
itEnd(
m_grpSubGroupPtrList
.end());
117
118
119
while
(it != itEnd)
120
{
121
if
(p_add_sub_group == *it)
122
{
123
// this subgroup is already in list
124
return
;
125
}
126
if
(p_add_sub_group > *it)
127
{
128
it =
m_grpSubGroupPtrList
.insert(it, p_add_sub_group);
129
return
;
130
}
131
it++;
132
}
133
m_grpSubGroupPtrList
.push_back(p_add_sub_group);
134
}
135
136
137
const
QString
138
GrpSubGroupSet::printInfos
()
const
139
{
140
QString infos;
141
std::list<GrpSubGroup *>::const_iterator it(
m_grpSubGroupPtrList
.begin()),
142
itEnd(
m_grpSubGroupPtrList
.end());
143
144
145
while
(it != itEnd)
146
{
147
infos.append((*it)->getFirstAccession() +
" "
+
148
QString(
"0x%1"
).arg(
149
(quintptr)*it, QT_POINTER_SIZE * 2, 16, QChar(
'0'
)) +
150
"\n"
);
151
it++;
152
}
153
154
return
infos;
155
}
156
157
}
// namespace pappso
pappso::GrpSubGroupSet
Definition
grpsubgroupset.h:34
pappso::GrpSubGroupSet::remove
void remove(GrpSubGroup *p_remove_sub_group)
Definition
grpsubgroupset.cpp:83
pappso::GrpSubGroupSet::contains
bool contains(GrpSubGroup *get) const
Definition
grpsubgroupset.cpp:89
pappso::GrpSubGroupSet::~GrpSubGroupSet
~GrpSubGroupSet()
Definition
grpsubgroupset.cpp:39
pappso::GrpSubGroupSet::add
void add(GrpSubGroup *p_add_sub_group)
Definition
grpsubgroupset.cpp:112
pappso::GrpSubGroupSet::printInfos
const QString printInfos() const
Definition
grpsubgroupset.cpp:138
pappso::GrpSubGroupSet::addAll
void addAll(const GrpSubGroupSet &other)
Definition
grpsubgroupset.cpp:45
pappso::GrpSubGroupSet::GrpSubGroupSet
GrpSubGroupSet()
Definition
grpsubgroupset.cpp:30
pappso::GrpSubGroupSet::m_grpSubGroupPtrList
std::list< GrpSubGroup * > m_grpSubGroupPtrList
Definition
grpsubgroupset.h:38
pappso::GrpSubGroup
Definition
grpsubgroup.h:43
grpsubgroupset.h
pappso
tries to keep as much as possible monoisotopes, removing any possible C13 peaks and changes multichar...
Definition
aa.cpp:39
pappsomspp
grouping
grpsubgroupset.cpp
Generated on Fri Jul 19 2024 14:40:15 for libpappsomspp by
1.9.8