Dunno if this is the best list, but I think Dimitri is reading
this list as well, so here it goes:
I am in desperate need for a little better namespace support
as follows: I'd like to be able to define (inline in the
source code and as default in the config file) a default
namespace for both input (links) and output (functions,
classes, variables etc).
The default namespace should have the following precedence:
Input:
1) Whatever is defined inline in the source code
(with a new command, for example: \default_namespace_in libcw::debug)
or, of that is not available:
2) The current namespace
Output:
1) Whatever is defined inline in the source code
(with a new command, for example: \default_namespace_out libcw::debug)
or, of that is not available:
2) Whatever is defined in the config file.
Example, suppose the default output namespace in the
config file is set to "aaa::bbb" then instead of printing
"aaa::bbb::ccc::ddd" doxygen should print "ccc::ddd".
Unless explicitely a different output namespace is set:
/**
* \default_namespace_out aaa
* Click here \ref aaa::bbb::ccc::func()
*/
Should output "bbb::ccc::func()".
The input namespace would make it easier to write links,
for example when the default namespace is "aaa::bbb", then
one shouldn't need to specify that:
namespace aaa {
namespace bbb {
/**
* \default_namespace_out aaa
* Click here \ref ccc::func()
*/
...
would look for "ccc::func()" inside namespace aaa::bbb (because that
is the current namespace), find it and then print "bbb::ccc::func()"
because the default output namespace is set to "aaa".
As it is now I have constantly tell doxygen where to find variables
and classes and then use a cubersome /link construct because I don't
want it to be printed like that... For example:
/** This is a \link libcw::debug::class_ct::example() class_ct::example() \endlink. */
I'd rather just write:
/** This is a class_ct::example(). */
Imho a good policy would be to automatically add a link for everything (that is
found in the default namespace(s)) that contains a :: or (...), and not in
other cases; in that case one would have to add explicitely \ref.
For example:
/** This is automatically linked to: Foo::foo, this too: func().
* But here I need to add explicitely a reference: \ref foobar. */
Having a namespace called 'debug' and one called 'channels',
I am getting nuts writing %debug %channels alllllll the time.
I'd rather have to explicitely tell doxygen when a simple
english word has to be resolved as something that can be referenced.
--
Carlo Wood <ca...@al...>
|