我正在尝试使用doxygen 1.8.8基于一组大型结构来构建文档,并且希望文档不仅引用我拥有的结构,而且还引用使用结构的位置。请注意,源代码是从外部系统构造的,我在其中进行了一些搜索和替换,使其成为类似于以下的结构:

struct intersect {
  int aValue;
};

struct foo_intersect_SET {
  order next;
  foo owner;
  intersect member;
};

struct intersect_bar_SET {
  order next;
  intersect owner;
  bar member;
};

struct another_SET {
  order ascending;
  something owner;
  foo member;
  bar member2;
  intersect member3;
};

我可以让doxygen生成文档,但在搜索“intersect”时,它只显示“intersect”和“intersect-bar-SET”,我希望它也显示“foo-u intersect-SET”,可能还显示“另一个”。
另外,在查看“intersect”结构时,我想得到一个使用它的列表,即它同时被“foo_intersect_SET”、“intersect_bar_SET”和“另一个_SET”使用。
你知道这两种方法中的任何一种都可以用强氧吗?

最佳答案

解决这个问题的一种可能的方法,我目前正在研究的是将结构转换为类,并使用多重继承来获得这两种方法的连接。换言之,我必须制作一个临时版本,它目前看起来像:

class foo : protected another {
}

class bar : proteced intersect_bar, protected another {
}

class intersect : protected foo_intersect, protected another {
  int aValue;
};

class foo_intersect : private foo {
  order next;
  foo o_foo;
  intersect m_intersect;
};

class intersect_bar : private intersect {
  order next;
  intersect o_intersect;
  bar m_bar;
};

class another : private something {
  order ascending;
  something o_something;
  foo m_foo;
  bar m_bar;
  intersect m_intersect;
};

这不是一个理想的解决方案,但是使用继承关系图和协作关系图,我确实可以从中获得我想要的大部分信息!一个警告是,原始的集合结构允许循环定义,这反过来导致循环继承,当然这是不合法的。。。

关于c - 有关struct doxygen的所有引用文献列表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25908188/

10-11 14:36