Base Module  VST 3.6.5
SDK for developing VST Plug-in
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Public Member Functions
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:

Public Member Functions

 IDSet (int32 startOffset=0, int32 growSize=128)
 Constructor with a given starteOffset and a growing Size. More...
 
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) More...
 
void releaseID (int32 id)
 Clear associated bit to the given id. More...
 

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.

Empty

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