Listing 2: Extract from stlsoft_constraints.h.
 /* /////////////////////////////////////////////////////////////

* Extract from stlsoft_constraints.h * www: http://www.stlsoft.org/ * Copyright (C) 2002-2003, Synesis Software Pty Ltd. * (Licensed under the Synesis Software Standard Source License: * http://www.synesis.com.au/licenses/ssssl.html) * ////////////////////////////////////////////////////////// */ template <typename T> union type_is_non_class_or_trivial_class { T t; int i; // ctor is required to satisy Metrowerks type_is_non_class_or_trivial_class() {} }; #define stlsoft_constraint_type_is_non_class_or_trivial_class(_T) \ stlsoft_static_assert( \ sizeof( \ stlsoft::type_is_non_class_or_trivial_class<_T>) != 0) /* ////////////////////////////////////////////////////////// */