summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan Goodliffe <dan@randomdan.homeip.net>2019-02-25 21:18:46 +0000
committerDan Goodliffe <dan@randomdan.homeip.net>2019-02-25 21:18:46 +0000
commit4e47d16745a8be7135e97833f497d3d282a7b3e4 (patch)
treede40dad5a87ebd1450e262d4748ea9cce66d8a67
parentRemoved unrequired destructor (diff)
downloadlibadhocutil-4e47d16745a8be7135e97833f497d3d282a7b3e4.tar.bz2
libadhocutil-4e47d16745a8be7135e97833f497d3d282a7b3e4.tar.xz
libadhocutil-4e47d16745a8be7135e97833f497d3d282a7b3e4.zip
Mark explicitly instantiated functions as public
Fixes link issue with Clang.
-rw-r--r--libadhocutil/plugins.impl.h14
1 files changed, 7 insertions, 7 deletions
diff --git a/libadhocutil/plugins.impl.h b/libadhocutil/plugins.impl.h
index 8a2ca8a..7d70e8d 100644
--- a/libadhocutil/plugins.impl.h
+++ b/libadhocutil/plugins.impl.h
@@ -92,13 +92,13 @@ namespace AdHoc {
#define INSTANTIATEPLUGINOF(...) \
template class AdHoc::PluginOf<__VA_ARGS__>; \
- template void AdHoc::PluginManager::add<__VA_ARGS__>(const std::shared_ptr<__VA_ARGS__> &, const std::string_view &, const std::string_view &, int); \
- template void AdHoc::PluginManager::remove<__VA_ARGS__>(const std::string_view &); \
- template std::shared_ptr<const AdHoc::PluginOf<__VA_ARGS__>> AdHoc::PluginManager::get<__VA_ARGS__>(const std::string_view &) const; \
- template std::shared_ptr<__VA_ARGS__> AdHoc::PluginManager::getImplementation<__VA_ARGS__>(const std::string_view &) const; \
- template std::set<std::shared_ptr<const AdHoc::PluginOf<__VA_ARGS__>>> AdHoc::PluginManager::getAll<__VA_ARGS__>() const; \
- template void AdHoc::PluginManager::addResolver<__VA_ARGS__>(const AdHoc::PluginManager::PluginResolver & f); \
- template void AdHoc::PluginManager::removeResolver<__VA_ARGS__>(); \
+ template DLL_PUBLIC void AdHoc::PluginManager::add<__VA_ARGS__>(const std::shared_ptr<__VA_ARGS__> &, const std::string_view &, const std::string_view &, int); \
+ template DLL_PUBLIC void AdHoc::PluginManager::remove<__VA_ARGS__>(const std::string_view &); \
+ template DLL_PUBLIC std::shared_ptr<const AdHoc::PluginOf<__VA_ARGS__>> AdHoc::PluginManager::get<__VA_ARGS__>(const std::string_view &) const; \
+ template DLL_PUBLIC std::shared_ptr<__VA_ARGS__> AdHoc::PluginManager::getImplementation<__VA_ARGS__>(const std::string_view &) const; \
+ template DLL_PUBLIC std::set<std::shared_ptr<const AdHoc::PluginOf<__VA_ARGS__>>> AdHoc::PluginManager::getAll<__VA_ARGS__>() const; \
+ template DLL_PUBLIC void AdHoc::PluginManager::addResolver<__VA_ARGS__>(const AdHoc::PluginManager::PluginResolver & f); \
+ template DLL_PUBLIC void AdHoc::PluginManager::removeResolver<__VA_ARGS__>(); \
#define PLUGINRESOLVER(T, F) \
namespace MAKE_UNIQUE(__plugin__) { \