[/ Copyright 2007 John Maddock. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt). ] [section:is_class is_class] template struct is_class : public __tof {}; __inherit If T is a (possibly cv-qualified) class type (and not a union type) then inherits from __true_type, otherwise inherits from __false_type. __std_ref 3.9.2 and 9.2. __header ` #include ` or ` #include ` __compat This trait works correctly for almost all current compilers (as of June 2015), with just a minority of older compilers not correctly detecting all the corner cases. You can check the macro `BOOST_TT_HAS_CONFORMING_IS_CLASS_IMPLEMENTATION` which is defined to 1 when the class works correctly in all cases. __examples [:Given: `class MyClass;` then:] [:`is_class` inherits from `__true_type`.] [:`is_class::type` is the type `__true_type`.] [:`is_class::value` is an integral constant expression that evaluates to /true/.] [:`is_class::value` is an integral constant expression that evaluates to /false/.] [:`is_class::value` is an integral constant expression that evaluates to /false/.] [:`is_class::value_type` is the type `bool`.] [endsect]