VST 3 SDK  VST 3.6.14
SDK for developing VST Plug-in
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Macros Groups Pages
vststructsizecheck.h File Reference

Namespaces

 Steinberg
 
 Steinberg::Vst
 

Macros

#define SMTG_VST_COMPILE_TIME_STRUCT_CHECK   1
 
#define SMTG_PRINT_TYPE_SIZE_ALIGN(T)
 

Functions

 SMTG_TYPE_SIZE_CHECK (PFactoryInfo, 452, 452, 452, 452) SMTG_TYPE_SIZE_CHECK(PClassInfo
 
 SMTG_TYPE_SIZE_CHECK (PClassInfo2, 440, 440, 440, 440) SMTG_TYPE_SIZE_CHECK(PClassInfoW
 
 SMTG_TYPE_ALIGN_CHECK (PFactoryInfo, 4, 4, 4, 4) SMTG_TYPE_ALIGN_CHECK(PClassInfo
 
 SMTG_TYPE_ALIGN_CHECK (PClassInfo2, 4, 4, 4, 4) SMTG_TYPE_ALIGN_CHECK(PClassInfoW
 
 SMTG_TYPE_SIZE_CHECK (ProcessSetup, 24, 20, 24, 24) SMTG_TYPE_SIZE_CHECK(AudioBusBuffers
 
 SMTG_TYPE_SIZE_CHECK (ProcessData, 80, 48, 48, 48) SMTG_TYPE_ALIGN_CHECK(ProcessSetup
 
 SMTG_TYPE_ALIGN_CHECK (AudioBusBuffers, 8, 1, 8, 8) SMTG_TYPE_ALIGN_CHECK(ProcessData
 
 SMTG_TYPE_SIZE_CHECK (BusInfo, 276, 276, 276, 276) SMTG_TYPE_SIZE_CHECK(RoutingInfo
 
 SMTG_TYPE_ALIGN_CHECK (BusInfo, 4, 1, 4, 4) SMTG_TYPE_ALIGN_CHECK(RoutingInfo
 
 SMTG_TYPE_SIZE_CHECK (IContextMenuItem, 264, 264, 264, 264) SMTG_TYPE_ALIGN_CHECK(IContextMenuItem
 
 SMTG_TYPE_SIZE_CHECK (ParameterInfo, 792, 792, 792, 792) SMTG_TYPE_ALIGN_CHECK(ParameterInfo
 
 SMTG_TYPE_SIZE_CHECK (NoteOnEvent, 20, 20, 20, 20) SMTG_TYPE_SIZE_CHECK(NoteOffEvent
 
 SMTG_TYPE_SIZE_CHECK (DataEvent, 16, 12, 12, 12) SMTG_TYPE_SIZE_CHECK(PolyPressureEvent
 
 SMTG_TYPE_SIZE_CHECK (ChordEvent, 16, 12, 12, 12) SMTG_TYPE_SIZE_CHECK(ScaleEvent
 
 SMTG_TYPE_SIZE_CHECK (LegacyMIDICCOutEvent, 4, 4, 4, 4) SMTG_TYPE_SIZE_CHECK(Event
 
 SMTG_TYPE_ALIGN_CHECK (NoteOnEvent, 4, 1, 4, 4) SMTG_TYPE_ALIGN_CHECK(NoteOffEvent
 
 SMTG_TYPE_ALIGN_CHECK (DataEvent, 8, 1, 4, 4) SMTG_TYPE_ALIGN_CHECK(PolyPressureEvent
 
 SMTG_TYPE_ALIGN_CHECK (ChordEvent, 8, 1, 4, 4) SMTG_TYPE_ALIGN_CHECK(ScaleEvent
 
 SMTG_TYPE_ALIGN_CHECK (LegacyMIDICCOutEvent, 1, 1, 1, 1) SMTG_TYPE_ALIGN_CHECK(Event
 
 SMTG_TYPE_SIZE_CHECK (NoteExpressionValueDescription, 32, 28, 32, 32) SMTG_TYPE_SIZE_CHECK(NoteExpressionValueEvent
 
 SMTG_TYPE_SIZE_CHECK (NoteExpressionTextEvent, 24, 16, 16, 16) SMTG_TYPE_SIZE_CHECK(NoteExpressionTypeInfo
 
 SMTG_TYPE_SIZE_CHECK (KeyswitchInfo, 536, 536, 536, 536) SMTG_TYPE_ALIGN_CHECK(NoteExpressionValueDescription
 
 SMTG_TYPE_ALIGN_CHECK (NoteExpressionValueEvent, 8, 1, 4, 8) SMTG_TYPE_ALIGN_CHECK(NoteExpressionTextEvent
 
 SMTG_TYPE_ALIGN_CHECK (NoteExpressionTypeInfo, 8, 1, 8, 8) SMTG_TYPE_ALIGN_CHECK(KeyswitchInfo
 
 SMTG_TYPE_SIZE_CHECK (FrameRate, 8, 8, 8, 8) SMTG_TYPE_SIZE_CHECK(Chord
 
 SMTG_TYPE_SIZE_CHECK (ProcessContext, 112, 104, 112, 112) SMTG_TYPE_ALIGN_CHECK(FrameRate
 
 SMTG_TYPE_ALIGN_CHECK (Chord, 2, 1, 2, 2) SMTG_TYPE_ALIGN_CHECK(ProcessContext
 
 SMTG_TYPE_SIZE_CHECK (RepresentationInfo, 256, 256, 256, 256) SMTG_TYPE_ALIGN_CHECK(RepresentationInfo
 
 SMTG_TYPE_SIZE_CHECK (UnitInfo, 268, 268, 268, 268) SMTG_TYPE_SIZE_CHECK(ProgramListInfo
 
 SMTG_TYPE_ALIGN_CHECK (UnitInfo, 4, 1, 4, 4) SMTG_TYPE_ALIGN_CHECK(ProgramListInfo
 
void printStructSizes ()
 

Macro Definition Documentation

#define SMTG_VST_COMPILE_TIME_STRUCT_CHECK   1
#define SMTG_PRINT_TYPE_SIZE_ALIGN (   T)
Value:
{ \
auto len = strlen (#T); \
std::printf (#T); \
for (auto i = len; i < 35; ++i) \
std::printf (" "); \
std::printf ("size = %3zu | align = %2zu\n", sizeof (T), alignof (T)); \
}
Empty

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