2009-11-02 19 views
9

\ Defgroup, \ addgroup ve \ @ {\ @} etiketleriyle bunu yapmanın bir yolu olduğuna eminim, ancak birkaç saatlik deneme ve (tabii ki) hatadan sonra SO soracağım ...Doxygen'de üye olmayan işlevleri bir sınıfla ilişkilendirmek nasıl?

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

ve gerçekten C'nin arayüzünün parçası olan bazı yardımcı üye olmayan işlevlere sahiptir, ancak sınıfta değildir:: ..

Ben Ben

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

d işlevinin, sınıf işlevleri ile aynı sayfada görünmesini sever. Bu mümkün değil mi? En iyisi C'yi bir sınıf olarak listeleyen bir "modül" sayfası yapabilirim (C'nin yorumlarına bir köprü ile ve bir işlev olarak biçimlendirirsiniz?

cevap

13

\relates (veya memberOf \) Eğer aradığınızı görünmektedir.

+0

Um ... evet ... şimdi bunu kaçırdığım için aptal gibi hissediyorum. Dokümanların Özel Komutları bölümünü tekrar okumam gerektiğini düşünüyorum. Bir örnekte kullanıldığını görmeyi hatırlamıyorum. –

0

Bir grup oluşturma ve bu gruba sınıfınızın dışındaki işlevleri atama iş, ancak sınıf belgelerinin kendisi, @see veya @sa gibi komutları kullanmadığınız sürece işlevlerinize başvurular alamazsınız. Dürüst olmak gerekirse, bir işlev bir belgeli parametre alır, bu işlev otomatik olarak kitaplığın bir parçası olduğu anlamına gelmez, ancak araya @defgroup ve @addgroup kullanarak sınıfları ve fonksiyonları hem bağlayabilirsiniz.

+4

İşlev, sınıf tanımından aynı üstbilgi dosyasındaysa, belgelerindeki sınıfla olması gereken yüksek bir olasılık vardır. Herb Sutter'in 'public interface' tanımı konusuna bakın. –

+1

Matthieu'nun dediği gibi ...... arayüzün bir parçası. Bu yüzden aynı sayfada görünmelerini sağlamanın bir yolu olup olmadığını öğrenmek istedim. –