VST 3 SDK: PluginFactory< T > Class Template Reference
Author: Steinberg

VST 3 SDK VST 3.8 SDK for developing VST plug-in

Loading...
Searching...
No Matches
Public Member Functions | List of all members
PluginFactory< T > Class Template Reference
Common SDK Implementation Helper Classes

IPluginFactory implementation with compile time provided factory and class infos. More...

`#include <pluginfactory_constexpr.h>`

Inheritance diagram for PluginFactory< T >:

## Public Member Functions
tresult | getFactoryInfo (PFactoryInfo *info) override
int32 | countClasses () override
tresult | getClassInfo (int32 index, PClassInfo *info) override
tresult | createInstance (FIDString cid, FIDString iid, void **obj) override
tresult | getClassInfo2 (int32 index, PClassInfo2 *info) override

## Detailed Description

template<typename T>
class Steinberg::PluginFactory< T >

IPluginFactory implementation with compile time provided factory and class infos.

See also
  Macros for defining the compile time class factory

You can use this factory when your number of classes are known during compile time. The advantage here is that during runtime no unnecessary setup is needed.

Please note that this only supports ASCII names and thus if you need to support Unicode names you must use another implementation.

This only works when compiling with c++17 or newer.

## Member Function Documentation

## ◆ getFactoryInfo()

template<typename T>

tresult getFactoryInfo | ( | PFactoryInfo * | info | ) |
| inlineoverride

## ◆ countClasses()

template<typename T>

int32 countClasses | ( |  | ) |
| inlineoverride

## ◆ getClassInfo()

template<typename T>

tresult getClassInfo | ( | int32 | index,
|  | PClassInfo * | info )
| inlineoverride

## ◆ createInstance()

template<typename T>

tresult createInstance | ( | FIDString | cid,
|  | FIDString | iid,
|  | void ** | obj )
| inlineoverride

## ◆ getClassInfo2()

template<typename T>

tresult getClassInfo2 | ( | int32 | index,
|  | PClassInfo2 * | info )
| inlineoverride

Empty

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