OpenMS
Loading...
Searching...
No Matches
InMemoryDataProvider Class Reference

Data provider that serves pre-built modifications from memory. More...

#include <OpenMS/CHEMISTRY/ModificationDataProvider.h>

Inheritance diagram for InMemoryDataProvider:
[legend]
Collaboration diagram for InMemoryDataProvider:
[legend]

Public Member Functions

 InMemoryDataProvider (std::vector< std::unique_ptr< ResidueModification > > mods)
 
 InMemoryDataProvider (const InMemoryDataProvider &)=delete
 
InMemoryDataProvideroperator= (const InMemoryDataProvider &)=delete
 
 InMemoryDataProvider (InMemoryDataProvider &&)=default
 
InMemoryDataProvideroperator= (InMemoryDataProvider &&)=default
 
std::vector< std::unique_ptr< ResidueModification > > loadModifications () override
 Load modifications from whatever source this provider wraps.
 
- Public Member Functions inherited from ModificationDataProvider
virtual ~ModificationDataProvider ()=default
 

Private Attributes

std::vector< std::unique_ptr< ResidueModification > > mods_
 

Detailed Description

Data provider that serves pre-built modifications from memory.

Useful for unit testing ModificationsDB without requiring files on disk.

Constructor & Destructor Documentation

◆ InMemoryDataProvider() [1/3]

InMemoryDataProvider ( std::vector< std::unique_ptr< ResidueModification > >  mods)
inlineexplicit

◆ InMemoryDataProvider() [2/3]

◆ InMemoryDataProvider() [3/3]

Member Function Documentation

◆ loadModifications()

std::vector< std::unique_ptr< ResidueModification > > loadModifications ( )
inlineoverridevirtual

Load modifications from whatever source this provider wraps.

Returns
Vector of modifications with ownership transferred to caller.
Note
Providers may only be called once. Subsequent calls may return empty results.

Implements ModificationDataProvider.

◆ operator=() [1/2]

InMemoryDataProvider & operator= ( const InMemoryDataProvider )
delete

◆ operator=() [2/2]

InMemoryDataProvider & operator= ( InMemoryDataProvider &&  )
default

Member Data Documentation

◆ mods_

std::vector<std::unique_ptr<ResidueModification> > mods_
private