Base Module  VST 3.7
SDK for developing VST plug-in
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Steinberg Namespace Reference

Namespaces

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

Classes

class  Buffer
 Buffer. More...
 
struct  FDeleter
 Template definition for classes that help guarding against memory leaks. More...
 
struct  FArrayDeleter
 Template definition for classes that help guarding against memory leaks. More...
 
struct  FPtrNuller
 Template definition for classes that help guarding against dangling pointers. More...
 
struct  FNuller
 Template definition for classes that help resetting an object's value. More...
 
struct  FBooleanSetter
 Class definition for objects that help resetting boolean variables. More...
 
struct  FConditionalBoolSetter
 Class definition for objects that help setting boolean variables. More...
 
struct  FCloser
 Template definition for classes that help closing resources. More...
 
class  FMallocReleaser
 Class definition for objects that help guarding against memory leaks. More...
 
class  FDynLibrary
 Platform independent dynamic library loader. More...
 
class  FObject
 Implements FUnknown and IDependent. 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  ConstString
 Invariant String. More...
 
class  String
 String. More...
 
class  StringObject
 StringObject implements IStringResult and IString methods. More...
 
class  ITimerCallback
 Implement this callback interface to receive triggers from a timer. More...
 
class  Timer
 Timer is a class that allows you to receive triggers at regular intervals. More...
 
class  DisableDispatchingTimers
 Disables dispatching of timers for the live time of this object. More...
 
class  IUpdateManager
 Handle Send and Cancel pending message for a given object. 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.
 
template<class C >
C * FCast (FUnknown *unknown)
 FCast overload 2 - FUnknown to FObject.
 
template<class I >
IPtr< I > ICast (FObject *object)
 ICast - casting from FObject to FUnknown Interface.
 
template<class I >
IPtr< I > ICast (FUnknown *object)
 ICast - casting from FUnknown to another FUnknown Interface.
 
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)
}
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

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

Enumeration Type Documentation

enum FSeekMode
Enumerator
kSeekSet 
kSeekCurrent 
kSeekEnd 
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.

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

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

FCast overload 1 - FObject to FObject.

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

FCast overload 2 - FUnknown to FObject.

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

ICast - casting from FObject to FUnknown Interface.

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

ICast - casting from FUnknown to another FUnknown Interface.

C* Steinberg::FCastIsA ( const FObject *  object)
inline
SMTG_DEPRECATED_MSG ( "use ICast<>"  )
void Steinberg::SafeRelease ( I *&  ptr)
inline
void Steinberg::SafeRelease ( IPtr< I > &  ptr)
inline
void Steinberg::SafeDelete ( T *&  ptr)
inline
void Steinberg::AssignShared ( T *&  dest,
T *  newPtr 
)
inline
void Steinberg::AssignSharedDependent ( IDependent *  _this,
T *&  dest,
T *  newPtr 
)
inline
void Steinberg::AssignSharedDependent ( IDependent *  _this,
IPtr< T > &  dest,
T *  newPtr 
)
inline
void Steinberg::SafeReleaseDependent ( IDependent *  _this,
T *&  dest 
)
inline
void Steinberg::SafeReleaseDependent ( IDependent *  _this,
IPtr< T > &  dest 
)
inline
uint32 hashString8 ( const char8 *  s,
uint32  m 
)
uint32 hashString16 ( const char16 *  s,
uint32  m 
)
int32 Steinberg::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 Steinberg::hashString ( const char *  s,
uint32  m 
)
inline
String Steinberg::operator+ ( const ConstString &  s1,
const ConstString &  s2 
)
inline
String Steinberg::operator+ ( const ConstString &  s1,
const char8 *  s2 
)
inline
String Steinberg::operator+ ( const ConstString &  s1,
const char16 *  s2 
)
inline
String Steinberg::operator+ ( const char8 *  s1,
const ConstString &  s2 
)
inline
String Steinberg::operator+ ( const char16 *  s1,
const ConstString &  s2 
)
inline
String Steinberg::operator+ ( const ConstString &  s1,
const String &  s2 
)
inline
String Steinberg::operator+ ( const String &  s1,
const ConstString &  s2 
)
inline
String Steinberg::operator+ ( const String &  s1,
const String &  s2 
)
inline
String Steinberg::operator+ ( const String &  s1,
const char8 *  s2 
)
inline
String Steinberg::operator+ ( const String &  s1,
const char16 *  s2 
)
inline
String Steinberg::operator+ ( const char8 *  s1,
const String &  s2 
)
inline
String Steinberg::operator+ ( const char16 *  s1,
const String &  s2 
)
inline
bool Steinberg::operator< ( const ConstString &  s1,
const ConstString &  s2 
)
inline
bool Steinberg::operator<= ( const ConstString &  s1,
const ConstString &  s2 
)
inline
bool Steinberg::operator> ( const ConstString &  s1,
const ConstString &  s2 
)
inline
bool Steinberg::operator>= ( const ConstString &  s1,
const ConstString &  s2 
)
inline
bool Steinberg::operator== ( const ConstString &  s1,
const ConstString &  s2 
)
inline
bool Steinberg::operator!= ( const ConstString &  s1,
const ConstString &  s2 
)
inline
bool Steinberg::operator< ( const ConstString &  s1,
const char8 *  s2 
)
inline
bool Steinberg::operator<= ( const ConstString &  s1,
const char8 *  s2 
)
inline
bool Steinberg::operator> ( const ConstString &  s1,
const char8 *  s2 
)
inline
bool Steinberg::operator>= ( const ConstString &  s1,
const char8 *  s2 
)
inline
bool Steinberg::operator== ( const ConstString &  s1,
const char8 *  s2 
)
inline
bool Steinberg::operator!= ( const ConstString &  s1,
const char8 *  s2 
)
inline
bool Steinberg::operator< ( const char8 *  s1,
const ConstString &  s2 
)
inline
bool Steinberg::operator<= ( const char8 *  s1,
const ConstString &  s2 
)
inline
bool Steinberg::operator> ( const char8 *  s1,
const ConstString &  s2 
)
inline
bool Steinberg::operator>= ( const char8 *  s1,
const ConstString &  s2 
)
inline
bool Steinberg::operator== ( const char8 *  s1,
const ConstString &  s2 
)
inline
bool Steinberg::operator!= ( const char8 *  s1,
const ConstString &  s2 
)
inline
bool Steinberg::operator< ( const ConstString &  s1,
const char16 *  s2 
)
inline
bool Steinberg::operator<= ( const ConstString &  s1,
const char16 *  s2 
)
inline
bool Steinberg::operator> ( const ConstString &  s1,
const char16 *  s2 
)
inline
bool Steinberg::operator>= ( const ConstString &  s1,
const char16 *  s2 
)
inline
bool Steinberg::operator== ( const ConstString &  s1,
const char16 *  s2 
)
inline
bool Steinberg::operator!= ( const ConstString &  s1,
const char16 *  s2 
)
inline
bool Steinberg::operator< ( const char16 *  s1,
const ConstString &  s2 
)
inline
bool Steinberg::operator<= ( const char16 *  s1,
const ConstString &  s2 
)
inline
bool Steinberg::operator> ( const char16 *  s1,
const ConstString &  s2 
)
inline
bool Steinberg::operator>= ( const char16 *  s1,
const ConstString &  s2 
)
inline
bool Steinberg::operator== ( const char16 *  s1,
const ConstString &  s2 
)
inline
bool Steinberg::operator!= ( const char16 *  s1,
const ConstString &  s2 
)
inline
int32 Steinberg::strnatcmp ( const char *  s1,
const char *  s2,
bool  caseSensitive = true 
)
inline
void InjectCreateTimerFunction ( CreateTimerFunc  f)
ITimerCallback* Steinberg::newTimerCallback ( const Call &  call)
Steinberg::DEF_CLASS_IID ( IUpdateManager  )

Variable Documentation

struct Steinberg::FObjectIIDInitializer gFObjectIidInitializer
Empty

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