Hi Guys,
Released version 1.5.502 of DoxyBlocks
-Added: Functionality to better process the function return string and the keywords "static" and "inline".
-Added: Functionality to process ** in parameters and return values.
Codeur, I've run it on all of your examples and variations of them and it seems to be doing well. A couple of Qs:
-----------------------------------------------------------
** @brief Example 3: array notation
*
* @param param1[] char*
* @return char
*
*/
char *myFunc(char *param1[])
Currently, your example causes DoxyBlocks to generate this:
/** \brief Brief desc.
*
* \param param1[] char*
* \return char*
*
*/
char *myFunc(char *param1[]){};
and doxygen generates:
char* DoxyBlocks::myFunc ( char * param1[] ) [inline, private]
Brief desc.
Parameters: param1[] char*Returns: char*
which seems OK to me. Doxygen accepts it without parsing errors, which is a major factor, too. What did you have in mind?
-----------------------------------------------------------
/** @brief example 4: Operator not recognised as function
*
* @param
* @param
* @return
*
*/
Rational Rational::operator + (const Rational &other) const;
This is a matter of style. The regexes can't account for all of the variations and preferences of users and, even if they could, I don't have the skills to make them do so. If you remove the spaces, this works as expected:
Rational Rational::operator+(const Rational &other) const;
If you choose to retain the spaces you are given the standard, empty comment block, rather than nothing. This seems reasonable.
-----------------------------------------------------------
/** @brief example 5: inline (and static) taken as return types
*
* @param num int
* @param den int
* @return inline
*
*/
inline Rational::Rational(int num, int den) : numerator(num), denominator(den){}
I don't understand this declaration as my understanding, which you'll no doubt correct where necessary, is that inline functions must be declared in the header where the namespace name is illegal or unnecessary. :?:
However, the point is a good one. It now handles the "static" and "inline" keywords.
Thanks for the detailed report.
Gary.