OpenMS  2.4.0
Public Types | Public Member Functions | Static Public Member Functions | Protected Attributes | List of all members
UniqueIdInterface Class Reference

A base class defining a common interface for all classes having a unique id. More...

#include <OpenMS/CONCEPT/UniqueIdInterface.h>

Inheritance diagram for UniqueIdInterface:
ConsensusMap FeatureHandle FeatureMap RichPeak2D FeatureHandle::FeatureHandleMutable_ BaseFeature ConsensusFeature Feature MRMFeature

Public Types

enum  { INVALID = 0 }
 This is the invalid unique id (cast it to a UInt64 if you like) More...
 

Public Member Functions

 UniqueIdInterface ()
 Default constructor - the unique id will be invalid More...
 
 UniqueIdInterface (const UniqueIdInterface &rhs)
 Copy constructor - copies the unique id. More...
 
UniqueIdInterfaceoperator= (UniqueIdInterface const &rhs)
 Assignment operator - copies the unique id. More...
 
virtual ~UniqueIdInterface ()
 Destructor. More...
 
bool operator== (UniqueIdInterface const &rhs) const
 Equality comparison operator - the unique ids must be equal (!) More...
 
UInt64 getUniqueId () const
 Non-mutable access to unique id - returns the unique id. More...
 
Size clearUniqueId ()
 Clear the unique id. The new unique id will be invalid. Returns 1 if the unique id was changed, 0 otherwise. More...
 
void swap (UniqueIdInterface &from)
 
Size hasValidUniqueId () const
 Returns whether the unique id is valid. Returns 1 if the unique id is valid, 0 otherwise. More...
 
Size hasInvalidUniqueId () const
 Returns whether the unique id is invalid. Returns 1 if the unique id is invalid, 0 otherwise. More...
 
Size setUniqueId ()
 Assigns a new, valid unique id. Always returns 1. More...
 
Size ensureUniqueId ()
 Assigns a valid unique id, but only if the present one is invalid. Returns 1 if the unique id was changed, 0 otherwise. More...
 
void setUniqueId (UInt64 rhs)
 Assigns the given unique id. More...
 
void setUniqueId (const String &rhs)
 Mutable access to unique id. More...
 

Static Public Member Functions

static bool isValid (UInt64 unique_id)
 Returns true if the unique_id is valid, false otherwise. More...
 

Protected Attributes

UInt64 unique_id_
 the unique id More...
 

Detailed Description

A base class defining a common interface for all classes having a unique id.

Have a look at RichPeak2D for an example how to extend a class to support unique ids.

See also
UniqueIdGenerator, RichPeak2D

Member Enumeration Documentation

◆ anonymous enum

anonymous enum

This is the invalid unique id (cast it to a UInt64 if you like)

It is represented as an enum because static class members lead to bugs and linker errors all the time...

Enumerator
INVALID 

Constructor & Destructor Documentation

◆ UniqueIdInterface() [1/2]

UniqueIdInterface ( )
inline

Default constructor - the unique id will be invalid

◆ UniqueIdInterface() [2/2]

UniqueIdInterface ( const UniqueIdInterface rhs)
inline

Copy constructor - copies the unique id.

◆ ~UniqueIdInterface()

virtual ~UniqueIdInterface ( )
inlinevirtual

Destructor.

Member Function Documentation

◆ clearUniqueId()

Size clearUniqueId ( )
inline

Clear the unique id. The new unique id will be invalid. Returns 1 if the unique id was changed, 0 otherwise.

Referenced by RichPeak2D::operator=(), and RichPeak2D::RichPeak2D().

◆ ensureUniqueId()

Size ensureUniqueId ( )
inline

Assigns a valid unique id, but only if the present one is invalid. Returns 1 if the unique id was changed, 0 otherwise.

References UniqueIdGenerator::getUniqueId().

◆ getUniqueId()

UInt64 getUniqueId ( ) const
inline

Non-mutable access to unique id - returns the unique id.

Referenced by FeatureHandle::IndexLess::operator()(), and ConfidenceScoring::scoreMap().

◆ hasInvalidUniqueId()

Size hasInvalidUniqueId ( ) const
inline

Returns whether the unique id is invalid. Returns 1 if the unique id is invalid, 0 otherwise.

◆ hasValidUniqueId()

Size hasValidUniqueId ( ) const
inline

Returns whether the unique id is valid. Returns 1 if the unique id is valid, 0 otherwise.

◆ isValid()

static bool isValid ( UInt64  unique_id)
inlinestatic

Returns true if the unique_id is valid, false otherwise.

Currently, an invalid unique id is represented by UInt64(0), but please prefer using this method for clarity.

Referenced by UniqueIdIndexer< ConsensusMap >::resolveUniqueIdConflicts(), and UniqueIdIndexer< ConsensusMap >::updateUniqueIdToIndex().

◆ operator=()

UniqueIdInterface& operator= ( UniqueIdInterface const &  rhs)
inline

Assignment operator - copies the unique id.

References UniqueIdInterface::unique_id_.

Referenced by RichPeak2D::operator=().

◆ operator==()

bool operator== ( UniqueIdInterface const &  rhs) const
inline

Equality comparison operator - the unique ids must be equal (!)

References UniqueIdInterface::unique_id_.

Referenced by RichPeak2D::operator==().

◆ setUniqueId() [1/3]

Size setUniqueId ( )
inline

Assigns a new, valid unique id. Always returns 1.

References UniqueIdGenerator::getUniqueId().

◆ setUniqueId() [2/3]

void setUniqueId ( UInt64  rhs)
inline

Assigns the given unique id.

◆ setUniqueId() [3/3]

void setUniqueId ( const String rhs)

Mutable access to unique id.

This is designed to work well with id attributes in XML, which are prefixed with letters. The portion of the String after the last underscore is extracted and parsed as a UInt64. It must consist of digits only. For example, some_feature.setUniqueId("f_12345_00067890") is equivalent to some_feature.setUniqueId(67890)

◆ swap()

void swap ( UniqueIdInterface from)
inline

Member Data Documentation

◆ unique_id_

UInt64 unique_id_
protected