2009-11-02 6 views
9

Tôi chắc chắn có một số cách để làm điều này với các thẻ \ defgroup, \ addgroup và \ @ {\ @}, nhưng sau một vài giờ dùng thử và (rõ ràng), tôi hỏi SO ... ..Làm thế nào để kết hợp các hàm không phải thành viên với một lớp trong Doxygen?

tôi có:

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

và tôi có một số chức năng helper phi thành viên đó thực sự là một phần của giao diện C, nhưng không phải trong lớp:

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

tôi d như chức năng định dạng xuất hiện trên cùng một trang với các hàm lớp. Đó có phải là không thể? Tốt nhất tôi có thể làm một trang "mô-đun", trong đó liệt kê C là một lớp (với một siêu liên kết đến các nhận xét của C và định dạng dưới dạng hàm?

Trả lời

13

\relates (hoặc \ memberOf)

dường như những gì bạn đang tìm kiếm.
+0

Um ... yeah ... bây giờ tôi cảm thấy như một thằng ngốc vì đã bỏ lỡ điều đó. Tôi nghĩ tôi cần phải đọc lại phần Lệnh Đặc biệt của tài liệu. Tôi không nhớ nhìn thấy \ liên quan được sử dụng trong một ví dụ. –

0

Tạo nhóm và gán chức năng bên ngoài lớp học của bạn trong nhóm đó làm việc, nhưng trong tài liệu lớp, bạn sẽ không nhận được các tham chiếu đến các hàm của bạn trừ khi bạn sử dụng các lệnh như @see hoặc @sa.Thực sự, bởi vì một hàm lấy tham số được ghi lại không có nghĩa là hàm này tự động là một phần của thư viện, nhưng bạn có thể liên kết cả hai lớp và chức năng với nhau bằng @defgroup@addgroup.

+4

Nếu hàm nằm trong cùng một tệp tiêu đề so với định nghĩa lớp, có nhiều khả năng nó sẽ được tìm ra với lớp trong tài liệu. Xem định nghĩa về 'giao diện công khai' của Herb Sutter. –

+1

Như Matthieu nói ...... đó là một phần của giao diện. Đó là lý do tại sao tôi muốn biết liệu có cách nào để hiển thị chúng trên cùng một trang hay không. –