After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 333997 - support for smart pointers (dereference operator in template)
support for smart pointers (dereference operator in template)
Status: RESOLVED DUPLICATE of bug 333931
Product: doxygen
Classification: Other
Component: build
1.4.x
Other Linux
: Normal normal
: ---
Assigned To: Dimitri van Heesch
Dimitri van Heesch
Depends on:
Blocks:
 
 
Reported: 2006-03-09 10:43 UTC by Rob Leathley
Modified: 2006-03-09 12:13 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Rob Leathley 2006-03-09 10:43:08 UTC
Doxygen does not appear to understand dereference operators (->) in a templatised class as is typically used in smart pointers.  I have encounterd the problem using boost::shared_ptr, but the following code illustrates the problem:

template <class T> class SmartPointer {
  public:
  T *pointer;
  T *operator->() const {return pointer};
};

class A {
  public:
  void do() {};
};

class B {
  public:
  void do() {};
};

class C {
  public:
  A *a;
  SmartPointer<B> b;
  void do() {
    a->do();
    b->do();
  };
};

The doxygen output shows that a->do() is a reference to A::do(), but b->do() is unrecognised.  This means that member function "Referenced by" lists are incomplete.
Comment 1 Rob Leathley 2006-03-09 12:13:59 UTC

*** This bug has been marked as a duplicate of 333931 ***