2015-06-02 3 views
0

Я использую Objective-C язык. И у меня 3 класса: курица, голубь, собака. Каждый из классов имеет метод run.Как я могу исключить метод внутри класса с doxygen

Chicken.h 
-(void)run; 

Dove.h 
-(void)run; 

Dog.h 
-(void)run; 

Я хочу исключить метод запуска внутри класса Dove. Я обнаружил, что EXCLUDE_SYMBOLS может это сделать. Но если я настрою конфигурацию: EXCLUDE_SYMBOLS = save, все методы сохранения в 3 классах исключены.

Могу ли я исключить метод сохранения только класса Dove?

+0

Не уверен в предоставлении полного квалифицированного имени, такого как Dove :: run. Другой возможностью, вероятно, будет использование конструкции \ cond \ endcond. – albert

+0

Спасибо Альберту. Я попробовал Dove :: run, но он не работает. Я думаю, что \ cond \ endcond - хороший выбор в этой ситуации. – HiepNguyen

ответ

1

Я не знаю цель-c, но для C++ единственный способ, которым я это знаю, - предварительно обработать его. Для этого установите значения конфигурации:

ENABLE_PREPROCESSING = YES 
PREDEFINED    = DOXYGEN_SHOULD_SKIP_THIS 

Затем заверните метод, который вы хотите исключить внутри блока ifndef. Вот пример C++:

/// doc comment for class Dove 
class Dove { 
public: 
    /// doc comment for foo 
    void foo(); 

#ifndef DOXYGEN_SHOULD_SKIP_THIS 
    // the bar method will not be seen by doxygen, so you should not 
    // see it in any documentation 
    void bar(); 
#endif 
}; 

Это общая стратегия, которую вы можете использовать. Все, что находится внутри блоков #ifndef, будет предварительно обработано и не будет видимым для doxygen.

+0

Thank Phil. Если мы используем предварительную обработку, таблица методов экземпляров по-прежнему отображается как метод сохранения. Он исчезает только в таблице документов метода. :/ – HiepNguyen

+0

Я не уверен, что знаю, что вы подразумеваете под этим, только исчезает в таблице документов метода. Я попробовал обновить свой ответ, чтобы включить пример C++, который является более полным. Я надеюсь, что это помогает. – Phil

+0

О, круто! Я глупый. Я добавил '# endif' перед' void bar(); 'Thank @Phil – HiepNguyen

Смежные вопросы