mirror of
https://gitlab.com/libeigen/eigen.git
synced 2025-07-26 14:54:30 +08:00
workaround doxygen limitation to follow the base class of PlainObjectBase
This commit is contained in:
parent
33e52a3943
commit
fcc966b40d
@ -53,7 +53,7 @@ template<typename MatrixTypeA, typename MatrixTypeB, bool SwapPointers> struct m
|
|||||||
|
|
||||||
} // end namespace internal
|
} // end namespace internal
|
||||||
|
|
||||||
/**
|
/** \class PlainObjectBase
|
||||||
* \brief %Dense storage base class for matrices and arrays.
|
* \brief %Dense storage base class for matrices and arrays.
|
||||||
*
|
*
|
||||||
* This class can be extended with the help of the plugin mechanism described on the page
|
* This class can be extended with the help of the plugin mechanism described on the page
|
||||||
@ -61,8 +61,29 @@ template<typename MatrixTypeA, typename MatrixTypeB, bool SwapPointers> struct m
|
|||||||
*
|
*
|
||||||
* \sa \ref TopicClassHierarchy
|
* \sa \ref TopicClassHierarchy
|
||||||
*/
|
*/
|
||||||
|
#ifdef EIGEN_PARSED_BY_DOXYGEN
|
||||||
|
namespace internal {
|
||||||
|
|
||||||
|
// this is a warkaround to doxygen not being able to understand the inheritence logic
|
||||||
|
// when it is hidden by the dense_xpr_base helper struct.
|
||||||
|
template<typename Derived> struct dense_xpr_base_dispatcher_for_doxygen;// : public MatrixBase<Derived> {};
|
||||||
|
/** This class is just a workaround for Doxygen and it does not not actually exist. */
|
||||||
|
template<typename _Scalar, int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols>
|
||||||
|
struct dense_xpr_base_dispatcher_for_doxygen<Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols> >
|
||||||
|
: public MatrixBase<Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols> > {};
|
||||||
|
/** This class is just a workaround for Doxygen and it does not not actually exist. */
|
||||||
|
template<typename _Scalar, int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols>
|
||||||
|
struct dense_xpr_base_dispatcher_for_doxygen<Array<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols> >
|
||||||
|
: public ArrayBase<Array<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols> > {};
|
||||||
|
|
||||||
|
} // namespace internal
|
||||||
|
|
||||||
|
template<typename Derived>
|
||||||
|
class PlainObjectBase : public internal::dense_xpr_base_dispatcher_for_doxygen<Derived>
|
||||||
|
#else
|
||||||
template<typename Derived>
|
template<typename Derived>
|
||||||
class PlainObjectBase : public internal::dense_xpr_base<Derived>::type
|
class PlainObjectBase : public internal::dense_xpr_base<Derived>::type
|
||||||
|
#endif
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
enum { Options = internal::traits<Derived>::Options };
|
enum { Options = internal::traits<Derived>::Options };
|
||||||
|
@ -108,7 +108,7 @@ ALWAYS_DETAILED_SEC = NO
|
|||||||
# members were ordinary class members. Constructors, destructors and assignment
|
# members were ordinary class members. Constructors, destructors and assignment
|
||||||
# operators of the base classes will not be shown.
|
# operators of the base classes will not be shown.
|
||||||
|
|
||||||
INLINE_INHERITED_MEMB = NO
|
INLINE_INHERITED_MEMB = YES
|
||||||
|
|
||||||
# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full
|
# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full
|
||||||
# path before files name in the file list and in the header files. If set
|
# path before files name in the file list and in the header files. If set
|
||||||
@ -590,7 +590,7 @@ RECURSIVE = NO
|
|||||||
# excluded from the INPUT source files. This way you can easily exclude a
|
# excluded from the INPUT source files. This way you can easily exclude a
|
||||||
# subdirectory from a directory tree whose root is specified with the INPUT tag.
|
# subdirectory from a directory tree whose root is specified with the INPUT tag.
|
||||||
|
|
||||||
EXCLUDE =
|
EXCLUDE = "${Eigen_SOURCE_DIR}/Eigen/Eigen2Support"
|
||||||
|
|
||||||
# The EXCLUDE_SYMLINKS tag can be used select whether or not files or
|
# The EXCLUDE_SYMLINKS tag can be used select whether or not files or
|
||||||
# directories that are symbolic links (a Unix filesystem feature) are excluded
|
# directories that are symbolic links (a Unix filesystem feature) are excluded
|
||||||
@ -626,10 +626,8 @@ EXCLUDE_PATTERNS = CMake* \
|
|||||||
# wildcard * is used, a substring. Examples: ANamespace, AClass,
|
# wildcard * is used, a substring. Examples: ANamespace, AClass,
|
||||||
# AClass::ANamespace, ANamespace::*Test
|
# AClass::ANamespace, ANamespace::*Test
|
||||||
|
|
||||||
# This is used to clean up the "class hierarchy" page
|
# This could used to clean up the "class hierarchy" page (e.g., Stride<* )
|
||||||
|
EXCLUDE_SYMBOLS =
|
||||||
EXCLUDE_SYMBOLS = EigenBase<* SparseMatrixBase<* DenseBase<* MatrixBase<* Matrix<* \
|
|
||||||
ProductReturnType<* RotationBase<* Stride<* BandMatrix<* Block<*
|
|
||||||
|
|
||||||
# The EXAMPLE_PATH tag can be used to specify one or more files or
|
# The EXAMPLE_PATH tag can be used to specify one or more files or
|
||||||
# directories that contain example code fragments that are included (see
|
# directories that contain example code fragments that are included (see
|
||||||
|
Loading…
x
Reference in New Issue
Block a user