From d175dd105405ba52a9c7397a773370b9dd1c98db Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Vondru=C5=A1?= Date: Thu, 17 Jan 2013 17:33:40 +0100 Subject: [PATCH] Updated workarounds for Doxygen 1.8.2. Removed workarounds for alias templates, variadic templates and anonymous enums, but 1.8.2 has some bug with forward declarations causing classes to appear in default namespace, breaking cross-references. --- src/DebugTools/DebugTools.h | 3 +++ src/DebugTools/ShapeRenderer.h | 3 +++ src/Magnum.h | 6 +++++ src/Math/Math.h | 3 +++ src/Math/Matrix.h | 5 ---- src/Math/Matrix3.h | 4 ---- src/Math/Matrix4.h | 4 ---- src/Math/RectangularMatrix.h | 11 +++++---- src/Math/Vector.h | 10 +++----- src/Physics/Physics.h | 3 +++ src/Primitives/Icosphere.h | 3 +++ src/SceneGraph/AbstractCamera.h | 14 +---------- src/SceneGraph/AbstractFeature.h | 14 +---------- src/SceneGraph/AbstractGroupedFeature.h | 18 +++----------- src/SceneGraph/AbstractObject.h | 14 +---------- src/SceneGraph/AbstractTransformation.h | 14 +---------- src/SceneGraph/Animable.h | 14 +---------- src/SceneGraph/AnimableGroup.h | 14 +---------- src/SceneGraph/Drawable.h | 31 +++---------------------- src/SceneGraph/FeatureGroup.h | 14 +---------- src/SceneGraph/SceneGraph.h | 3 +++ src/Shaders/AbstractTextShader.h | 11 +-------- src/Shaders/Shaders.h | 3 +++ src/Trade/AbstractImporter.h | 3 +++ 24 files changed, 53 insertions(+), 169 deletions(-) diff --git a/src/DebugTools/DebugTools.h b/src/DebugTools/DebugTools.h index d1aeff182..31fddcd58 100644 --- a/src/DebugTools/DebugTools.h +++ b/src/DebugTools/DebugTools.h @@ -23,6 +23,8 @@ namespace Magnum { namespace DebugTools { +/** @todoc Remove `ifndef` when Doxygen is sane again */ +#ifndef DOXYGEN_GENERATING_OUTPUT template class ObjectRenderer; typedef ObjectRenderer<2> ObjectRenderer2D; typedef ObjectRenderer<3> ObjectRenderer3D; @@ -35,6 +37,7 @@ template class ShapeRenderer; typedef ShapeRenderer<2> ShapeRenderer2D; typedef ShapeRenderer<3> ShapeRenderer3D; class ShapeRendererOptions; +#endif }} diff --git a/src/DebugTools/ShapeRenderer.h b/src/DebugTools/ShapeRenderer.h index 04b32c69c..f246a87e7 100644 --- a/src/DebugTools/ShapeRenderer.h +++ b/src/DebugTools/ShapeRenderer.h @@ -24,7 +24,10 @@ namespace Magnum { namespace DebugTools { +/** @todoc Remove `ifndef` when Doxygen is sane again */ +#ifndef DOXYGEN_GENERATING_OUTPUT template class ShapeRenderer; +#endif #ifndef DOXYGEN_GENERATING_OUTPUT namespace Implementation { diff --git a/src/Magnum.h b/src/Magnum.h index d47f2b15d..a0e82909b 100644 --- a/src/Magnum.h +++ b/src/Magnum.h @@ -57,6 +57,8 @@ namespace Corrade { namespace Magnum { +/** @todoc Remove `ifndef` when Doxygen is sane again */ +#ifndef DOXYGEN_GENERATING_OUTPUT namespace Math { template constexpr T deg(T value); template constexpr T rad(T value); @@ -67,6 +69,7 @@ namespace Math { using Corrade::Utility::Debug; using Corrade::Utility::Warning; using Corrade::Utility::Error; +#endif /** @brief Two-component floating-point vector */ typedef Math::Vector2 Vector2; @@ -124,6 +127,8 @@ typedef Math::Geometry::Rectangle Rectanglei; using Math::deg; using Math::rad; +/** @todoc Remove `ifndef` when Doxygen is sane again */ +#ifndef DOXYGEN_GENERATING_OUTPUT /* Forward declarations for all types in root namespace */ class AbstractFramebuffer; class AbstractImage; @@ -198,6 +203,7 @@ typedef Texture<2> Texture2D; typedef Texture<3> Texture3D; class Timeline; +#endif } diff --git a/src/Math/Math.h b/src/Math/Math.h index df38fef81..b62f82fe6 100644 --- a/src/Math/Math.h +++ b/src/Math/Math.h @@ -23,6 +23,8 @@ namespace Magnum { namespace Math { +/** @todoc Remove `ifndef` when Doxygen is sane again */ +#ifndef DOXYGEN_GENERATING_OUTPUT /* Class Constants used only statically */ template class Matrix; @@ -44,6 +46,7 @@ template class Vector4; namespace Geometry { template class Rectangle; } +#endif }} diff --git a/src/Math/Matrix.h b/src/Math/Matrix.h index c9194f8d2..1e17d95f4 100644 --- a/src/Math/Matrix.h +++ b/src/Math/Matrix.h @@ -74,13 +74,8 @@ template class Matrix: public RectangularMatrix inline constexpr /*implicit*/ Matrix(T first, U... next): RectangularMatrix(first, next...) {} - #else - template inline constexpr /*implicit*/ Matrix(T first, U... next); - #endif /** @brief Copy constructor */ inline constexpr Matrix(const RectangularMatrix& other): RectangularMatrix(other) {} diff --git a/src/Math/Matrix3.h b/src/Math/Matrix3.h index 2fa99114e..65014d7e7 100644 --- a/src/Math/Matrix3.h +++ b/src/Math/Matrix3.h @@ -134,11 +134,7 @@ template class Matrix3: public Matrix<3, T> { ) {} /** @copydoc Matrix::Matrix */ - #ifndef DOXYGEN_GENERATING_OUTPUT template inline constexpr /*implicit*/ Matrix3(T first, U... next): Matrix<3, T>(first, next...) {} - #else - template inline constexpr /*implicit*/ Matrix3(T first, U... next) {} - #endif /** @brief Copy constructor */ inline constexpr Matrix3(const RectangularMatrix<3, 3, T>& other): Matrix<3, T>(other) {} diff --git a/src/Math/Matrix4.h b/src/Math/Matrix4.h index 89bd78224..dbbcaaf04 100644 --- a/src/Math/Matrix4.h +++ b/src/Math/Matrix4.h @@ -267,11 +267,7 @@ template class Matrix4: public Matrix<4, T> { ) {} /** @copydoc Matrix::Matrix */ - #ifndef DOXYGEN_GENERATING_OUTPUT template inline constexpr /*implicit*/ Matrix4(T first, U... next): Matrix<4, T>(first, next...) {} - #else - template inline constexpr /*implicit*/ Matrix4(T first, U... next) {} - #endif /** @brief Copy constructor */ inline constexpr Matrix4(const RectangularMatrix<4, 4, T>& other): Matrix<4, T>(other) {} diff --git a/src/Math/RectangularMatrix.h b/src/Math/RectangularMatrix.h index 4bed38856..e9b7beded 100644 --- a/src/Math/RectangularMatrix.h +++ b/src/Math/RectangularMatrix.h @@ -32,7 +32,10 @@ namespace Magnum { namespace Math { /** @todo Properly test all constexpr */ +/** @todoc Remove `ifndef` when Doxygen is sane again */ +#ifndef DOXYGEN_GENERATING_OUTPUT template class RectangularMatrix; +#endif #ifndef DOXYGEN_GENERATING_OUTPUT namespace Implementation { @@ -53,7 +56,10 @@ namespace Implementation { } #endif +/** @todoc Remove `ifndef` when Doxygen is sane again */ +#ifndef DOXYGEN_GENERATING_OUTPUT template class Vector; +#endif /** @brief Rectangular matrix @@ -128,15 +134,10 @@ template class RectangularMatrix { * @param next Next values * * Note that the values are in column-major order. - * @todoc Remove workaround when Doxygen supports uniform initialization */ - #ifndef DOXYGEN_GENERATING_OUTPUT template inline constexpr /*implicit*/ RectangularMatrix(T first, U... next): _data{first, next...} { static_assert(sizeof...(next)+1 == cols*rows, "Improper number of arguments passed to RectangularMatrix constructor"); } - #else - template inline constexpr RectangularMatrix(T first, U... next); - #endif /** @brief Copy constructor */ inline constexpr RectangularMatrix(const RectangularMatrix&) = default; diff --git a/src/Math/Vector.h b/src/Math/Vector.h index eed04f4dd..0bc51beac 100644 --- a/src/Math/Vector.h +++ b/src/Math/Vector.h @@ -91,20 +91,16 @@ template class Vector: public RectangularMatrix<1, si * @param first First value * @param next Next values */ - #ifndef DOXYGEN_GENERATING_OUTPUT template inline constexpr /*implicit*/ Vector(T first, U... next): RectangularMatrix<1, size, T>(first, next...) {} - #else - template inline constexpr /*implicit*/ Vector(T first, U... next); - #endif /** * @brief Constructor * @param value Value for all fields */ - #ifndef DOXYGEN_GENERATING_OUTPUT - template inline explicit Vector(typename std::enable_if::value && size != 1, U>::type value) { - #else + #ifdef DOXYGEN_GENERATING_OUTPUT inline explicit Vector(T value) { + #else + template inline explicit Vector(typename std::enable_if::value && size != 1, U>::type value) { #endif for(std::size_t i = 0; i != size; ++i) (*this)[i] = value; diff --git a/src/Physics/Physics.h b/src/Physics/Physics.h index 066c0a029..5667d4491 100644 --- a/src/Physics/Physics.h +++ b/src/Physics/Physics.h @@ -23,6 +23,8 @@ namespace Magnum { namespace Physics { +/** @todoc remove when doxygen is sane again */ +#ifndef DOXYGEN_GENERATING_OUTPUT template class AbstractShape; typedef AbstractShape<2> AbstractShape2D; typedef AbstractShape<3> AbstractShape3D; @@ -68,6 +70,7 @@ typedef ShapeGroup<3> ShapeGroup3D; template class Sphere; typedef Sphere<2> Sphere2D; typedef Sphere<3> Sphere3D; +#endif }} diff --git a/src/Primitives/Icosphere.h b/src/Primitives/Icosphere.h index 93eb72aeb..e5aa7ea42 100644 --- a/src/Primitives/Icosphere.h +++ b/src/Primitives/Icosphere.h @@ -26,7 +26,10 @@ namespace Magnum { namespace Primitives { +/** @todoc Remove `ifndef` when Doxygen is sane again */ +#ifndef DOXYGEN_GENERATING_OUTPUT template class Icosphere; +#endif /** @brief 3D icosphere primitive with zero subdivisions diff --git a/src/SceneGraph/AbstractCamera.h b/src/SceneGraph/AbstractCamera.h index 9b24759fb..2043583dd 100644 --- a/src/SceneGraph/AbstractCamera.h +++ b/src/SceneGraph/AbstractCamera.h @@ -163,6 +163,7 @@ class MAGNUM_SCENEGRAPH_EXPORT AbstractCamera: public AbstractFeature inline AbstractCamera::~AbstractCamera() {} +#ifndef CORRADE_GCC46_COMPATIBILITY /** @brief Base for two-dimensional cameras @@ -170,15 +171,8 @@ Convenience alternative to %AbstractCamera<2, T>. See AbstractCamera for more information. @note Not available on GCC < 4.7. Use %AbstractCamera<2, T> instead. @see AbstractCamera3D -@todoc Remove workaround when Doxygen supports alias template */ -#ifndef DOXYGEN_GENERATING_OUTPUT -#ifndef CORRADE_GCC46_COMPATIBILITY template using AbstractCamera2D = AbstractCamera<2, T>; -#endif -#else -typedef AbstractCamera<2, T = GLfloat> AbstractCamera2D; -#endif /** @brief Base for three-dimensional cameras @@ -187,15 +181,9 @@ Convenience alternative to %AbstractCamera<3, T>. See AbstractCamera for more information. @note Not available on GCC < 4.7. Use %AbstractCamera<3, T> instead. @see AbstractCamera2D -@todoc Remove workaround when Doxygen supports alias template */ -#ifndef DOXYGEN_GENERATING_OUTPUT -#ifndef CORRADE_GCC46_COMPATIBILITY template using AbstractCamera3D = AbstractCamera<3, T>; #endif -#else -typedef AbstractCamera<3, T = GLfloat> AbstractCamera3D; -#endif }} diff --git a/src/SceneGraph/AbstractFeature.h b/src/SceneGraph/AbstractFeature.h index 4d48312f2..749e620b2 100644 --- a/src/SceneGraph/AbstractFeature.h +++ b/src/SceneGraph/AbstractFeature.h @@ -284,6 +284,7 @@ template inline AbstractFeature template inline void AbstractFeature::clean(const typename DimensionTraits::MatrixType&) {} template inline void AbstractFeature::cleanInverted(const typename DimensionTraits::MatrixType&) {} +#ifndef CORRADE_GCC46_COMPATIBILITY /** @brief Base for two-dimensional features @@ -291,15 +292,8 @@ Convenience alternative to %AbstractFeature<2, T>. See AbstractFeature for more information. @note Not available on GCC < 4.7. Use %AbstractFeature<2, T> instead. @see AbstractFeature3D -@todoc Remove workaround when Doxygen supports alias template */ -#ifndef DOXYGEN_GENERATING_OUTPUT -#ifndef CORRADE_GCC46_COMPATIBILITY template using AbstractFeature2D = AbstractFeature<2, T>; -#endif -#else -typedef AbstractFeature<2, T = GLfloat> AbstractFeature2D; -#endif /** @brief Base for three-dimensional features @@ -308,15 +302,9 @@ Convenience alternative to %AbstractFeature<3, T>. See AbstractFeature for more information. @note Not available on GCC < 4.7. Use %AbstractFeature<3, T> instead. @see AbstractFeature2D -@todoc Remove workaround when Doxygen supports alias template */ -#ifndef DOXYGEN_GENERATING_OUTPUT -#ifndef CORRADE_GCC46_COMPATIBILITY template using AbstractFeature3D = AbstractFeature<3, T>; #endif -#else -typedef AbstractFeature<2, T = GLfloat> AbstractFeature3D; -#endif }} diff --git a/src/SceneGraph/AbstractGroupedFeature.h b/src/SceneGraph/AbstractGroupedFeature.h index 5998895c7..7d7326e8a 100644 --- a/src/SceneGraph/AbstractGroupedFeature.h +++ b/src/SceneGraph/AbstractGroupedFeature.h @@ -92,41 +92,29 @@ class AbstractGroupedFeature: public AbstractFeature { FeatureGroup* _group; }; +#ifndef CORRADE_GCC46_COMPATIBILITY /** @brief Base for two-dimensional grouped features Convenience alternative to %AbstractGroupedFeature<2, Derived, T>. See AbstractGroupedFeature for more information. -@see AbstractGroupedFeature3D @note Not available on GCC < 4.7. Use %AbstractGroupedFeature<2, Derived, T> instead. -@todoc Remove workaround when Doxygen supports alias template +@see AbstractGroupedFeature3D */ -#ifndef DOXYGEN_GENERATING_OUTPUT -#ifndef CORRADE_GCC46_COMPATIBILITY template using AbstractGroupedFeature2D = AbstractGroupedFeature<2, Derived, T>; -#endif -#else -typedef AbstractGroupedFeature<2, Derived, T = GLfloat> AbstractGroupedFeature2D; -#endif /** @brief Base for three-dimensional grouped features Convenience alternative to %AbstractGroupedFeature<3, Derived, T>. See AbstractGroupedFeature for more information. -@see AbstractGroupedFeature2D @note Not available on GCC < 4.7. Use %AbstractGroupedFeature<3, Derived, T> instead. -@todoc Remove workaround when Doxygen supports alias template +@see AbstractGroupedFeature2D */ -#ifndef DOXYGEN_GENERATING_OUTPUT -#ifndef CORRADE_GCC46_COMPATIBILITY template using AbstractGroupedFeature3D = AbstractGroupedFeature<3, Derived, T>; #endif -#else -typedef AbstractGroupedFeature<3, Derived, T = GLfloat> AbstractGroupedFeature3D; -#endif }} diff --git a/src/SceneGraph/AbstractObject.h b/src/SceneGraph/AbstractObject.h index 64ef2aeff..e55f51154 100644 --- a/src/SceneGraph/AbstractObject.h +++ b/src/SceneGraph/AbstractObject.h @@ -179,6 +179,7 @@ template class AbstractObject /*@}*/ }; +#ifndef CORRADE_GCC46_COMPATIBILITY /** @brief Base for two-dimensional objects @@ -186,15 +187,8 @@ Convenience alternative to %AbstractObject<2, T>. See AbstractObject for more information. @note Not available on GCC < 4.7. Use %AbstractObject<2, T> instead. @see AbstractObject3D -@todoc Remove workaround when Doxygen supports alias template */ -#ifndef DOXYGEN_GENERATING_OUTPUT -#ifndef CORRADE_GCC46_COMPATIBILITY template using AbstractObject2D = AbstractObject<2, T>; -#endif -#else -typedef AbstractObject<2, T = GLfloat> AbstractObject2D; -#endif /** @brief Base for three-dimensional objects @@ -203,15 +197,9 @@ Convenience alternative to %AbstractObject<3, T>. See AbstractObject for more information. @note Not available on GCC < 4.7. Use %AbstractObject<3, T> instead. @see AbstractObject2D -@todoc Remove workaround when Doxygen supports alias template */ -#ifndef DOXYGEN_GENERATING_OUTPUT -#ifndef CORRADE_GCC46_COMPATIBILITY template using AbstractObject3D = AbstractObject<3, T>; #endif -#else -typedef AbstractObject<3, T = GLfloat> AbstractObject3D; -#endif }} diff --git a/src/SceneGraph/AbstractTransformation.h b/src/SceneGraph/AbstractTransformation.h index 4fed38811..9808195ab 100644 --- a/src/SceneGraph/AbstractTransformation.h +++ b/src/SceneGraph/AbstractTransformation.h @@ -139,6 +139,7 @@ enum class TransformationType: std::uint8_t { template inline AbstractTransformation::~AbstractTransformation() {} +#ifndef CORRADE_GCC46_COMPATIBILITY /** @brief Base for two-dimensional transformations @@ -147,15 +148,8 @@ AbstractTransformation for more information. @note Not available on GCC < 4.7. Use %AbstractTransformation<2, T> instead. @see AbstractTransformation3D -@todoc Remove workaround when Doxygen supports alias template */ -#ifndef DOXYGEN_GENERATING_OUTPUT -#ifndef CORRADE_GCC46_COMPATIBILITY template using AbstractTransformation2D = AbstractTransformation<2, T>; -#endif -#else -typedef AbstractTransformation<2, T = GLfloat> AbstractTransformation2D; -#endif /** @brief Base for three-dimensional transformations @@ -165,15 +159,9 @@ AbstractTransformation for more information. @note Not available on GCC < 4.7. Use %AbstractTransformation<3, T> instead. @see AbstractTransformation2D -@todoc Remove workaround when Doxygen supports alias template */ -#ifndef DOXYGEN_GENERATING_OUTPUT -#ifndef CORRADE_GCC46_COMPATIBILITY template using AbstractTransformation3D = AbstractTransformation<3, T>; #endif -#else -typedef AbstractTransformation<3, T = GLfloat> AbstractTransformation3D; -#endif }} diff --git a/src/SceneGraph/Animable.h b/src/SceneGraph/Animable.h index 48a7915fc..a6fc01d90 100644 --- a/src/SceneGraph/Animable.h +++ b/src/SceneGraph/Animable.h @@ -302,6 +302,7 @@ class MAGNUM_SCENEGRAPH_EXPORT Animable: public AbstractGroupedFeature%Animable<2, T>. See Animable for more information. @note Not available on GCC < 4.7. Use %Animable<2, T> instead. @see Animable3D -@todoc Remove workaround when Doxygen supports alias template */ -#ifndef DOXYGEN_GENERATING_OUTPUT -#ifndef CORRADE_GCC46_COMPATIBILITY template using Animable2D = Animable<2, T>; -#endif -#else -typedef Animable<2, T = GLfloat> Animable2D; -#endif /** @brief Three-dimensional animable @@ -326,15 +320,9 @@ Convenience alternative to %Animable<3, T>. See Animable for more information. @note Not available on GCC < 4.7. Use %Animable<3, T> instead. @see Animable2D -@todoc Remove workaround when Doxygen supports alias template */ -#ifndef DOXYGEN_GENERATING_OUTPUT -#ifndef CORRADE_GCC46_COMPATIBILITY template using Animable3D = Animable<3, T>; #endif -#else -typedef Animable<3, T = GLfloat> Animable3D; -#endif }} diff --git a/src/SceneGraph/AnimableGroup.h b/src/SceneGraph/AnimableGroup.h index 6c86b3b6f..814c214cd 100644 --- a/src/SceneGraph/AnimableGroup.h +++ b/src/SceneGraph/AnimableGroup.h @@ -67,6 +67,7 @@ class MAGNUM_SCENEGRAPH_EXPORT AnimableGroup: public FeatureGroup%AnimableGroup<2, T>. See Animable for more information. @note Not available on GCC < 4.7. Use %AnimableGroup<2, T> instead. @see AnimableGroup3D -@todoc Remove workaround when Doxygen supports alias template */ -#ifndef DOXYGEN_GENERATING_OUTPUT -#ifndef CORRADE_GCC46_COMPATIBILITY template using AnimableGroup2D = AnimableGroup<2, T>; -#endif -#else -typedef AnimableGroup<2, T = GLfloat> AnimableGroup2D; -#endif /** @brief Three-dimensional animable @@ -91,15 +85,9 @@ Convenience alternative to %AnimableGroup<3, T>. See Animable for more information. @note Not available on GCC < 4.7. Use %AnimableGroup<3, T> instead. @see AnimableGroup2D -@todoc Remove workaround when Doxygen supports alias template */ -#ifndef DOXYGEN_GENERATING_OUTPUT -#ifndef CORRADE_GCC46_COMPATIBILITY template using AnimableGroup3D = AnimableGroup<3, T>; #endif -#else -typedef AnimableGroup<3, T = GLfloat> AnimableGroup3D; -#endif }} diff --git a/src/SceneGraph/Drawable.h b/src/SceneGraph/Drawable.h index bb20a3960..9a1e1cbcf 100644 --- a/src/SceneGraph/Drawable.h +++ b/src/SceneGraph/Drawable.h @@ -135,6 +135,7 @@ class Drawable: public AbstractGroupedFeature::MatrixType& transformationMatrix, AbstractCamera* camera) = 0; }; +#ifndef CORRADE_GCC46_COMPATIBILITY /** @brief Two-dimensional drawable @@ -142,15 +143,8 @@ Convenience alternative to %Drawable<2, T>. See Drawable for more information. @note Not available on GCC < 4.7. Use %Drawable<2, T> instead. @see Drawable3D -@todoc Remove workaround when Doxygen supports alias template */ -#ifndef DOXYGEN_GENERATING_OUTPUT -#ifndef CORRADE_GCC46_COMPATIBILITY template using Drawable2D = Drawable<2, T>; -#endif -#else -typedef Drawable<2, T = GLfloat> Drawable2D; -#endif /** @brief Three-dimensional drawable @@ -159,24 +153,17 @@ Convenience alternative to %Drawable<3, T>. See Drawable for more information. @note Not available on GCC < 4.7. Use %Drawable<3, T> instead. @see Drawable2D -@todoc Remove workaround when Doxygen supports alias template */ -#ifndef DOXYGEN_GENERATING_OUTPUT -#ifndef CORRADE_GCC46_COMPATIBILITY template using Drawable3D = Drawable<3, T>; #endif -#else -typedef Drawable<3, T = GLfloat> Drawable3D; -#endif /** @brief Group of drawables See Drawable for more information. @see @ref scenegraph, DrawableGroup2D, DrawableGroup3D -@todoc Remove workaround when Doxygen supports alias template */ -#if !defined(CORRADE_GCC46_COMPATIBILITY) && !defined(DOXYGEN_GENERATING_OUTPUT) +#ifndef CORRADE_GCC46_COMPATIBILITY template using DrawableGroup = FeatureGroup, T>; #else #ifndef DOXYGEN_GENERATING_OUTPUT @@ -187,6 +174,7 @@ template class DrawableGroup: public FeatureGroup, T> {}; #endif +#ifndef CORRADE_GCC46_COMPATIBILITY /** @brief Group of two-dimensional drawables @@ -194,15 +182,8 @@ Convenience alternative to %DrawableGroup<2, T>. See Drawable for more information. @note Not available on GCC < 4.7. Use %Drawable<2, T> instead. @see DrawableGroup3D -@todoc Remove workaround when Doxygen supports alias template */ -#ifndef DOXYGEN_GENERATING_OUTPUT -#ifndef CORRADE_GCC46_COMPATIBILITY template using DrawableGroup2D = DrawableGroup<2, T>; -#endif -#else -typedef DrawableGroup<2, T = GLfloat> DrawableGroup2D; -#endif /** @brief Group of three-dimensional drawables @@ -211,15 +192,9 @@ Convenience alternative to %DrawableGroup<3, T>. See Drawable for more information. @note Not available on GCC < 4.7. Use %Drawable<3, T> instead. @see DrawableGroup2D -@todoc Remove workaround when Doxygen supports alias template */ -#ifndef DOXYGEN_GENERATING_OUTPUT -#ifndef CORRADE_GCC46_COMPATIBILITY template using DrawableGroup3D = DrawableGroup<3, T>; #endif -#else -typedef DrawableGroup<3, T = GLfloat> DrawableGroup3D; -#endif }} diff --git a/src/SceneGraph/FeatureGroup.h b/src/SceneGraph/FeatureGroup.h index f91a2b6a4..8a8ddeff3 100644 --- a/src/SceneGraph/FeatureGroup.h +++ b/src/SceneGraph/FeatureGroup.h @@ -111,6 +111,7 @@ class FeatureGroup { std::vector features; }; +#ifndef CORRADE_GCC46_COMPATIBILITY /** @brief Base for two-dimensional object features @@ -119,15 +120,8 @@ AbstractGroupedFeature for more information. @note Not available on GCC < 4.7. Use %FeatureGroup<2, Feature, T> instead. @see FeatureGroup3D -@todoc Remove workaround when Doxygen supports alias template */ -#ifndef DOXYGEN_GENERATING_OUTPUT -#ifndef CORRADE_GCC46_COMPATIBILITY template using FeatureGroup2D = FeatureGroup<2, Feature, T>; -#endif -#else -typedef FeatureGroup<2, Feature, T = GLfloat> FeatureGroup2D; -#endif /** @brief Base for three-dimensional object features @@ -137,15 +131,9 @@ AbstractGroupedFeature for more information. @note Not available on GCC < 4.7. Use %FeatureGroup<3, Feature, T> instead. @see FeatureGroup2D -@todoc Remove workaround when Doxygen supports alias template */ -#ifndef DOXYGEN_GENERATING_OUTPUT -#ifndef CORRADE_GCC46_COMPATIBILITY template using FeatureGroup3D = FeatureGroup<3, Feature, T>; #endif -#else -typedef FeatureGroup<3, Feature, T = GLfloat> FeatureGroup3D; -#endif }} diff --git a/src/SceneGraph/SceneGraph.h b/src/SceneGraph/SceneGraph.h index c958654f1..014c74383 100644 --- a/src/SceneGraph/SceneGraph.h +++ b/src/SceneGraph/SceneGraph.h @@ -27,6 +27,8 @@ namespace Magnum { namespace SceneGraph { +/** @todoc remove when doxygen is sane again */ +#ifndef DOXYGEN_GENERATING_OUTPUT enum class AspectRatioPolicy: std::uint8_t; template class AbstractCamera; @@ -111,6 +113,7 @@ template class MatrixTransformation3D; template class Object; template class Scene; +#endif }} diff --git a/src/Shaders/AbstractTextShader.h b/src/Shaders/AbstractTextShader.h index 6ecc5617d..350b519ac 100644 --- a/src/Shaders/AbstractTextShader.h +++ b/src/Shaders/AbstractTextShader.h @@ -38,18 +38,9 @@ template class AbstractTextShader: public AbstractShade /** @brief Texture coordinates */ typedef Attribute<1, Vector2> TextureCoordinates; - /** @todoc Remove when Doxygen is sane */ - #ifndef DOXYGEN_GENERATING_OUTPUT enum: GLint { - #else - static const GLint - #endif - FontTextureLayer = 16 /**< @brief Layer for font texture */ - #ifndef DOXYGEN_GENERATING_OUTPUT + FontTextureLayer = 16 /**< Layer for font texture */ }; - #else - ; - #endif ~AbstractTextShader() = 0; }; diff --git a/src/Shaders/Shaders.h b/src/Shaders/Shaders.h index 80052a755..fba4ef929 100644 --- a/src/Shaders/Shaders.h +++ b/src/Shaders/Shaders.h @@ -23,6 +23,8 @@ namespace Magnum { namespace Shaders { +/** @todoc remove when doxygen is sane again */ +#ifndef DOXYGEN_GENERATING_OUTPUT template class AbstractTextShader; typedef AbstractTextShader<2> AbstractTextShader2D; typedef AbstractTextShader<3> AbstractTextShader3D; @@ -40,6 +42,7 @@ typedef TextShader<3> TextShader3D; template class VertexColorShader; typedef VertexColorShader<2> VertexColorShader2D; typedef VertexColorShader<3> VertexColorShader3D; +#endif }} diff --git a/src/Trade/AbstractImporter.h b/src/Trade/AbstractImporter.h index 2d2557661..cb0fcc19f 100644 --- a/src/Trade/AbstractImporter.h +++ b/src/Trade/AbstractImporter.h @@ -26,6 +26,8 @@ namespace Magnum { namespace Trade { +/** @todoc Remove `ifndef` when Doxygen is sane again */ +#ifndef DOXYGEN_GENERATING_OUTPUT class AbstractMaterialData; class CameraData; template class ImageData; @@ -36,6 +38,7 @@ class ObjectData2D; class ObjectData3D; class SceneData; class TextureData; +#endif typedef ImageData<1> ImageData1D; typedef ImageData<2> ImageData2D;