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

Namespaces

namespace  Steinberg
 
namespace  Steinberg::Vst
 

Macros

#define SMTG_VST_COMPILE_TIME_STRUCT_CHECK   1
 
#define SMTG_PRINT_TYPE_SIZE_ALIGN(T)
 

Functions

 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_ALIGN_CHECK (ProcessSetup, 8, 1, 8, 8) SMTG_TYPE_ALIGN_CHECK(AudioBusBuffers
 
 SMTG_TYPE_ALIGN_CHECK (ProcessData, 8, 1, 4, 4) SMTG_TYPE_ALIGN_CHECK(BusInfo
 
 SMTG_TYPE_ALIGN_CHECK (RoutingInfo, 4, 1, 4, 4) SMTG_TYPE_ALIGN_CHECK(IContextMenuItem
 
 SMTG_TYPE_ALIGN_CHECK (ParameterInfo, 8, 1, 8, 8) SMTG_TYPE_ALIGN_CHECK(NoteOnEvent
 
 SMTG_TYPE_ALIGN_CHECK (NoteOffEvent, 4, 1, 4, 4) SMTG_TYPE_ALIGN_CHECK(DataEvent
 
 SMTG_TYPE_ALIGN_CHECK (PolyPressureEvent, 4, 1, 4, 4) SMTG_TYPE_ALIGN_CHECK(ChordEvent
 
 SMTG_TYPE_ALIGN_CHECK (ScaleEvent, 8, 1, 4, 4) SMTG_TYPE_ALIGN_CHECK(LegacyMIDICCOutEvent
 
 SMTG_TYPE_ALIGN_CHECK (Event, 8, 1, 8, 8) 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_ALIGN_CHECK (FrameRate, 4, 1, 4, 4) SMTG_TYPE_ALIGN_CHECK(Chord
 
 SMTG_TYPE_ALIGN_CHECK (ProcessContext, 8, 1, 8, 8) SMTG_TYPE_ALIGN_CHECK(RepresentationInfo
 
 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 ©2024 Steinberg Media Technologies GmbH. All Rights Reserved. This documentation is under this license.