diff --git a/src/Magnum/Color.h b/src/Magnum/Color.h index cee0cf3b0..77f768d16 100644 --- a/src/Magnum/Color.h +++ b/src/Magnum/Color.h @@ -43,12 +43,16 @@ namespace Magnum { /** @copybrief Math::Color3 * @deprecated Use @ref Math::Color3 instead. */ +#ifndef CORRADE_MSVC2015_COMPATIBILITY /* Multiple definitions still broken */ template using BasicColor3 CORRADE_DEPRECATED_ALIAS("use Math::Color3 instead") = Math::Color3; +#endif /** @copybrief Math::Color4 * @deprecated Use @ref Math::Color4 instead. */ +#ifndef CORRADE_MSVC2015_COMPATIBILITY /* Multiple definitions still broken */ template using BasicColor4 CORRADE_DEPRECATED_ALIAS("use Math::Color4 instead") = Math::Color4; +#endif } #else diff --git a/src/Magnum/ImageReference.h b/src/Magnum/ImageReference.h index 5aed5d76c..f3436652d 100644 --- a/src/Magnum/ImageReference.h +++ b/src/Magnum/ImageReference.h @@ -40,7 +40,9 @@ namespace Magnum { /** @copybrief ImageView * @deprecated Use @ref ImageView instead. */ +#ifndef CORRADE_MSVC2015_COMPATIBILITY /* Multiple definitions still broken */ template using CORRADE_DEPRECATED_ALIAS("use ImageView instead") ImageReference = ImageView; +#endif /** @copybrief ImageView1D * @deprecated Use @ref ImageView1D instead. diff --git a/src/Magnum/Math/Matrix.h b/src/Magnum/Math/Matrix.h index 2fe517423..09e9c9442 100644 --- a/src/Magnum/Math/Matrix.h +++ b/src/Magnum/Math/Matrix.h @@ -228,7 +228,9 @@ Convenience alternative to `Matrix<2, T>`. See @ref Matrix for more information. @see @ref Magnum::Matrix2x2, @ref Magnum::Matrix2x2d */ +#ifndef CORRADE_MSVC2015_COMPATIBILITY /* Multiple definitions still broken */ template using Matrix2x2 = Matrix<2, T>; +#endif /** @brief 3x3 matrix @@ -238,7 +240,9 @@ information. Note that this is different from @ref Matrix3, which contains additional functions for transformations in 2D. @see @ref Magnum::Matrix3x3, @ref Magnum::Matrix3x3d */ +#ifndef CORRADE_MSVC2015_COMPATIBILITY /* Multiple definitions still broken */ template using Matrix3x3 = Matrix<3, T>; +#endif /** @brief 4x4 matrix @@ -248,7 +252,9 @@ information. Note that this is different from @ref Matrix4, which contains additional functions for transformations in 3D. @see @ref Magnum::Matrix4x4, @ref Magnum::Matrix4x4d */ +#ifndef CORRADE_MSVC2015_COMPATIBILITY /* Multiple definitions still broken */ template using Matrix4x4 = Matrix<4, T>; +#endif MAGNUM_MATRIX_OPERATOR_IMPLEMENTATION(Matrix) diff --git a/src/Magnum/Math/Range.h b/src/Magnum/Math/Range.h index 28b8f7c41..9ef651c57 100644 --- a/src/Magnum/Math/Range.h +++ b/src/Magnum/Math/Range.h @@ -211,7 +211,9 @@ template class Range { Convenience alternative to `Range<1, T>`. See @ref Range for more information. */ +#ifndef CORRADE_MSVC2015_COMPATIBILITY /* Multiple definitions still broken */ template using Range1D = Range<1, T>; +#endif /** @brief Two-dimensional range diff --git a/src/Magnum/Math/RectangularMatrix.h b/src/Magnum/Math/RectangularMatrix.h index 3ecf94fa2..94a096634 100644 --- a/src/Magnum/Math/RectangularMatrix.h +++ b/src/Magnum/Math/RectangularMatrix.h @@ -399,7 +399,9 @@ Convenience alternative to `RectangularMatrix<2, 3, T>`. See @ref RectangularMatrix for more information. @see @ref Magnum::Matrix2x3, @ref Magnum::Matrix2x3d */ +#ifndef CORRADE_MSVC2015_COMPATIBILITY /* Multiple definitions still broken */ template using Matrix2x3 = RectangularMatrix<2, 3, T>; +#endif /** @brief Matrix with 3 columns and 2 rows @@ -408,7 +410,9 @@ Convenience alternative to `RectangularMatrix<3, 2, T>`. See @ref RectangularMatrix for more information. @see @ref Magnum::Matrix3x2, @ref Magnum::Matrix3x2d */ +#ifndef CORRADE_MSVC2015_COMPATIBILITY /* Multiple definitions still broken */ template using Matrix3x2 = RectangularMatrix<3, 2, T>; +#endif /** @brief Matrix with 2 columns and 4 rows @@ -417,7 +421,9 @@ Convenience alternative to `RectangularMatrix<2, 4, T>`. See @ref RectangularMatrix for more information. @see @ref Magnum::Matrix2x4, @ref Magnum::Matrix2x4d */ +#ifndef CORRADE_MSVC2015_COMPATIBILITY /* Multiple definitions still broken */ template using Matrix2x4 = RectangularMatrix<2, 4, T>; +#endif /** @brief Matrix with 4 columns and 2 rows @@ -426,7 +432,9 @@ Convenience alternative to `RectangularMatrix<4, 2, T>`. See @ref RectangularMatrix for more information. @see @ref Magnum::Matrix4x2, @ref Magnum::Matrix4x2d */ +#ifndef CORRADE_MSVC2015_COMPATIBILITY /* Multiple definitions still broken */ template using Matrix4x2 = RectangularMatrix<4, 2, T>; +#endif /** @brief Matrix with 3 columns and 4 rows @@ -435,7 +443,9 @@ Convenience alternative to `RectangularMatrix<3, 4, T>`. See @ref RectangularMatrix for more information. @see @ref Magnum::Matrix3x4, @ref Magnum::Matrix3x4d */ +#ifndef CORRADE_MSVC2015_COMPATIBILITY /* Multiple definitions still broken */ template using Matrix3x4 = RectangularMatrix<3, 4, T>; +#endif /** @brief Matrix with 4 columns and 3 rows @@ -444,7 +454,9 @@ Convenience alternative to `RectangularMatrix<4, 3, T>`. See @ref RectangularMatrix for more information. @see @ref Magnum::Matrix4x3, @ref Magnum::Matrix4x3d */ +#ifndef CORRADE_MSVC2015_COMPATIBILITY /* Multiple definitions still broken */ template using Matrix4x3 = RectangularMatrix<4, 3, T>; +#endif /** @relates RectangularMatrix @brief Multiply number with matrix diff --git a/src/Magnum/SceneGraph/AbstractCamera.h b/src/Magnum/SceneGraph/AbstractCamera.h index f0b5b2f5c..75c685393 100644 --- a/src/Magnum/SceneGraph/AbstractCamera.h +++ b/src/Magnum/SceneGraph/AbstractCamera.h @@ -41,13 +41,17 @@ namespace Magnum { namespace SceneGraph { * @copybrief Camera * @deprecated Use @ref Camera instead. */ +#ifndef CORRADE_MSVC2015_COMPATIBILITY /* Multiple definitions still broken */ template using AbstractCamera CORRADE_DEPRECATED_ALIAS("use Camera instead") = Camera; +#endif /** * @copybrief BasicCamera2D * @deprecated Use @ref BasicCamera2D instead. */ +#ifndef CORRADE_MSVC2015_COMPATIBILITY /* Multiple definitions still broken */ template using AbstractBasicCamera2D CORRADE_DEPRECATED_ALIAS("use BasicCamera2D instead") = BasicCamera2D; +#endif /** * @copybrief Camera2D @@ -59,7 +63,9 @@ CORRADE_DEPRECATED("use Camera2D instead") typedef Camera2D AbstractCamera2D; * @copybrief BasicCamera3D * @deprecated Use @ref BasicCamera3D instead. */ +#ifndef CORRADE_MSVC2015_COMPATIBILITY /* Multiple definitions still broken */ template using AbstractBasicCamera3D CORRADE_DEPRECATED_ALIAS("use BasicCamera3D instead") = BasicCamera3D; +#endif /** * @copybrief Camera3D diff --git a/src/Magnum/SceneGraph/AbstractFeature.h b/src/Magnum/SceneGraph/AbstractFeature.h index 291442d90..5c9a7c48d 100644 --- a/src/Magnum/SceneGraph/AbstractFeature.h +++ b/src/Magnum/SceneGraph/AbstractFeature.h @@ -287,7 +287,9 @@ Convenience alternative to `AbstractFeature<2, T>`. See @ref AbstractFeature for more information. @see @ref AbstractFeature2D, @ref AbstractBasicFeature3D */ +#ifndef CORRADE_MSVC2015_COMPATIBILITY /* Multiple definitions still broken */ template using AbstractBasicFeature2D = AbstractFeature<2, T>; +#endif /** @brief Base feature for two-dimensional float scenes @@ -303,7 +305,9 @@ Convenience alternative to `AbstractFeature<3, T>`. See @ref AbstractFeature for more information. @see @ref AbstractFeature3D, @ref AbstractBasicFeature2D */ +#ifndef CORRADE_MSVC2015_COMPATIBILITY /* Multiple definitions still broken */ template using AbstractBasicFeature3D = AbstractFeature<3, T>; +#endif /** @brief Base feature for three-dimensional float scenes diff --git a/src/Magnum/SceneGraph/AbstractGroupedFeature.h b/src/Magnum/SceneGraph/AbstractGroupedFeature.h index 9f0011e42..99ef67113 100644 --- a/src/Magnum/SceneGraph/AbstractGroupedFeature.h +++ b/src/Magnum/SceneGraph/AbstractGroupedFeature.h @@ -114,7 +114,9 @@ Convenience alternative to `AbstractGroupedFeature<2, Derived, T>`. See @ref AbstractGroupedFeature for more information. @see @ref AbstractGroupedFeature2D, @ref AbstractBasicGroupedFeature3D */ +#ifndef CORRADE_MSVC2015_COMPATIBILITY /* Multiple definitions still broken */ template using AbstractBasicGroupedFeature2D = AbstractGroupedFeature<2, Derived, T>; +#endif /** @brief Base grouped feature for two-dimensional float scenes @@ -123,7 +125,9 @@ Convenience alternative to `AbstractBasicGroupedFeature2D`. See @ref AbstractGroupedFeature for more information. @see @ref AbstractGroupedFeature3D */ +#ifndef CORRADE_MSVC2015_COMPATIBILITY /* Multiple definitions still broken */ template using AbstractGroupedFeature2D = AbstractBasicGroupedFeature2D; +#endif /** @brief Base grouped feature for three-dimensional scenes @@ -132,7 +136,9 @@ Convenience alternative to `AbstractGroupedFeature<3, Derived, T>`. See @ref AbstractGroupedFeature for more information. @see @ref AbstractGroupedFeature3D, @ref AbstractBasicGroupedFeature2D */ +#ifndef CORRADE_MSVC2015_COMPATIBILITY /* Multiple definitions still broken */ template using AbstractBasicGroupedFeature3D = AbstractGroupedFeature<3, Derived, T>; +#endif /** @brief Base grouped feature for three-dimensional float scenes @@ -141,7 +147,9 @@ Convenience alternative to `AbstractBasicGroupedFeature3D`. See @ref AbstractGroupedFeature for more information. @see @ref AbstractGroupedFeature2D */ +#ifndef CORRADE_MSVC2015_COMPATIBILITY /* Multiple definitions still broken */ template using AbstractGroupedFeature3D = AbstractBasicGroupedFeature3D; +#endif }} diff --git a/src/Magnum/SceneGraph/AbstractObject.h b/src/Magnum/SceneGraph/AbstractObject.h index 26c3f415f..305543e5a 100644 --- a/src/Magnum/SceneGraph/AbstractObject.h +++ b/src/Magnum/SceneGraph/AbstractObject.h @@ -286,7 +286,9 @@ Convenience alternative to `AbstractObject<2, T>`. See @ref AbstractObject for more information. @see @ref AbstractObject2D, @ref AbstractBasicObject3D */ +#ifndef CORRADE_MSVC2015_COMPATIBILITY /* Multiple definitions still broken */ template using AbstractBasicObject2D = AbstractObject<2, T>; +#endif /** @brief Base object for two-dimensional float scenes @@ -302,7 +304,9 @@ Convenience alternative to `AbstractObject<3, T>`. See @ref AbstractObject for more information. @see @ref AbstractObject3D, @ref AbstractBasicObject2D */ +#ifndef CORRADE_MSVC2015_COMPATIBILITY /* Multiple definitions still broken */ template using AbstractBasicObject3D = AbstractObject<3, T>; +#endif /** @brief Base object for three-dimensional float scenes diff --git a/src/Magnum/SceneGraph/AbstractTransformation.h b/src/Magnum/SceneGraph/AbstractTransformation.h index fcc2ea2ce..9b910445c 100644 --- a/src/Magnum/SceneGraph/AbstractTransformation.h +++ b/src/Magnum/SceneGraph/AbstractTransformation.h @@ -111,7 +111,9 @@ Convenience alternative to `AbstractTransformation<2, T>`. See @ref AbstractTransformation for more information. @see @ref AbstractTransformation2D, @ref AbstractBasicTransformation3D */ +#ifndef CORRADE_MSVC2015_COMPATIBILITY /* Multiple definitions still broken */ template using AbstractBasicTransformation2D = AbstractTransformation<2, T>; +#endif /** @brief Base transformation for two-dimensional float scenes @@ -127,7 +129,9 @@ Convenience alternative to `AbstractTransformation<3, T>`. See @ref AbstractTransformation for more information. @see @ref AbstractTransformation3D, @ref AbstractBasicTransformation2D */ +#ifndef CORRADE_MSVC2015_COMPATIBILITY /* Multiple definitions still broken */ template using AbstractBasicTransformation3D = AbstractTransformation<3, T>; +#endif /** @brief Base transformation for three-dimensional float scenes diff --git a/src/Magnum/SceneGraph/AbstractTranslation.h b/src/Magnum/SceneGraph/AbstractTranslation.h index cd2126553..5ba25e5f8 100644 --- a/src/Magnum/SceneGraph/AbstractTranslation.h +++ b/src/Magnum/SceneGraph/AbstractTranslation.h @@ -121,12 +121,14 @@ Convenience alternative to `AbstractTranslation<2, T, TranslationType>`. See @ref AbstractTranslation for more information. @see @ref AbstractTranslation2D, @ref AbstractBasicTranslation3D */ +#ifndef CORRADE_MSVC2015_COMPATIBILITY /* Multiple definitions still broken */ #ifdef DOXYGEN_GENERATING_OUTPUT template #else template #endif using AbstractBasicTranslation2D = AbstractTranslation<2, T, TranslationType>; +#endif /** @brief Base transformation for two-dimensional float scenes supporting translation @@ -142,12 +144,14 @@ Convenience alternative to `AbstractTranslation<3, T, TranslationType>`. See @ref AbstractTranslation for more information. @see @ref AbstractTranslation3D, @ref AbstractBasicTranslation2D */ +#ifndef CORRADE_MSVC2015_COMPATIBILITY /* Multiple definitions still broken */ #ifdef DOXYGEN_GENERATING_OUTPUT template #else template #endif using AbstractBasicTranslation3D = AbstractTranslation<3, T, TranslationType>; +#endif /** @brief Base transformation for three-dimensional float scenes supporting translation diff --git a/src/Magnum/SceneGraph/Animable.h b/src/Magnum/SceneGraph/Animable.h index 2ff2eb07a..e39c462d3 100644 --- a/src/Magnum/SceneGraph/Animable.h +++ b/src/Magnum/SceneGraph/Animable.h @@ -330,7 +330,9 @@ Convenience alternative to `Animable<2, T>`. See @ref Animable for more information. @see @ref Animable2D, @ref BasicAnimable3D */ +#ifndef CORRADE_MSVC2015_COMPATIBILITY /* Multiple definitions still broken */ template using BasicAnimable2D = Animable<2, T>; +#endif /** @brief Animable for two-dimensional float scenes @@ -346,7 +348,9 @@ Convenience alternative to `Animable<3, T>`. See @ref Animable for more information. @see @ref Animable3D, @ref BasicAnimable2D */ +#ifndef CORRADE_MSVC2015_COMPATIBILITY /* Multiple definitions still broken */ template using BasicAnimable3D = Animable<3, T>; +#endif /** @brief Animable for three-dimensional float scenes diff --git a/src/Magnum/SceneGraph/AnimableGroup.h b/src/Magnum/SceneGraph/AnimableGroup.h index db017427b..b3a29d650 100644 --- a/src/Magnum/SceneGraph/AnimableGroup.h +++ b/src/Magnum/SceneGraph/AnimableGroup.h @@ -79,7 +79,9 @@ Convenience alternative to `AnimableGroup<2, T>`. See Animable for more information. @see @ref AnimableGroup2D, @ref BasicAnimableGroup3D */ +#ifndef CORRADE_MSVC2015_COMPATIBILITY /* Multiple definitions still broken */ template using BasicAnimableGroup2D = AnimableGroup<2, T>; +#endif /** @brief Animable group for two-dimensional float scenes @@ -95,7 +97,9 @@ Convenience alternative to `AnimableGroup<3, T>`. See Animable for more information. @see @ref AnimableGroup3D, @ref BasicAnimableGroup2D */ +#ifndef CORRADE_MSVC2015_COMPATIBILITY /* Multiple definitions still broken */ template using BasicAnimableGroup3D = AnimableGroup<3, T>; +#endif /** @brief Animable group for three-dimensional float scenes diff --git a/src/Magnum/SceneGraph/Camera.h b/src/Magnum/SceneGraph/Camera.h index 439c512ad..0935bb817 100644 --- a/src/Magnum/SceneGraph/Camera.h +++ b/src/Magnum/SceneGraph/Camera.h @@ -263,7 +263,9 @@ Convenience alternative to `Camera<2, T>`. See @ref Camera for more information. @see @ref Camera2D, @ref BasicCamera3D */ +#ifndef CORRADE_MSVC2015_COMPATIBILITY /* Multiple definitions still broken */ template using BasicCamera2D = Camera<2, T>; +#endif /** @brief Camera for two-dimensional float scenes @@ -279,7 +281,9 @@ Convenience alternative to `Camera<3, T>`. See @ref Camera for more information. @see @ref Camera3D, @ref BasicCamera2D */ +#ifndef CORRADE_MSVC2015_COMPATIBILITY /* Multiple definitions still broken */ template using BasicCamera3D = Camera<3, T>; +#endif /** @brief Camera for three-dimensional float scenes diff --git a/src/Magnum/SceneGraph/Drawable.h b/src/Magnum/SceneGraph/Drawable.h index 1b0777f13..3f1d8ff0f 100644 --- a/src/Magnum/SceneGraph/Drawable.h +++ b/src/Magnum/SceneGraph/Drawable.h @@ -212,7 +212,9 @@ Convenience alternative to `Drawable<2, T>`. See @ref Drawable for more information. @see @ref Drawable2D, @ref BasicDrawable3D */ +#ifndef CORRADE_MSVC2015_COMPATIBILITY /* Multiple definitions still broken */ template using BasicDrawable2D = Drawable<2, T>; +#endif /** @brief Drawable for two-dimensional float scenes @@ -228,7 +230,9 @@ Convenience alternative to `Drawable<3, T>`. See @ref Drawable for more information. @see @ref Drawable3D, @ref BasicDrawable3D */ +#ifndef CORRADE_MSVC2015_COMPATIBILITY /* Multiple definitions still broken */ template using BasicDrawable3D = Drawable<3, T>; +#endif /** @brief Drawable for three-dimensional float scenes @@ -244,7 +248,9 @@ See @ref Drawable for more information. @see @ref scenegraph, @ref BasicDrawableGroup2D, @ref BasicDrawableGroup3D, @ref DrawableGroup2D, @ref DrawableGroup3D */ +#ifndef CORRADE_MSVC2015_COMPATIBILITY /* Multiple definitions still broken */ template using DrawableGroup = FeatureGroup, T>; +#endif /** @brief Group of drawables for two-dimensional scenes @@ -253,7 +259,9 @@ Convenience alternative to `DrawableGroup<2, T>`. See @ref Drawable for more information. @see @ref DrawableGroup2D, @ref BasicDrawableGroup3D */ +#ifndef CORRADE_MSVC2015_COMPATIBILITY /* Multiple definitions still broken */ template using BasicDrawableGroup2D = DrawableGroup<2, T>; +#endif /** @brief Group of drawables for two-dimensional float scenes @@ -269,7 +277,9 @@ Convenience alternative to `DrawableGroup<3, T>`. See @ref Drawable for more information. @see @ref DrawableGroup3D, @ref BasicDrawableGroup2D */ +#ifndef CORRADE_MSVC2015_COMPATIBILITY /* Multiple definitions still broken */ template using BasicDrawableGroup3D = DrawableGroup<3, T>; +#endif /** @brief Group of drawables for three-dimensional float scenes diff --git a/src/Magnum/SceneGraph/FeatureGroup.h b/src/Magnum/SceneGraph/FeatureGroup.h index e92fc2ab4..49bbfea73 100644 --- a/src/Magnum/SceneGraph/FeatureGroup.h +++ b/src/Magnum/SceneGraph/FeatureGroup.h @@ -120,7 +120,9 @@ Convenience alternative to `FeatureGroup<2, Feature, T>`. See @ref AbstractGroupedFeature for more information. @see @ref FeatureGroup2D, @ref BasicFeatureGroup3D */ +#ifndef CORRADE_MSVC2015_COMPATIBILITY /* Multiple definitions still broken */ template using BasicFeatureGroup2D = FeatureGroup<2, Feature, T>; +#endif /** @brief Base feature group for two-dimensional float scenes @@ -129,7 +131,9 @@ Convenience alternative to `BasicFeatureGroup2D`. See @ref AbstractGroupedFeature for more information. @see @ref FeatureGroup3D */ +#ifndef CORRADE_MSVC2015_COMPATIBILITY /* Multiple definitions still broken */ template using FeatureGroup2D = BasicFeatureGroup2D; +#endif /** @brief Base feature group for three-dimensional scenes @@ -138,7 +142,9 @@ Convenience alternative to `FeatureGroup<3, Feature, T>`. See @ref AbstractGroupedFeature for more information. @see @ref FeatureGroup3D, @ref BasicFeatureGroup2D */ +#ifndef CORRADE_MSVC2015_COMPATIBILITY /* Multiple definitions still broken */ template using BasicFeatureGroup3D = FeatureGroup<3, Feature, T>; +#endif /** @brief Base feature group for three-dimensional float scenes @@ -147,7 +153,9 @@ Convenience alternative to `BasicFeatureGroup3D`. See @ref AbstractGroupedFeature for more information. @see @ref FeatureGroup2D */ +#ifndef CORRADE_MSVC2015_COMPATIBILITY /* Multiple definitions still broken */ template using FeatureGroup3D = BasicFeatureGroup3D; +#endif template FeatureGroup::~FeatureGroup() { for(auto i: AbstractFeatureGroup::features) static_cast(i.get())._group = nullptr; diff --git a/src/Magnum/SceneGraph/TranslationTransformation.h b/src/Magnum/SceneGraph/TranslationTransformation.h index 5277a77b6..fee2f699d 100644 --- a/src/Magnum/SceneGraph/TranslationTransformation.h +++ b/src/Magnum/SceneGraph/TranslationTransformation.h @@ -152,12 +152,14 @@ Convenience alternative to `TranslationTransformation<2, T, TranslationType>`. See @ref TranslationTransformation for more information. @see @ref TranslationTransformation2D, @ref BasicTranslationTransformation3D */ +#ifndef CORRADE_MSVC2015_COMPATIBILITY /* Multiple definitions still broken */ #ifdef DOXYGEN_GENERATING_OUTPUT template #else template #endif using BasicTranslationTransformation2D = TranslationTransformation<2, T, TranslationType>; +#endif /** @brief Base transformation for two-dimensional float scenes supporting translation @@ -173,12 +175,14 @@ Convenience alternative to `TranslationTransformation<3, T, TranslationType>`. See @ref TranslationTransformation for more information. @see @ref TranslationTransformation3D, @ref BasicTranslationTransformation2D */ +#ifndef CORRADE_MSVC2015_COMPATIBILITY /* Multiple definitions still broken */ #ifdef DOXYGEN_GENERATING_OUTPUT template #else template #endif using BasicTranslationTransformation3D = TranslationTransformation<3, T, TranslationType>; +#endif /** @brief Base transformation for three-dimensional float scenes supporting translation