[Doxygen-users] Split Documentation of templated static function
Brought to you by:
dimitri
From: Torbjörn K. <ope...@to...> - 2015-02-04 09:28:37
|
Hello, I've a set of templated static functions inside a namespace and split up definitions and declarations in "my_funcs.hpp" and "my_funcs_impl.hpp". Some of the functions are overloaded. I'm aiming at providing general API related documentation with the declarations in "my_funcs.hpp" and want to provide additional internal (via `\internal`) documentation with the definitions in "my_funcs_impl.hpp". However, Doxygen will not pick up any documentation I'm providing with the definitions, but issues "warning: no matching file member found for" for each overloaded function. I managed to fix the warning by opening the namespaces in the same way as with the declarations resulting in each function to occur twice in the Doxygen output (the second without any content). How can I achieve the desired output while still keeping the documentation split up? Kind regards, Torbjörn Example Code: my_funcs.hpp: namespace examples { namespace util { /** * general API docu of convenience function */ template<typename T> static T func1(const vector<T>& d); /** * \overload static T func1(typename vector<T>::const_iterator _f, typename vector<T>::const_iterator _e) * general API docu of function */ template<typename T> static T func1(typename vector<T>::const_iterator _f, typename vector<T>::const_iterator _e); } } my_funcs_impl.hpp: #include "my_funcs.hpp" /** * calls overloaded function */ template<typename T> static T examples::util::func1(const vector<T>& d) { return func1(d.cbegin(), d.cend()); } /** * \internal uses std::inner_product */ template<typename T> static T examples::util::func1(typename vector<T>::const_iterator _f, typename vector<T>::const_iterator _e) { return std::inner_product(_f, _e, _f, T(0.0)); } |