| OpenMS 2.5.0

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

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

`#include <OpenMS/CONCEPT/UniqueIdInterface.h>`

Inheritance diagram for UniqueIdInterface:

## 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)=default
| Copy constructor - copies the unique id. More...
| UniqueIdInterface (UniqueIdInterface &&rhs)=default
| Move constructor. More...
UniqueIdInterface & | operator= (UniqueIdInterface const &rhs)=default
| Assignment operator - copies the unique id. More...
UniqueIdInterface & | operator= (UniqueIdInterface &&) &=default
| Move Assignment operator - copies the unique id. More...
virtual | ~UniqueIdInterface ()=default
| 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/3]

UniqueIdInterface | ( |  | ) |

inline

Default constructor - the unique id will be invalid

## ◆ UniqueIdInterface() [2/3]

UniqueIdInterface | ( | const UniqueIdInterface & | rhs | ) |

default

Copy constructor - copies the unique id.

## ◆ UniqueIdInterface() [3/3]

UniqueIdInterface | ( | UniqueIdInterface && | rhs | ) |

default

Move constructor.

## ◆ ~UniqueIdInterface()

virtual ~UniqueIdInterface | ( |  | ) |

virtual default

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 TOPPGNPSExport::main_(), 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 | ) |

inline static

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=() [1/2]

UniqueIdInterface& operator= | ( | UniqueIdInterface const & | rhs | ) |

default

Assignment operator - copies the unique id.

## ◆ operator=() [2/2]

UniqueIdInterface& operator= | ( | UniqueIdInterface && |  | ) | &

default

Move Assignment operator - copies the unique id.

## ◆ 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().

Referenced by UTILProteomicsLFQ::quantifyFraction_().

## ◆ 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

References UniqueIdInterface::unique_id_.

## Member Data Documentation

## ◆ unique_id_

UInt64 unique_id_

protected

the unique id

Referenced by UniqueIdInterface::operator==(), and UniqueIdInterface::swap().