Код: Выделить всё
#define DEFCLASS(name,datatype) Class name { \
public: \
void clear(); \
datatype obj; \
};
DEFMETHOD(StringContainer, const char*)
Код: Выделить всё
StringContainer foo("hi!");
Теперь вопрос в том, я хотел бы документировать StringContainer в doxygen. Однако на самом деле этот класс не существует, поэтому если я это сделаю:
Код: Выделить всё
/*!
\class StringContainer
\brief A string container
\fn void StringContainer::clear()
\brief Clears the container
*/
Код: Выделить всё
warning: documented function `StringContainer::clear' was not declared or defined.
РЕШЕНИЕ
Можно создать поддельные файлы .h, чтобы заставить doxygen поверить в существование класса, не позволяя при этом системам сборки включать его. Эти файлы могут иметь расширение .dox. Таким образом я создам файл .dox, включающий определение класса и документацию:
Код: Выделить всё
class StringContainer {
public:
/*! Removes the contents of the container. */
void clear();
const char *obj;
};
Подробнее здесь: https://stackoverflow.com/questions/105 ... in-doxygen
Мобильная версия