Oipo commented on a change in pull request #293:
URL: https://github.com/apache/celix/pull/293#discussion_r526362641
##########
File path: libs/framework/include/celix/dm/Component_Impl.h
##########
@@ -63,7 +88,7 @@ Component<T>& Component<T>::addInterfaceWithName(const
std::string &serviceName,
template<class T>
template<class I>
-Component<T>& Component<T>::addInterface(const std::string &version, const
Properties &properties) {
+inline Component<T>& Component<T>::addInterface(const std::string &version,
const Properties &properties) {
Review comment:
In short:
1) please remove inline from all templated functions.
2) two options
a) keep inline for the non-templated functions, solves the double
implementation issue.
b) create a DependencyManager_Impl.cc and move the non-templated function
implementations there, have the impl header only contain templated functions.
Faster compilation times and no confusing inline anywhere.
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]