Base Module VST 3.7
SDK for developing VST plug-in
Steinberg Namespace Reference

Namespaces

namespace  CommandLine
 Very simple command-line parser.
 
namespace  HexBinary
 
namespace  Singleton
 Automatic creation and destruction of singleton instances.
 
namespace  SystemTime
 

Classes

class  Buffer
 Buffer. More...
 
class  ConstString
 Invariant String. More...
 
class  DisableDispatchingTimers
 Disables dispatching of timers for the live time of this object. More...
 
struct  FArrayDeleter
 Template definition for classes that help guarding against memory leaks. More...
 
struct  FBooleanSetter
 Class definition for objects that help resetting boolean variables. More...
 
struct  FCloser
 Template definition for classes that help closing resources. More...
 
struct  FConditionalBoolSetter
 Class definition for objects that help setting boolean variables. More...
 
struct  FDeleter
 Template definition for classes that help guarding against memory leaks. More...
 
class  FDynLibrary
 Platform independent dynamic library loader. More...
 
class  FMallocReleaser
 Class definition for objects that help guarding against memory leaks. More...
 
struct  FNuller
 Template definition for classes that help resetting an object's value. More...
 
class  FObject
 Implements FUnknown and IDependent. More...
 
struct  FPtrNuller
 Template definition for classes that help guarding against dangling pointers. More...
 
class  FStreamer
 Byteorder-aware base class for typed stream i/o. More...
 
class  FStreamSizeHolder
 FStreamSizeHolder Declaration remembers size of stream chunk for backward compatibility. More...
 
class  IBStreamer
 Wrapper class for typed reading/writing from or to IBStream. More...
 
class  ITimerCallback
 Implement this callback interface to receive triggers from a timer. More...
 
class  IUpdateManager
 Handle Send and Cancel pending message for a given object. More...
 
class  String
 String. More...
 
class  StringObject
 StringObject implements IStringResult and IString methods. More...
 
class  Timer
 Timer is a class that allows you to receive triggers at regular intervals. More...
 
class  UpdateHandler
 UpdateHandler implements IUpdateManager and IUpdateHandler to handle dependencies between objects to store and forward messages to dependent objects. More...
 

Typedefs

using FBoolSetter = FBooleanSetter< bool >
 
using FClassID = FIDString
 
using CreateTimerFunc = Timer *(*)(ITimerCallback *callback, uint32 intervalMilliseconds)
 

Enumerations

enum  FSeekMode { kSeekSet , kSeekCurrent , kSeekEnd }
 
enum  MBCodePage {
  kCP_ANSI = 0 , kCP_MAC_ROMAN = 2 , kCP_ANSI_WEL = 1252 , kCP_MAC_CEE = 10029 ,
  kCP_Utf8 = 65001 , kCP_ShiftJIS = 932 , kCP_US_ASCII = 20127 , kCP_Default = kCP_ANSI
}
 
enum  UnicodeNormalization { kUnicodeNormC , kUnicodeNormD , kUnicodeNormKC , kUnicodeNormKD }
 

Functions

template<class C >
C * FCast (const FObject *object)
 FCast overload 1 - FObject to FObject. More...
 
template<class C >
C * FCast (FUnknown *unknown)
 FCast overload 2 - FUnknown to FObject. More...
 
template<class I >
IPtr< I > ICast (FObject *object)
 ICast - casting from FObject to FUnknown Interface. More...
 
template<class I >
IPtr< I > ICast (FUnknown *object)
 ICast - casting from FUnknown to another FUnknown Interface. More...
 
template<class C >
C * FCastIsA (const FObject *object)
 
template<class C >
 SMTG_DEPRECATED_MSG ("use ICast<>") inline C *FUCast(FObject *object)
 
template<class T >
void AssignShared (T *&dest, T *newPtr)
 
template<class T >
void AssignSharedDependent (IDependent *_this, T *&dest, T *newPtr)
 
template<class T >
void AssignSharedDependent (IDependent *_this, IPtr< T > &dest, T *newPtr)
 
template<class T >
void SafeReleaseDependent (IDependent *_this, T *&dest)
 
template<class T >
void SafeReleaseDependent (IDependent *_this, IPtr< T > &dest)
 
uint32 hashString8 (const char8 *s, uint32 m)
 
uint32 hashString16 (const char16 *s, uint32 m)
 
template<class T >
int32 tstrnatcmp (const T *s1, const T *s2, bool caseSensitive=true)
 
int32 strnatcmp8 (const char8 *s1, const char8 *s2, bool caseSensitive)
 
int32 strnatcmp16 (const char16 *s1, const char16 *s2, bool caseSensitive)
 
uint32 hashString (const char *s, uint32 m)
 
String operator+ (const ConstString &s1, const ConstString &s2)
 
String operator+ (const ConstString &s1, const char8 *s2)
 
String operator+ (const ConstString &s1, const char16 *s2)
 
String operator+ (const char8 *s1, const ConstString &s2)
 
String operator+ (const char16 *s1, const ConstString &s2)
 
String operator+ (const ConstString &s1, const String &s2)
 
String operator+ (const String &s1, const ConstString &s2)
 
String operator+ (const String &s1, const String &s2)
 
String operator+ (const String &s1, const char8 *s2)
 
String operator+ (const String &s1, const char16 *s2)
 
String operator+ (const char8 *s1, const String &s2)
 
String operator+ (const char16 *s1, const String &s2)
 
bool operator< (const ConstString &s1, const ConstString &s2)
 
bool operator<= (const ConstString &s1, const ConstString &s2)
 
bool operator> (const ConstString &s1, const ConstString &s2)
 
bool operator>= (const ConstString &s1, const ConstString &s2)
 
bool operator== (const ConstString &s1, const ConstString &s2)
 
bool operator!= (const ConstString &s1, const ConstString &s2)
 
bool operator< (const ConstString &s1, const char8 *s2)
 
bool operator<= (const ConstString &s1, const char8 *s2)
 
bool operator> (const ConstString &s1, const char8 *s2)
 
bool operator>= (const ConstString &s1, const char8 *s2)
 
bool operator== (const ConstString &s1, const char8 *s2)
 
bool operator!= (const ConstString &s1, const char8 *s2)
 
bool operator< (const char8 *s1, const ConstString &s2)
 
bool operator<= (const char8 *s1, const ConstString &s2)
 
bool operator> (const char8 *s1, const ConstString &s2)
 
bool operator>= (const char8 *s1, const ConstString &s2)
 
bool operator== (const char8 *s1, const ConstString &s2)
 
bool operator!= (const char8 *s1, const ConstString &s2)
 
bool operator< (const ConstString &s1, const char16 *s2)
 
bool operator<= (const ConstString &s1, const char16 *s2)
 
bool operator> (const ConstString &s1, const char16 *s2)
 
bool operator>= (const ConstString &s1, const char16 *s2)
 
bool operator== (const ConstString &s1, const char16 *s2)
 
bool operator!= (const ConstString &s1, const char16 *s2)
 
bool operator< (const char16 *s1, const ConstString &s2)
 
bool operator<= (const char16 *s1, const ConstString &s2)
 
bool operator> (const char16 *s1, const ConstString &s2)
 
bool operator>= (const char16 *s1, const ConstString &s2)
 
bool operator== (const char16 *s1, const ConstString &s2)
 
bool operator!= (const char16 *s1, const ConstString &s2)
 
int32 strnatcmp (const char *s1, const char *s2, bool caseSensitive=true)
 
void InjectCreateTimerFunction (CreateTimerFunc f)
 
template<typename Call >
ITimerCallbacknewTimerCallback (const Call &call)
 
 DEF_CLASS_IID (IUpdateManager) namespace Update
 
Convenience methods that call release or delete respectively

on a pointer if it is non-zero, and then set the pointer to zero.

Note: you should prefer using IPtr or OPtr instead of these methods whenever possible. Examples:

~Foo ()
{
// instead of ...
if (somePointer)
{
somePointer->release ();
somePointer = 0;
}
// ... just being lazy I write
SafeRelease (somePointer)
}
void SafeRelease(I *&ptr)
Definition: fobject.h:274
template<class I >
void SafeRelease (I *&ptr)
 
template<class I >
void SafeRelease (IPtr< I > &ptr)
 
template<class T >
void SafeDelete (T *&ptr)
 

Variables

struct Steinberg::FObjectIIDInitializer gFObjectIidInitializer
 

Typedef Documentation

◆ FBoolSetter

using FBoolSetter = FBooleanSetter<bool>

◆ FClassID

using FClassID = FIDString

◆ CreateTimerFunc

using CreateTimerFunc = Timer* (*)(ITimerCallback* callback, uint32 intervalMilliseconds)

Enumeration Type Documentation

◆ FSeekMode

enum FSeekMode
Enumerator
kSeekSet 
kSeekCurrent 
kSeekEnd 

◆ MBCodePage

enum MBCodePage
Enumerator
kCP_ANSI 

Default ANSI codepage.

kCP_MAC_ROMAN 

Default Mac codepage.

kCP_ANSI_WEL 

West European Latin Encoding.

kCP_MAC_CEE 

Mac Central European Encoding.

kCP_Utf8 

UTF8 Encoding.

kCP_ShiftJIS 

Shifted Japan Industrial Standard Encoding.

kCP_US_ASCII 

US-ASCII (7-bit).

kCP_Default 

Default ANSI codepage.

◆ UnicodeNormalization

Enumerator
kUnicodeNormC 

Unicode normalization Form C, canonical composition.

kUnicodeNormD 

Unicode normalization Form D, canonical decomposition.

kUnicodeNormKC 

Unicode normalization form KC, compatibility composition.

kUnicodeNormKD 

Unicode normalization form KD, compatibility decomposition.

Function Documentation

◆ FCast() [1/2]

C * Steinberg::FCast ( const FObject object)
inline

FCast overload 1 - FObject to FObject.

◆ FCast() [2/2]

C * Steinberg::FCast ( FUnknown *  unknown)
inline

FCast overload 2 - FUnknown to FObject.

◆ ICast() [1/2]

IPtr< I > Steinberg::ICast ( FObject object)
inline

ICast - casting from FObject to FUnknown Interface.

◆ ICast() [2/2]

IPtr< I > Steinberg::ICast ( FUnknown *  object)
inline

ICast - casting from FUnknown to another FUnknown Interface.

◆ FCastIsA()

C * Steinberg::FCastIsA ( const FObject object)
inline

◆ SMTG_DEPRECATED_MSG()

SMTG_DEPRECATED_MSG ( "use ICast<>"  )

◆ SafeRelease() [1/2]

void Steinberg::SafeRelease ( I *&  ptr)
inline

◆ SafeRelease() [2/2]

void Steinberg::SafeRelease ( IPtr< I > &  ptr)
inline

◆ SafeDelete()

void Steinberg::SafeDelete ( T *&  ptr)
inline

◆ AssignShared()

void Steinberg::AssignShared ( T *&  dest,
T *  newPtr 
)
inline

◆ AssignSharedDependent() [1/2]

void Steinberg::AssignSharedDependent ( IDependent *  _this,
T *&  dest,
T *  newPtr 
)
inline

◆ AssignSharedDependent() [2/2]

void Steinberg::AssignSharedDependent ( IDependent *  _this,
IPtr< T > &  dest,
T *  newPtr 
)
inline

◆ SafeReleaseDependent() [1/2]

void Steinberg::SafeReleaseDependent ( IDependent *  _this,
T *&  dest 
)
inline

◆ SafeReleaseDependent() [2/2]

void Steinberg::SafeReleaseDependent ( IDependent *  _this,
IPtr< T > &  dest 
)
inline

◆ hashString8()

uint32 hashString8 ( const char8 *  s,
uint32  m 
)

◆ hashString16()

uint32 hashString16 ( const char16 *  s,
uint32  m 
)

◆ tstrnatcmp()

int32 Steinberg::tstrnatcmp ( const T *  s1,
const T *  s2,
bool  caseSensitive = true 
)

◆ strnatcmp8()

int32 strnatcmp8 ( const char8 *  s1,
const char8 *  s2,
bool  caseSensitive 
)

◆ strnatcmp16()

int32 strnatcmp16 ( const char16 *  s1,
const char16 *  s2,
bool  caseSensitive 
)

◆ hashString()

uint32 Steinberg::hashString ( const char *  s,
uint32  m 
)
inline

◆ operator+() [1/12]

String Steinberg::operator+ ( const ConstString s1,
const ConstString s2 
)
inline

◆ operator+() [2/12]

String Steinberg::operator+ ( const ConstString s1,
const char8 *  s2 
)
inline

◆ operator+() [3/12]

String Steinberg::operator+ ( const ConstString s1,
const char16 *  s2 
)
inline

◆ operator+() [4/12]

String Steinberg::operator+ ( const char8 *  s1,
const ConstString s2 
)
inline

◆ operator+() [5/12]

String Steinberg::operator+ ( const char16 *  s1,
const ConstString s2 
)
inline

◆ operator+() [6/12]

String Steinberg::operator+ ( const ConstString s1,
const String s2 
)
inline

◆ operator+() [7/12]

String Steinberg::operator+ ( const String s1,
const ConstString s2 
)
inline

◆ operator+() [8/12]

String Steinberg::operator+ ( const String s1,
const String s2 
)
inline

◆ operator+() [9/12]

String Steinberg::operator+ ( const String s1,
const char8 *  s2 
)
inline

◆ operator+() [10/12]

String Steinberg::operator+ ( const String s1,
const char16 *  s2 
)
inline

◆ operator+() [11/12]

String Steinberg::operator+ ( const char8 *  s1,
const String s2 
)
inline

◆ operator+() [12/12]

String Steinberg::operator+ ( const char16 *  s1,
const String s2 
)
inline

◆ operator<() [1/5]

bool Steinberg::operator< ( const ConstString s1,
const ConstString s2 
)
inline

◆ operator<=() [1/5]

bool Steinberg::operator<= ( const ConstString s1,
const ConstString s2 
)
inline

◆ operator>() [1/5]

bool Steinberg::operator> ( const ConstString s1,
const ConstString s2 
)
inline

◆ operator>=() [1/5]

bool Steinberg::operator>= ( const ConstString s1,
const ConstString s2 
)
inline

◆ operator==() [1/5]

bool Steinberg::operator== ( const ConstString s1,
const ConstString s2 
)
inline

◆ operator!=() [1/5]

bool Steinberg::operator!= ( const ConstString s1,
const ConstString s2 
)
inline

◆ operator<() [2/5]

bool Steinberg::operator< ( const ConstString s1,
const char8 *  s2 
)
inline

◆ operator<=() [2/5]

bool Steinberg::operator<= ( const ConstString s1,
const char8 *  s2 
)
inline

◆ operator>() [2/5]

bool Steinberg::operator> ( const ConstString s1,
const char8 *  s2 
)
inline

◆ operator>=() [2/5]

bool Steinberg::operator>= ( const ConstString s1,
const char8 *  s2 
)
inline

◆ operator==() [2/5]

bool Steinberg::operator== ( const ConstString s1,
const char8 *  s2 
)
inline

◆ operator!=() [2/5]

bool Steinberg::operator!= ( const ConstString s1,
const char8 *  s2 
)
inline

◆ operator<() [3/5]

bool Steinberg::operator< ( const char8 *  s1,
const ConstString s2 
)
inline

◆ operator<=() [3/5]

bool Steinberg::operator<= ( const char8 *  s1,
const ConstString s2 
)
inline

◆ operator>() [3/5]

bool Steinberg::operator> ( const char8 *  s1,
const ConstString s2 
)
inline

◆ operator>=() [3/5]

bool Steinberg::operator>= ( const char8 *  s1,
const ConstString s2 
)
inline

◆ operator==() [3/5]

bool Steinberg::operator== ( const char8 *  s1,
const ConstString s2 
)
inline

◆ operator!=() [3/5]

bool Steinberg::operator!= ( const char8 *  s1,
const ConstString s2 
)
inline

◆ operator<() [4/5]

bool Steinberg::operator< ( const ConstString s1,
const char16 *  s2 
)
inline

◆ operator<=() [4/5]

bool Steinberg::operator<= ( const ConstString s1,
const char16 *  s2 
)
inline

◆ operator>() [4/5]

bool Steinberg::operator> ( const ConstString s1,
const char16 *  s2 
)
inline

◆ operator>=() [4/5]

bool Steinberg::operator>= ( const ConstString s1,
const char16 *  s2 
)
inline

◆ operator==() [4/5]

bool Steinberg::operator== ( const ConstString s1,
const char16 *  s2 
)
inline

◆ operator!=() [4/5]

bool Steinberg::operator!= ( const ConstString s1,
const char16 *  s2 
)
inline

◆ operator<() [5/5]

bool Steinberg::operator< ( const char16 *  s1,
const ConstString s2 
)
inline

◆ operator<=() [5/5]

bool Steinberg::operator<= ( const char16 *  s1,
const ConstString s2 
)
inline

◆ operator>() [5/5]

bool Steinberg::operator> ( const char16 *  s1,
const ConstString s2 
)
inline

◆ operator>=() [5/5]

bool Steinberg::operator>= ( const char16 *  s1,
const ConstString s2 
)
inline

◆ operator==() [5/5]

bool Steinberg::operator== ( const char16 *  s1,
const ConstString s2 
)
inline

◆ operator!=() [5/5]

bool Steinberg::operator!= ( const char16 *  s1,
const ConstString s2 
)
inline

◆ strnatcmp()

int32 Steinberg::strnatcmp ( const char *  s1,
const char *  s2,
bool  caseSensitive = true 
)
inline

◆ InjectCreateTimerFunction()

void InjectCreateTimerFunction ( CreateTimerFunc  f)

◆ newTimerCallback()

ITimerCallback * Steinberg::newTimerCallback ( const Call &  call)

◆ DEF_CLASS_IID()

Steinberg::DEF_CLASS_IID ( IUpdateManager  )

Variable Documentation

◆ gFObjectIidInitializer

struct Steinberg::FObjectIIDInitializer gFObjectIidInitializer
Empty

Copyright © Steinberg Media Technologies GmbH. All Rights Reserved. This documentation is under this license.