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));
}
|