Greetings, doxygen developers!
Pleased to meet you here :) I'm new to this list, so please accept my excuses
for potentially stupid questions :)
So, here's the thing that brought me here. I develop C++ and I like doxygen
much for a pretty nice UML-like models it draws (especially with dot). But
C++ modeling lacks one very important feature - consider following code:
class A { /* ... */};
typedef A A_alias;
class B { A_alias a; };
The collaboration diagram for B will not represent any usage of A, while it is
obvious on the language side. While one might argue against aliasing, it is
quite common while using STL, e.g.:
#include <vector>
class A { /* ... */ };
class B
{
typedef vector<A> storage_t;
storage_t storage;
};
So some time ago I implemented this feature by adding additional pass over
entire model just after model is finished, but before any output generation.
For each typedef that pass created a class with the same name and added a
usage link to the real type. Unfortunately my implementation was so weird
that I erased all the code I've written as soon as I made it up.
So, what I want to say is that this is quite handy feature that will help
reverse analyzing a lot. And I would like to provide consistent
implementation, but for that purpose I'll possibly require a bit of your
attention. So, could you please point me the place to put this kind of code?
I suppose parsing phase is more appropriate than additional loop, and I think
that it might be more consistent way to extend typedef representation a bit
and then extend typedef interpretation by graph subsystem.
Well, finally I am looking forward to receiving any guidelines from you.
Thanks in advance :)
--
Best Regards,
Peter A. Kerzum
|