ProteoWizard
pwiz
data
proteome
ProteinListWrapper.hpp
Go to the documentation of this file.
1
//
2
// $Id$
3
//
4
//
5
// Original author: Darren Kessner <darren@proteowizard.org>
6
//
7
// Copyright 2008 Spielberg Family Center for Applied Proteomics
8
// Cedars-Sinai Medical Center, Los Angeles, California 90048
9
//
10
// Licensed under the Apache License, Version 2.0 (the "License");
11
// you may not use this file except in compliance with the License.
12
// You may obtain a copy of the License at
13
//
14
// http://www.apache.org/licenses/LICENSE-2.0
15
//
16
// Unless required by applicable law or agreed to in writing, software
17
// distributed under the License is distributed on an "AS IS" BASIS,
18
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
19
// See the License for the specific language governing permissions and
20
// limitations under the License.
21
//
22
23
24
#ifndef _PROTEINLISTWRAPPER_HPP_
25
#define _PROTEINLISTWRAPPER_HPP_
26
27
28
#include "
pwiz/data/proteome/ProteomeData.hpp
"
29
#include <stdexcept>
30
31
32
namespace
pwiz
{
33
namespace
proteome
{
34
35
36
/// Inheritable pass-through implementation for wrapping a ProteinList
37
class
ProteinListWrapper
:
public
ProteinList
38
{
39
public
:
40
41
ProteinListWrapper
(
const
ProteinListPtr
& inner)
42
:
inner_
(inner)
43
{
44
if
(!inner.get())
throw
std::runtime_error(
"[ProteinListWrapper] Null ProteinListPtr."
);
45
}
46
47
virtual
size_t
size
()
const
{
return
inner_
->size();}
48
49
virtual
ProteinPtr
protein
(
size_t
index,
bool
getSequence =
true
)
const
{
return
inner_
->protein(index, getSequence);}
50
51
protected
:
52
53
ProteinListPtr
inner_
;
54
};
55
56
57
}
// namespace proteome
58
}
// namespace pwiz
59
60
61
#endif // _PROTEINLISTWRAPPER_HPP_
pwiz::proteome::ProteinListWrapper
Inheritable pass-through implementation for wrapping a ProteinList.
Definition:
ProteinListWrapper.hpp:38
pwiz
Definition:
ChromatogramList_Filter.hpp:36
pwiz::proteome::ProteinListWrapper::size
virtual size_t size() const
Definition:
ProteinListWrapper.hpp:47
pwiz::proteome
Definition:
AminoAcid.hpp:35
pwiz::proteome::ProteinListWrapper::ProteinListWrapper
ProteinListWrapper(const ProteinListPtr &inner)
Definition:
ProteinListWrapper.hpp:41
pwiz::proteome::ProteinListPtr
boost::shared_ptr< ProteinList > ProteinListPtr
Definition:
ProteomeData.hpp:73
pwiz::proteome::ProteinListWrapper::inner_
ProteinListPtr inner_
Definition:
ProteinListWrapper.hpp:53
ProteomeData.hpp
pwiz::proteome::ProteinListWrapper::protein
virtual ProteinPtr protein(size_t index, bool getSequence=true) const
Definition:
ProteinListWrapper.hpp:49
pwiz::proteome::ProteinList
Definition:
ProteomeData.hpp:56
pwiz::proteome::ProteinPtr
boost::shared_ptr< Protein > ProteinPtr
Definition:
ProteomeData.hpp:48
Generated by
1.8.18