Точка настройки между библиотекамиC++

Программы на C++. Форум разработчиков
Anonymous
Точка настройки между библиотеками

Сообщение Anonymous »

Я работаю над более крупным проектом, который включает в себя несколько библиотек, статически связанных друг с другом.
Например: у меня есть библиотека A и библиотека B. Библиотека B статически связана с библиотекой A. .
Проблема, которую я сейчас пытаюсь решить, заключается в том, что библиотека A определяет функцию шаблона DrawUI

Код: Выделить всё

template 
void DrawUI(T&) = delete;
Я хотел бы иметь возможность специализировать этот шаблон в библиотеке B. Я добился этого, специализируя функции в заголовке внутри B, но для этого требуется, чтобы заголовок был включен где-то внутри B. Я бы предпочел иметь возможность определять их где-нибудь в cpp, но не уверен, возможно ли это.
Как обычно реализуются точки настройки (например: std::hash), и я уже есть подобная вещь, работающая с нешаблонной функцией, помеченной как extern и реализованная только в cpp внутри LibraryB, поэтому я надеялся, что смогу добиться того же с этим шаблоном.
Кроме того, я хотелось бы иметь возможность проверять во время компиляции, существует ли специализация для данного типа, вызывая функцию в LibraryA, присваивая ей тип T для регистрации этих функций для последующего использования, если type_trait/concept определяет, что DrawUI существует для этого типа.

Подробнее здесь: https://stackoverflow.com/questions/787 ... -libraries

Вернуться в «C++»