Есть ли готовая функция, которая может принимать параметр шаблона в качестве аргумента и определять, что это определенные пользователем типы (класс или структура) или встроенные типы данных (int, float, char ...)?Оценка параметра шаблона
ответ
Вы ищете шаблон std::is_arithmetic, который определяет, является ли параметр шаблона целым или с плавающей точкой.
В процессе исключения единственными оставшимися параметрами являются: указатель или ссылка, класс и void
. Может быть, и переименование. Из вашего вопроса неясно, как вы хотите их классифицировать, но, если необходимо, добавление некоторых дополнительных проверок поверх std::is_arithmetic
должно позволить устранить этот тип еще раз.
Примечание: 'std :: is_fundamental' охватывает' void' и 'std :: nullptr_t' дополнительно к арифметическим типам. Кроме того, существуют массивы, указатели и указатели-члены и ссылки. Может быть проще начать с 'is_class' и' is_union' и проверить, не сработают ли они, а также удалить cv-квалификаторы и указатели и/или ссылки в зависимости от того, что именно хочет OP. – chris
- 1. Оценка макромолекулы C параметра
- 2. Оценка шаблона на лету
- 3. Оценка шаблона рамки
- 4. Оценка шаблона Variadic
- 5. Угловая оценка шаблона Ajax
- 6. скрытия параметра шаблона шаблона члена
- 7. Значение параметра шаблона шаблона C++
- 8. Частичная конкретизация шаблона параметра шаблона
- 9. Создание параметра шаблона друга?
- 10. C++ value_type параметра шаблона
- 11. VALUE_TYPE параметра шаблона контейнера
- 12. аргумент параметра вариационного шаблона
- 13. Вывод параметра шаблона C++
- 14. Инициализация параметра шаблона
- 15. Модификатор параметра шаблона
- 16. Тестирование подписи параметра шаблона
- 17. Вывод типа параметра шаблона
- 18. Параметр параметра приложения шаблона
- 19. Шаблон класса как параметр параметра параметра шаблона
- 20. Выбор типа параметра на основе параметра шаблона
- 21. Класс шаблона в качестве параметра класса шаблона
- 22. Возможно ли совершенное форматирование параметра шаблона шаблона
- 23. См собственного типа для параметра шаблона шаблона
- 24. Функция шаблона в качестве параметра шаблона
- 25. Повторная оценка MultiConverter при изменении параметра?
- 26. Непреднамеренная множественная оценка параметра в макросе
- 27. Оценка привязки массива ODP.NET-массива/выходного параметра
- 28. Ошибка шаблона-шаблона-параметра для метода шаблона (хотя явно-специализированного)
- 29. Является ли значение параметра шаблона шаблона шаблона по умолчанию выбранным?
- 30. Использование шаблона функции в качестве параметра шаблона шаблона в C++
Отъезд [''] (http://en.cppreference.com/w/cpp/header/type_traits) –
NathanOliver