[prev in list] [next in list] [prev in thread] [next in thread] 

List:       doxygen-users
Subject:    [Doxygen-users] Documenting templates/specializations
From:       Dan Delgado <dandelgado () optonline ! net>
Date:       2005-07-31 21:03:48
Message-ID: 200507311703.48318.dandelgado () optonline ! net
[Download RAW message or body]

I've not been able to generate Doxygen docs for my template classes. I looked 
at the first url below and was able to generate a template if I removed the 
specialization and the @class / @brief lines. The second URL seems to 
indicate that what I want to be done can be done. I am using 1.4.2

http://www.bearcave.com/software/templates/doxygen_docs/hierarchy.html
http://software.sandia.gov/trilinos/packages/docs/r5.0/packages/anasazi/doc/html/annotated.html

Excerpts from the "bad" attempt:

	/**
	 * @class Pointer Pointer.h
	 * @brief An abstraction of a pointer type that helps enforce correct use 
through type-checking.
	 *
	 * Template parameters:
	 * T : The type of object that Pointer points to in memory.
	 * canBeDeleted: A boolean used to indicate whether it is
	 * legal to delete the Pointer object. The default is NON_DELETABLE.
	 * AllocationPolicy: A Concept/Policy class that defines, at minimum
	 * create() and destroy(T*) methods.
	 */
	template <typename T,
	          bool canBeDeleted = PointerType::NON_DELETABLE,
	          template <typename> class AllocationPolicy = OperatorNewAllocator>
	class Pointer
	{
		public:
			
			/**
			 * @brief Default constructor.
			 * Creates a "null" pointer of type T.
			 * @exception None
			 */
			Pointer() : ptr_(0)
			{}
...
	};
	
	/**
	 * @class Pointer Pointer.h <sw_memory/Pointer.h>
	 * @brief Specialization of Pointer representing deletable pointers.
	 *
	 */
	template <typename T,
	          template <typename> class AllocationPolicy>
	class Pointer<T, PointerType::DELETABLE, AllocationPolicy>
	{
		public:
			
			/**
			 * @brief Default constructor.
			 * @exception None
			 * Creates a "null" pointer of type T.
			 */
			Pointer() : ptr_(0)
			{}
			
...
	};


Removing the @class/brief and just placing 
@param T ...
@param canBeDeleted ...
@param AllocationPolicy ....

allows the first template (primary) to appear with method docs (and no 
class/brief of course) but I must ALSO remove the specialization for this to 
work. If I add the @params to both, only the second (specialization) appears.


Thanks and sorry for the bother!
---Dan

	


-------------------------------------------------------
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
informative Webcasts and more! Get everything you need to get up to
speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click
_______________________________________________
Doxygen-users mailing list
Doxygen-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/doxygen-users
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic