Понимание документации пространства имен - PullRequest
5 голосов
/ 03 февраля 2012

Я пытаюсь понять, как doxygen работает с пространствами имен в Python.Пространство имен с именем «filename», т.е. temp.py, генерируется по умолчанию.Я также могу объявить новые пространства имен с помощью команды \package или \namespace.

Однако я не понимаю, почему класс ниже (или любое другое определение) всегда появляется в пространстве имен temp?

Пожалуйста, помогите мне понять, как работает команда namespace в doxygen.

Если вы знаете, как и почему команды / namespace pr / package используются в doxygen, вы можете пропустить примерниже и прямо на него отвечу.

#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 *

Теперь я добавляю новое пространство имен с именем \ new_package, добавленное в файл temp.py

##\package new_package
#new namespace comments \n

У меня естьтакже создал файл с именем \ new_package.py и добавил в него следующие строки:

def demo_fun:
    pass

class demo_class:
    pass

В сгенерированной документации я получаю \ class_demo1 в пространстве имен \ temp.Тем не менее, новое пространство имен \ new_package.py не отображает класс и def, объявленные под ним.

1 Ответ

2 голосов
/ 03 февраля 2012

Чтобы поместить класс Demo в пространство имен new_package, если оно определено в модуле new_package.temp:

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

В этом случае doxygen потребуется просто отразить отношение, которое уже есть в коде.

...