// Implement is_const, is_pointer, is_array and is_const_pointer here int main() { static_assert(is_const::value, "is_const failed for 'int const'"); static_assert(is_const::value, "is_const failed for 'int* const'"); static_assert(!is_const::value, "is_const failed for 'int'"); static_assert(!is_const::value, "is_const failed for 'int const*'"); static_assert(is_pointer::value, "is_pointer failed for 'int*'"); static_assert(is_pointer::value, "is_pointer failed for 'int const*'"); static_assert(is_pointer::value, "is_pointer failed for 'int* const'"); static_assert(!is_pointer::value, "is_pointer failed for 'int'"); static_assert(is_array::value, "is_array failed for 'int[5]'"); static_assert(is_array::value, "is_array failed for 'int const[7]'"); static_assert(!is_array::value, "is_array failed for 'int'"); static_assert(is_const_pointer::value, "is_const_pointer failed for 'int* const'"); static_assert(!is_const_pointer::value, "is_const_pointer failed for 'int*'"); static_assert(!is_const_pointer::value, "is_const_pointer failed for 'int'"); static_assert(!is_const_pointer::value, "is_const_pointer failed for 'int const'"); }