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;