C ++ 98/03 std :: is_constructible реализация

Базовые компоненты моей хобби-библиотеки должны работать с компиляторами C ++ 98 и C ++ 11. Чтобы учиться и получать удовольствие, я создал реализации C ++ 98 с поддержкой нескольких типов (например,enable_if, conditional, is_same, is_integral и т.д. ...) чтобы использовать их, когда нет поддержки C ++ 11.

Однако пока я осуществлялis_constructible Я застрял. Есть ли какая-то магия шаблона (своего рода SFINAE), с помощью которой я могу реализовать ее без поддержки C ++ 11 (declval)?

Конечно, в C ++ 03 нет поддержки шаблонов с переменными параметрами, поэтому я буду специализировать реализацию до некоторой глубины. Главный вопрос заключается в том, существует ли метод, который может решить, является ли T конструируемым из данных типов или нет.

Ответы на вопрос(2)

Ваш ответ на вопрос