История изменений
Исправление xaizek, (текущая версия) :
И как этот синтаксический сахар помогает достучаться до private-базовых классов, again?
Второй test_pre_is_base_of
зафейлится на касте (он пройдёт, но будет ошибка) и выберется первый вариант (ибо SFINAE), который вернёт true
.
Из libstdc++
:
template<typename _Base, typename _Derived>
struct is_base_of
: public integral_constant<bool, __is_base_of(_Base, _Derived)>
{ };
А без встроенной функции надо извращаться.
Исправление xaizek, :
И как этот синтаксический сахар помогает достучаться до private-базовых классов, again?
Второй test_pre_is_base_of
зафейлится на касте (он пройдёт, но будет ошибка) и выберется первый вариант (SFINAE), который вернёт true
.
Из libstdc++
:
template<typename _Base, typename _Derived>
struct is_base_of
: public integral_constant<bool, __is_base_of(_Base, _Derived)>
{ };
А без встроенной функции надо извращаться.
Исходная версия xaizek, :
И как этот синтаксический сахар помогает достучаться до private-базовых классов, again?
Второй test_pre_is_base_of
зафейлится на касте (он пройдёт, но будет ошибка) и выберется первый вариант, который вернёт true
.
Из libstdc++
:
template<typename _Base, typename _Derived>
struct is_base_of
: public integral_constant<bool, __is_base_of(_Base, _Derived)>
{ };
А без встроенной функции надо извращаться.