2012-02-03 15 views
5

Tengo dificultades para entender cómo doxygen funciona con espacios de nombres en Python. Un espacio de nombre del nombre "nombre de archivo", es decir, temp.py, se genera de forma predeterminada. También puedo declarar nuevos espacios de nombres con el comando \package o \namespace.Descripción de la documentación del espacio de nombres

Sin embargo, lo que no entiendo es por qué la clase a continuación (o cualquier otra definición) siempre aparece debajo del espacio de nombres temp?

Por favor, ayúdame a comprender cómo funciona el comando namespace en doxygen.

Si sabe cómo y por qué/namespace pr/package commands se utilizan en doxygen, puede omitir el ejemplo siguiente y responderlo directamente.

#filename = temp.py 
##\mainpage Main Page Title 
#\brief main page title comments \n 




## class class_demo1 \n 
# the class declared below \n 
class class_demo1: 
     pass 

from new_package import * 

Ahora, estoy añadiendo un nuevo espacio de nombres con el nombre \ new_package, añade al archivo temp.py

##\package new_package 
#new namespace comments \n 

También he creado un archivo llamado \ new_package.py y añadió la debajo de las líneas:

def demo_fun: 
    pass 

class demo_class: 
    pass 

En la documentación generada, obtengo \ class_demo1 en namespace \ temp. Sin embargo, el nuevo espacio de nombres \ paquete_nuevo.py no muestra la clase y def declarada en .

Respuesta

2

Para poner Demo clase en new_package espacio de nombres si se define en new_package.temp módulo:

new_package/ 
├── __init__.py 
│ # from .temp import Demo 
└── temp.py 
    # class Demo: 
    #  pass 

En este caso doxygen necesitaría sólo para reflejar la relación que ya está en el código.

+0

@Sebastian puede publicar un pequeño código de ejemplo (nuevo o basado en mi ejemplo) para ayudarme a entenderlo mejor. – Ani

Cuestiones relacionadas