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
.