代码之家  ›  专栏  ›  技术社区  ›  holroy

结构doxygen的所有引用列表

  •  1
  • holroy  · 技术社区  · 10 年前

    我正在尝试使用基于大量结构体的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_intersect_SET”和可能的“another_SET”。

    此外,在查看“intersect”结构时,我希望得到一个使用它的列表,即“foo_intersect_SET”、“intersect_bar_SET”和“another_SET”都使用它。

    你知道这两种方法中的任何一种都有可能使用doxygen吗?

    1 回复  |  直到 10 年前
        1
  •  0
  •   holroy    10 年前

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

    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;
    };
    

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