template <class T>
struct is_object : public true_type-or-false_type {};
Наследования: Если T является (возможно кв-квалифицированным) типом объекта, то наследует от True_type, иначе наследует от false_type. Все типы являются типами объектов, за исключением ссылок, пустот и типов функций.
C++ Standard Reference: 3.9p9.
Совместимость компилятора: Все нынешние компиляторы поддерживаются этой чертой.
Здесь: #include <boost/type_traits/is_object.hpp>>>>>>>>>>>>>>
Примеры:
is_object<int*>::type является типом true_type.
is_object<int (*)(void)>:: value является постоянным выражением, которое оценивает до true.
is_object<int (MyClass::*"void)const>:: value является постоянным выражением, которое оценивает true.
is_object<int &>:: value является неотъемлемым постоянным выражением, которое оценивает на false: эталонные типы не являются объектами
is_object<int (двойная)>::значение является неотъемлемым постоянным выражением, которое оценивает до false: типы функций не являются объектами
is_object<const void>:: value является неотъемлемым постоянным выражением, которое оценивает до false: пустота не является типом объекта
is_object<T>:: value_type - это тип bool.