diff --git a/include/libcamera/base/class.h b/include/libcamera/base/class.h index c2e1d353..9c7f0f2e 100644 --- a/include/libcamera/base/class.h +++ b/include/libcamera/base/class.h @@ -88,7 +88,6 @@ public: Extensible(Private *d); protected: -#ifndef __DOXYGEN__ template const T *_d() const { @@ -100,7 +99,6 @@ protected: { return static_cast(d_.get()); } -#endif private: const std::unique_ptr d_; diff --git a/src/libcamera/base/class.cpp b/src/libcamera/base/class.cpp index 26b49677..d0899671 100644 --- a/src/libcamera/base/class.cpp +++ b/src/libcamera/base/class.cpp @@ -150,6 +150,23 @@ Extensible::Extensible(Extensible::Private *d) { } +/** + * \fn Extensible::_d() const + * \brief Retrieve the private data instance + * + * This template function isn't meant to be called directly. Instead, classes + * derived from Extensible get, through the LIBCAMERA_DECLARE_PRIVATE() macro, + * overriden _d() functions that return the correct pointer type to the + * corresponding derived Private class. + * + * \return A pointer to the private data instance + */ + +/** + * \fn Extensible::_d() + * \copydoc Extensible::_d() const + */ + /** * \var Extensible::d_ * \brief Pointer to the private data instance