[Doxygen-users] How can I ignore private nested classes?
Brought to you by:
dimitri
From: Simon P. <s.p...@la...> - 2001-12-12 04:16:08
|
Hi, I often use the C++ technique of a "private implementation pointer", i.e. the header for a class contains a pointer to a private class that actually implements the functionality of the class. This removes a lot of implementation specific junk from the public header file and reduces unnecessary re-compilation. Even though this implementation class is defined as a private nested class within the main class, Doxygen generates documentation for it if EXTRACT_ALL is set to YES and EXTRACT_PRIVATE is set to no. Is this a bug? For example: In MyObj.h: ------------------------------------------- class MyObj { private: struct Imp; Imp* imp; public: MyObj(); ~MyObj(); void memberFunc(); }; ------------------------------------------- In MyObj.cc: ------------------------------------------- #include "MyObj.h" struct MyObj::Imp { // Implementation details // ... Imp() { } void memberFunc() { } }; // Forwarding functions MyObj::MyObj() { imp = new Imp(); } MyObj::~MyObj() { delete imp; } void MyObj::memberFunc() { imp->memberFunc(); } ------------------------------------------- Even though MyObj::Imp is a private nested class of MyObj, Doxygen generates documentation for it if EXTRACT_ALL is set to YES, even though EXTRACT_PRIVATE is set to NO. Is there any way of preventing documentation being generated for these private implementation classes while still generating documentation for all other undocumented things? Cheers, Sy |