structManagedStructureAlignof {staticconstexprsize_t alignment = alignof(OT); } ;//we use due to MSVC inability to work with abstarct classes
template <typenameOT, bool abstract>
structManagedStructureAlignofAuto {staticconstexprsize_t alignment = ManagedStructureAlignof<OT>::alignment; } ;//we use due to MSVC inability to work with abstarct classes
template <typenameOT>
structManagedStructureAlignofAuto<OT, true> {staticconstexprsize_t alignment = sizeof(void*); } ;//we use due to MSVC inability to work with abstarct classes