IDSet Class Reference

IDSet is a BitSet allowing to generate/release IDs starting with a given start offset. More...

#include <fbitset.h>

Inheritance diagram for IDSet:
Inheritance graph
[legend]

Public Member Functions

 IDSet (int32 startOffset=0, int32 growSize=128)
 Constructor with a given starteOffset and a growing Size.
int32 newID ()
 Return a new ID (starting from the startOffset) : set the first NOT set bit to 1 and return its position added to the startOffset (resizes the bitSet if necessary).
void releaseID (int32 id)
 Clear associated bit to the given id.

Detailed Description

IDSet is a BitSet allowing to generate/release IDs starting with a given start offset.

Note:
Example IDSet myIDSet (100, 8); // its current size is Null int32 id1 = myIDSet.newID (); // id1 is 100 (internally bitchunk is 00000001) int32 id2 = myIDSet.newID (); // id2 is 101 (internally bitchunk is 00000011) int32 id3 = myIDSet.newID (); // id3 is 102 (internally bitchunk is 00000111) int32 id4 = myIDSet.newID (); // id4 is 103 (internally bitchunk is 00001111)

myIDSet.releaseID (101); // 101 as ID is released and could be reused later (internally bitchunk is 00001101) int32 id5 = myIDSet.newID (); // id5 is 101 (internally bitchunk is 00001111) int32 id6 = myIDSet.newID (); // id6 is 104 (internally bitchunk is 00011111) int32 id7 = myIDSet.newID (); // id7 is 105 (internally bitchunk is 00111111) int32 id8 = myIDSet.newID (); // id8 is 106 (internally bitchunk is 01111111) int32 id9 = myIDSet.newID (); // id9 is 107 (internally bitchunk is 11111111) int32 id10 = myIDSet.newID (); // id10 is 108 (internally bitchunk is 00000001 11111111)


Constructor & Destructor Documentation

IDSet ( int32  startOffset = 0,
int32  growSize = 128 
)

Constructor with a given starteOffset and a growing Size.


Member Function Documentation

int32 newID (  ) 

Return a new ID (starting from the startOffset) : set the first NOT set bit to 1 and return its position added to the startOffset (resizes the bitSet if necessary).

void releaseID ( int32  id  ) 

Clear associated bit to the given id.

 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines
Empty

Copyright ©2013 Steinberg Media Technologies GmbH. All Rights Reserved.