OMNI_STATIC_ASSERT_CAN_BE_PASSED_BY_VALUE_IN_ABI#

OMNI_STATIC_ASSERT_CAN_BE_PASSED_BY_VALUE_IN_ABI(type_)#

At compile-time, check if the given type can safely be copied by value across the ABI.

For a type to safely passed across the ABI, the type must be:

  • Standard Layout so that the layout of members in the type fall into predictable locations.

  • Trivially Copyable so that the type can be copied outside of non-C++ environments.

  • Trivially Destructible so that temporary copies can be safely created (and destructed) when interoperating between language runtimes.