views:

745

answers:

1

Could someone tell me what is wrong with this code so doxygen cannot handle?

/*!
\file   Enumerator.h
\brief  Implements an Enumerator pointer for accessing linked list elements.
*/

#pragma once

#ifndef __MSCL_ENUMERATOR_H__
#define __MSCL_ENUMERATOR_H__

namespace MSCL 
{

/*!
\typedef Enumerator

Pointer to linked list data structure.

\sa ArrayList::GetEnumerator, \sa List::GetEnumerator
*/
typedef void* Enumerator;

};
#endif

I need the Enumerator that is used by many methods as an argument type to be

1) Visible in the help index.

2) Correctly linked with this documentation page.

Target documentation format is chm.

It's absolutely confusing becuase there's no error, no warning, nothing.

Once, after playing with different doxygen configuration options I managed to achieve #1 - the type was in the index but I have no idea what switch did that and I couldn't repeat it.

A: 

If I add a doxygen comment to describe namespace MSCL, then documentation for MSCL::Enumerator is generated properly.

Neil
Do you mean----------------------/*!\namespace MSCL\brief blah blah blahblah blah blah*/namespace MSCL {(...)----------------------? Doesn't work. Normally, the namespace declaration block {} is defined by macros - that I've replaced to normal syntax because the doxygen didn't handle it at all - even with preprocessing enabled. Unfortunately, with or without the namespace defined it doesn't work.BTW: The documention for preprocessor macro definitions is not generated as well, so maybe it's a switch I got turned on or off that causes this?
mslaf
I imagine there's a doxygen configuration switch getting in the way. Try putting Enumerator.h in an empty folder, and run doxygen with an empty doxyconf. Add the comment and run doxygen again, with an empty doxyconf. For me, this second run generates documentation for Enumerator on the "MSCL Namespace Reference" page, including the see-also references in the comments.
Neil
Problem solved. Apparently the problem was caused by the "SHOW_FILES" set to false . BTW: if the "SHOW_NAMESPACES" is set to false typedefs are in the index but the documentation page is missing. Thanks much for help;)
mslaf