GNOME Bugzilla – Bug 696413
\ref does not work for C++11 using typedefs
Last modified: 2013-03-26 15:34:05 UTC
Hello, C++11 "using" declarations like using str = std::string; are treated by Doxygen as typedefs. However, unlike typedefs, it seems impossible to reference them using \ref :( Doxygen warns that "unable to resolve reference to `...' for \ref command" HTH, Sylwester
Thank you for reporting this bug. FYI - I have been discussing this problem with other developers on the doxygen-develop mailing list. This declaration (which I like to refer to as an extension) was found in a drafted C++ standard document, dated 2012. While we wait for Dimitri to determine what should happen to this bug report, could you upload an example with doxyfile in a tar and zip so that we can more accurately reproduce the bug? Thanks.
Hi, I'm very sorry. It wasn't a bug - the code lacked documentation for a namespace which contained the "using" statement. Anyhow, I'm attaching a testcase showing that it works correctly. BTW, Bjarne calls it "template alias" and includes it in his C++11 FAQ referring to the C++11 standard: http://www.stroustrup.com/C++11FAQ.html#template-alias Is it then an extension? Thanks, Sylwester
Created attachment 239867 [details] Testcase showing that it's not a bug - all works correctly
I like to call them extensions as they are a new way to write code in C++. Also, Visual Studio.net does not yet have support for this extension. Partial support for C++11 is available, but the template alias is not yet supported in Visual Studio.net.