OpenMS
Loading...
Searching...
No Matches
ModificationDataProvider.h
Go to the documentation of this file.
1// Copyright (c) 2002-present, OpenMS Inc. -- EKU Tuebingen, ETH Zurich, and FU Berlin
2// SPDX-License-Identifier: BSD-3-Clause
3//
4// --------------------------------------------------------------------------
5// $Maintainer: Timo Sachsenberg $
6// $Authors: Timo Sachsenberg $
7// --------------------------------------------------------------------------
8
9#pragma once
10
12#include <OpenMS/OpenMSConfig.h>
13
14#include <memory>
15#include <vector>
16
17namespace OpenMS
18{
28 class OPENMS_DLLAPI ModificationDataProvider
29 {
30 public:
31 virtual ~ModificationDataProvider() = default;
32
38 virtual std::vector<std::unique_ptr<ResidueModification>> loadModifications() = 0;
39 };
40
49 {
50 public:
51 explicit InMemoryDataProvider(std::vector<std::unique_ptr<ResidueModification>> mods)
52 : mods_(std::move(mods))
53 {
54 }
55
60
61 std::vector<std::unique_ptr<ResidueModification>> loadModifications() override
62 {
63 return std::move(mods_);
64 }
65
66 private:
67 std::vector<std::unique_ptr<ResidueModification>> mods_;
68 };
69
70} // namespace OpenMS
Data provider that serves pre-built modifications from memory.
Definition ModificationDataProvider.h:49
InMemoryDataProvider & operator=(InMemoryDataProvider &&)=default
std::vector< std::unique_ptr< ResidueModification > > loadModifications() override
Load modifications from whatever source this provider wraps.
Definition ModificationDataProvider.h:61
std::vector< std::unique_ptr< ResidueModification > > mods_
Definition ModificationDataProvider.h:67
InMemoryDataProvider(InMemoryDataProvider &&)=default
InMemoryDataProvider(std::vector< std::unique_ptr< ResidueModification > > mods)
Definition ModificationDataProvider.h:51
InMemoryDataProvider(const InMemoryDataProvider &)=delete
InMemoryDataProvider & operator=(const InMemoryDataProvider &)=delete
Interface for providing ResidueModification data to ModificationsDB.
Definition ModificationDataProvider.h:29
virtual std::vector< std::unique_ptr< ResidueModification > > loadModifications()=0
Load modifications from whatever source this provider wraps.
virtual ~ModificationDataProvider()=default
Main OpenMS namespace.
Definition openswathalgo/include/OpenMS/OPENSWATHALGO/DATAACCESS/ISpectrumAccess.h:19
STL namespace.