Здравствуйте, _niko_, Вы писали:
__>...
__>Но все же obj.base_api::print();
— это говорит о том что тут что то пошло не так и лучше бы перепроектировать
Это же не я, это стандартная библиотека такую свинью подложила, std. Вот эти вот классы, они в std определены и специализировать мне их предлагают по стандарту. А я говорил, что люди принимающие стандарты, по ходу вообще не думают, последнее время.
Конструктивная критика: почему они сделали классы, почему не функции, как это сделал я в свое время в своей библиотеке форматирования. Если сделать форматер для всех наследников какого-то класса еще можно, с помощью SFINAE, то ADL для специализаций классов не работает и нет возможности определять форматеры в своём пространстве имен, оставляя возможность вызывать базовые из std.