Base Module VST 3.7
SDK for developing VST plug-in
classfactoryhelpers.h File Reference

Macros

#define META_CREATE_FUNC(funcName)   static FUnknown* funcName ()
 
#define CLASS_CREATE_FUNC(className)
 
#define SINGLE_CREATE_FUNC(className)
 
#define _META_CLASS(className)
 
#define _META_CLASS_IFACE(className, Interface)
 
#define META_CLASS(className)
 TODO. More...
 
#define META_CLASS_IFACE(className, Interface)
 TODO. More...
 
#define META_CLASS_SINGLE(className, Interface)
 TODO. More...
 

Macro Definition Documentation

◆ META_CREATE_FUNC

#define META_CREATE_FUNC (   funcName)    static FUnknown* funcName ()

◆ CLASS_CREATE_FUNC

#define CLASS_CREATE_FUNC (   className)
Value:
namespace Meta { \
META_CREATE_FUNC (make##className) { return (NEW className)->unknownCast (); } \
}
#define NEW
Definition: fdebug.h:217

◆ SINGLE_CREATE_FUNC

#define SINGLE_CREATE_FUNC (   className)
Value:
namespace Meta { \
META_CREATE_FUNC (make##className) { return className::instance ()->unknownCast (); } \
}

◆ _META_CLASS

#define _META_CLASS (   className)
Value:
namespace Meta { \
static Steinberg::MetaClass meta##className ((#className), Meta::make##className); \
}

◆ _META_CLASS_IFACE

#define _META_CLASS_IFACE (   className,
  Interface 
)
Value:
namespace Meta { \
static Steinberg::MetaClass meta##Interface##className ((#className), Meta::make##className, \
Interface##_iid); \
}

◆ META_CLASS

#define META_CLASS (   className)
Value:
CLASS_CREATE_FUNC (className) \
_META_CLASS (className)
#define CLASS_CREATE_FUNC(className)
Definition: classfactoryhelpers.h:50

TODO.

◆ META_CLASS_IFACE

#define META_CLASS_IFACE (   className,
  Interface 
)
Value:
CLASS_CREATE_FUNC (className) \
_META_CLASS_IFACE (className, Interface)

TODO.

◆ META_CLASS_SINGLE

#define META_CLASS_SINGLE (   className,
  Interface 
)
Value:
SINGLE_CREATE_FUNC (className) \
_META_CLASS_IFACE (className, Interface)
#define SINGLE_CREATE_FUNC(className)
Definition: classfactoryhelpers.h:55

TODO.

Empty

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