Class IdManager
ID manager that provides uniq ids for vertices and edges.

All Subcl's CountingIdManager
Defined in <seqan/graph_types.h>
Signature template <typename TIdType, typename TSpec> class IdManager;

Template Parameters

TIdType The type to use for storing IDs. Use the Value metafunctio to get the id type managed by a given IdManager.
TSpec Specializing type.

Interface Function Overview

Interface Metafunction Overview

Interface Functions Detail

TId getIdLowerBound(manager);

Returns the smalles distributed id.

Parameters

manager The IdManager to query.

Returns

TId The smallest obtained id so far.

Data Races

If not stated otherwise, concurrent invocation is not guaranteed to be thread-safe.

TId getIdUpperBound(manager);

Returns the largest distributed id plus 1.

Parameters

manager The IdManager to query.

Returns

TId The return value is guaranteed to be an upper bound on all distributed ids.

Data Races

If not stated otherwise, concurrent invocation is not guaranteed to be thread-safe.

TId idCount(manager);

Return the number of obtained ids.

Parameters

manager The IdManager to query.

Returns

TId The number of ids obtained so far.

Data Races

If not stated otherwise, concurrent invocation is not guaranteed to be thread-safe.

bool idInUse(manager, id);

Return whether an id is in use.

Parameters

manager The IdManager to query.
id The id to check for.

Returns

bool true if the id is already in use and false otherwise.

Data Races

If not stated otherwise, concurrent invocation is not guaranteed to be thread-safe.

TId obtainId(manager);

Obatains a new id from the id manager.

Parameters

manager IdManager to get ids from.

Returns

TId A new unique id.

Data Races

If not stated otherwise, concurrent invocation is not guaranteed to be thread-safe.

void releaseAll(manager);

Releases all ids handled by this IdManager.

Parameters

manager The IdManager to release the ids from.

Data Races

If not stated otherwise, concurrent invocation is not guaranteed to be thread-safe.

void releaseId(manager, id);

Releases a given id so it can be reused later on.

Parameters

manager The IdManager to use.
id The ID to release.

Data Races

If not stated otherwise, concurrent invocation is not guaranteed to be thread-safe.

Interface Metafunctions Detail

Spec<TIdManager>::Type;

Return the specializing type of an IdManager.

Value<TIdManager>::Type;

Return the value type of an IdManager.