2009-11-02 13 views
9

Estoy seguro de que hay alguna manera de hacer esto con las etiquetas \ defgroup, \ addgroup y \ @ {\ @}, pero después de un par de horas de prueba y (obviamente) error, estoy pidiendo SO ... ..¿Cómo asociar funciones no miembro con una clase en Doxygen?

tengo:

class C { 
public: 
    void foo() const; 
}; 

y tengo algunas funciones que no son miembros de ayuda que realmente forman parte de la interfaz de C, pero no están en la clase:

std::string 
format (const C& c, const std::string &fmt); 

I' Me gusta que la función de formato aparezca en la misma página que las funciones de clase. ¿Eso no es posible? ¿Es lo mejor que puedo hacer una página de "módulo", que enumera C como clase (con un hipervínculo a los comentarios de C y formato como una función?

Respuesta

13

\relates (o \ memberof) parece ser lo que busca.

+0

Um ... sí ... ahora me siento como un idiota por perder eso. Creo que necesito volver a leer la sección de Comandos Especiales de los documentos. No recuerdo haber visto \ relatos usados ​​en un ejemplo. –

0

Crear un grupo y asignar funciones fuera de su clase en ese grupo trabajo, pero en la documentación de la clase en sí, no obtendrá referencias a sus funciones a menos que use comandos como @see o @sa. Honestamente, porque una función toma un parámetro documentado no significa que esta función es automáticamente parte de la biblioteca, pero se puede vincular ambas clases y funciones juntos usando @defgroup y @addgroup.

+4

Si la función está en el mismo archivo de encabezado que la definición de clase, hay una alta probabilidad de que figure con la clase en la documentación. Ver la definición de 'interfaz pública' de Herb Sutter. –

+1

Como dice Matthieu ...... es parte de la interfaz. Es por eso que quería saber si hay una manera de hacer que aparezcan en la misma página. –

Cuestiones relacionadas