0

I have multiple classes defined as follows:

class MyClass : public virtual Parent
{
    MY_INTERFACE(MyClass, Parent)

    void someFunction();
}

Doxygen does not see the contents of such classes (someFunction, and further) because of MY_INTERFACE macro (which is defined in a different file which I do not process with Doxygen). Interestingly, this happens randomly (as it seems). I have two different classes with definition layout as above (even spaces and newlines are typed identically) and the first class is processed correctly with all its contents, while the other seems to be empty.

I have tried enabling SKIP_FUNCTION_MACRO, adding MY_INTERFACE(*) into EXCLUDE_SYMBOLS - it is all the same. Preprocessing is enabled.

The same thing happens in similar cases with different macros.

11
  • your classes are missing a ; Commented Nov 18, 2024 at 14:48
  • Does the Doxygen mechanism for How can I make Doxygen ignore some code fragment? not work? Commented Nov 18, 2024 at 14:50
  • Which version of doxygen are you using? did you have a look at the configuration setting SKIP_FUNCTION_MACROS Commented Nov 18, 2024 at 14:54
  • @albert Yes, that's been stated in the question, if I understand your suggestion correctly. Commented Nov 18, 2024 at 14:57
  • @Eljay I don't want to litter the code. I have this macros thousand times in the code, I can't place DOXYGEN_SHOULD_SKIP_THIS everywhere. Commented Nov 18, 2024 at 14:59

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.