Browse Source

Template aliases also can't have "conflicting" default arguments.

Clang didn't like that (and I thought these workarounds aren't needed
with C++11's alias template anymore).
pull/7/head
Vladimír Vondruš 13 years ago
parent
commit
55fecaff5a
  1. 14
      src/SceneGraph/AbstractCamera.h
  2. 14
      src/SceneGraph/AbstractFeature.h
  3. 14
      src/SceneGraph/AbstractGroupedFeature.h
  4. 14
      src/SceneGraph/AbstractObject.h
  5. 14
      src/SceneGraph/AbstractTransformation.h
  6. 14
      src/SceneGraph/Animable.h
  7. 14
      src/SceneGraph/AnimableGroup.h
  8. 37
      src/SceneGraph/Drawable.h
  9. 14
      src/SceneGraph/FeatureGroup.h

14
src/SceneGraph/AbstractCamera.h

@ -169,7 +169,12 @@ for more information.
@note Not available on GCC < 4.7. Use <tt>%AbstractCamera<2, T></tt> instead. @note Not available on GCC < 4.7. Use <tt>%AbstractCamera<2, T></tt> instead.
@see AbstractCamera3D @see AbstractCamera3D
*/ */
template<class T = GLfloat> using AbstractCamera2D = AbstractCamera<2, T>; #ifdef DOXYGEN_GENERATING_OUTPUT
template<class T = GLfloat>
#else
template<class T>
#endif
using AbstractCamera2D = AbstractCamera<2, T>;
/** /**
@brief Base for three-dimensional cameras @brief Base for three-dimensional cameras
@ -179,7 +184,12 @@ for more information.
@note Not available on GCC < 4.7. Use <tt>%AbstractCamera<3, T></tt> instead. @note Not available on GCC < 4.7. Use <tt>%AbstractCamera<3, T></tt> instead.
@see AbstractCamera2D @see AbstractCamera2D
*/ */
template<class T = GLfloat> using AbstractCamera3D = AbstractCamera<3, T>; #ifdef DOXYGEN_GENERATING_OUTPUT
template<class T = GLfloat>
#else
template<class T>
#endif
using AbstractCamera3D = AbstractCamera<3, T>;
#endif #endif
}} }}

14
src/SceneGraph/AbstractFeature.h

@ -293,7 +293,12 @@ for more information.
@note Not available on GCC < 4.7. Use <tt>%AbstractFeature<2, T></tt> instead. @note Not available on GCC < 4.7. Use <tt>%AbstractFeature<2, T></tt> instead.
@see AbstractFeature3D @see AbstractFeature3D
*/ */
template<class T = GLfloat> using AbstractFeature2D = AbstractFeature<2, T>; #ifdef DOXYGEN_GENERATING_OUTPUT
template<class T = GLfloat>
#else
template<class T>
#endif
using AbstractFeature2D = AbstractFeature<2, T>;
/** /**
@brief Base for three-dimensional features @brief Base for three-dimensional features
@ -303,7 +308,12 @@ for more information.
@note Not available on GCC < 4.7. Use <tt>%AbstractFeature<3, T></tt> instead. @note Not available on GCC < 4.7. Use <tt>%AbstractFeature<3, T></tt> instead.
@see AbstractFeature2D @see AbstractFeature2D
*/ */
template<class T = GLfloat> using AbstractFeature3D = AbstractFeature<3, T>; #ifdef DOXYGEN_GENERATING_OUTPUT
template<class T = GLfloat>
#else
template<class T>
#endif
using AbstractFeature3D = AbstractFeature<3, T>;
#endif #endif
}} }}

14
src/SceneGraph/AbstractGroupedFeature.h

@ -102,7 +102,12 @@ AbstractGroupedFeature for more information.
instead. instead.
@see AbstractGroupedFeature3D @see AbstractGroupedFeature3D
*/ */
template<class Derived, class T = GLfloat> using AbstractGroupedFeature2D = AbstractGroupedFeature<2, Derived, T>; #ifdef DOXYGEN_GENERATING_OUTPUT
template<class Derived, class T = GLfloat>
#else
template<class Derived, class T>
#endif
using AbstractGroupedFeature2D = AbstractGroupedFeature<2, Derived, T>;
/** /**
@brief Base for three-dimensional grouped features @brief Base for three-dimensional grouped features
@ -113,7 +118,12 @@ AbstractGroupedFeature for more information.
instead. instead.
@see AbstractGroupedFeature2D @see AbstractGroupedFeature2D
*/ */
template<class Derived, class T = GLfloat> using AbstractGroupedFeature3D = AbstractGroupedFeature<3, Derived, T>; #ifdef DOXYGEN_GENERATING_OUTPUT
template<class Derived, class T = GLfloat>
#else
template<class Derived, class T>
#endif
using AbstractGroupedFeature3D = AbstractGroupedFeature<3, Derived, T>;
#endif #endif
}} }}

14
src/SceneGraph/AbstractObject.h

@ -197,7 +197,12 @@ for more information.
@note Not available on GCC < 4.7. Use <tt>%AbstractObject<2, T></tt> instead. @note Not available on GCC < 4.7. Use <tt>%AbstractObject<2, T></tt> instead.
@see AbstractObject3D @see AbstractObject3D
*/ */
template<class T = GLfloat> using AbstractObject2D = AbstractObject<2, T>; #ifdef DOXYGEN_GENERATING_OUTPUT
template<class T = GLfloat>
#else
template<class T>
#endif
using AbstractObject2D = AbstractObject<2, T>;
/** /**
@brief Base for three-dimensional objects @brief Base for three-dimensional objects
@ -207,7 +212,12 @@ for more information.
@note Not available on GCC < 4.7. Use <tt>%AbstractObject<3, T></tt> instead. @note Not available on GCC < 4.7. Use <tt>%AbstractObject<3, T></tt> instead.
@see AbstractObject2D @see AbstractObject2D
*/ */
template<class T = GLfloat> using AbstractObject3D = AbstractObject<3, T>; #ifdef DOXYGEN_GENERATING_OUTPUT
template<class T = GLfloat>
#else
template<class T>
#endif
using AbstractObject3D = AbstractObject<3, T>;
#endif #endif
}} }}

14
src/SceneGraph/AbstractTransformation.h

@ -149,7 +149,12 @@ AbstractTransformation for more information.
instead. instead.
@see AbstractTransformation3D @see AbstractTransformation3D
*/ */
template<class T = GLfloat> using AbstractTransformation2D = AbstractTransformation<2, T>; #ifdef DOXYGEN_GENERATING_OUTPUT
template<class T = GLfloat>
#else
template<class T>
#endif
using AbstractTransformation2D = AbstractTransformation<2, T>;
/** /**
@brief Base for three-dimensional transformations @brief Base for three-dimensional transformations
@ -160,7 +165,12 @@ AbstractTransformation for more information.
instead. instead.
@see AbstractTransformation2D @see AbstractTransformation2D
*/ */
template<class T = GLfloat> using AbstractTransformation3D = AbstractTransformation<3, T>; #ifdef DOXYGEN_GENERATING_OUTPUT
template<class T = GLfloat>
#else
template<class T>
#endif
using AbstractTransformation3D = AbstractTransformation<3, T>;
#endif #endif
}} }}

14
src/SceneGraph/Animable.h

@ -331,7 +331,12 @@ information.
@note Not available on GCC < 4.7. Use <tt>%Animable<2, T></tt> instead. @note Not available on GCC < 4.7. Use <tt>%Animable<2, T></tt> instead.
@see Animable3D @see Animable3D
*/ */
template<class T = GLfloat> using Animable2D = Animable<2, T>; #ifdef DOXYGEN_GENERATING_OUTPUT
template<class T = GLfloat>
#else
template<class T>
#endif
using Animable2D = Animable<2, T>;
/** /**
@brief Three-dimensional animable @brief Three-dimensional animable
@ -341,7 +346,12 @@ information.
@note Not available on GCC < 4.7. Use <tt>%Animable<3, T></tt> instead. @note Not available on GCC < 4.7. Use <tt>%Animable<3, T></tt> instead.
@see Animable2D @see Animable2D
*/ */
template<class T = GLfloat> using Animable3D = Animable<3, T>; #ifdef DOXYGEN_GENERATING_OUTPUT
template<class T = GLfloat>
#else
template<class T>
#endif
using Animable3D = Animable<3, T>;
#endif #endif
}} }}

14
src/SceneGraph/AnimableGroup.h

@ -76,7 +76,12 @@ more information.
@note Not available on GCC < 4.7. Use <tt>%AnimableGroup<2, T></tt> instead. @note Not available on GCC < 4.7. Use <tt>%AnimableGroup<2, T></tt> instead.
@see AnimableGroup3D @see AnimableGroup3D
*/ */
template<class T = GLfloat> using AnimableGroup2D = AnimableGroup<2, T>; #ifdef DOXYGEN_GENERATING_OUTPUT
template<class T = GLfloat>
#else
template<class T>
#endif
using AnimableGroup2D = AnimableGroup<2, T>;
/** /**
@brief Three-dimensional animable @brief Three-dimensional animable
@ -86,7 +91,12 @@ more information.
@note Not available on GCC < 4.7. Use <tt>%AnimableGroup<3, T></tt> instead. @note Not available on GCC < 4.7. Use <tt>%AnimableGroup<3, T></tt> instead.
@see AnimableGroup2D @see AnimableGroup2D
*/ */
template<class T = GLfloat> using AnimableGroup3D = AnimableGroup<3, T>; #ifdef DOXYGEN_GENERATING_OUTPUT
template<class T = GLfloat>
#else
template<class T>
#endif
using AnimableGroup3D = AnimableGroup<3, T>;
#endif #endif
}} }}

37
src/SceneGraph/Drawable.h

@ -144,7 +144,12 @@ information.
@note Not available on GCC < 4.7. Use <tt>%Drawable<2, T></tt> instead. @note Not available on GCC < 4.7. Use <tt>%Drawable<2, T></tt> instead.
@see Drawable3D @see Drawable3D
*/ */
template<class T = GLfloat> using Drawable2D = Drawable<2, T>; #ifdef DOXYGEN_GENERATING_OUTPUT
template<class T = GLfloat>
#else
template<class T>
#endif
using Drawable2D = Drawable<2, T>;
/** /**
@brief Three-dimensional drawable @brief Three-dimensional drawable
@ -154,7 +159,12 @@ information.
@note Not available on GCC < 4.7. Use <tt>%Drawable<3, T></tt> instead. @note Not available on GCC < 4.7. Use <tt>%Drawable<3, T></tt> instead.
@see Drawable2D @see Drawable2D
*/ */
template<class T = GLfloat> using Drawable3D = Drawable<3, T>; #ifdef DOXYGEN_GENERATING_OUTPUT
template<class T = GLfloat>
#else
template<class T>
#endif
using Drawable3D = Drawable<3, T>;
#endif #endif
/** /**
@ -164,12 +174,17 @@ See Drawable for more information.
@see @ref scenegraph, DrawableGroup2D, DrawableGroup3D @see @ref scenegraph, DrawableGroup2D, DrawableGroup3D
*/ */
#ifndef CORRADE_GCC46_COMPATIBILITY #ifndef CORRADE_GCC46_COMPATIBILITY
template<std::uint8_t dimensions, class T = GLfloat> using DrawableGroup = FeatureGroup<dimensions, Drawable<dimensions, T>, T>; #ifdef DOXYGEN_GENERATING_OUTPUT
template<std::uint8_t dimensions, class T = GLfloat>
#else #else
#ifndef DOXYGEN_GENERATING_OUTPUT
template<std::uint8_t dimensions, class T> template<std::uint8_t dimensions, class T>
#endif
using DrawableGroup = FeatureGroup<dimensions, Drawable<dimensions, T>, T>;
#else #else
#ifdef DOXYGEN_GENERATING_OUTPUT
template<std::uint8_t dimensions, class T = GLfloat> template<std::uint8_t dimensions, class T = GLfloat>
#else
template<std::uint8_t dimensions, class T>
#endif #endif
class DrawableGroup: public FeatureGroup<dimensions, Drawable<dimensions, T>, T> {}; class DrawableGroup: public FeatureGroup<dimensions, Drawable<dimensions, T>, T> {};
#endif #endif
@ -183,7 +198,12 @@ more information.
@note Not available on GCC < 4.7. Use <tt>%Drawable<2, T></tt> instead. @note Not available on GCC < 4.7. Use <tt>%Drawable<2, T></tt> instead.
@see DrawableGroup3D @see DrawableGroup3D
*/ */
template<class T = GLfloat> using DrawableGroup2D = DrawableGroup<2, T>; #ifdef DOXYGEN_GENERATING_OUTPUT
template<class T = GLfloat>
#else
template<class T>
#endif
using DrawableGroup2D = DrawableGroup<2, T>;
/** /**
@brief Group of three-dimensional drawables @brief Group of three-dimensional drawables
@ -193,7 +213,12 @@ more information.
@note Not available on GCC < 4.7. Use <tt>%Drawable<3, T></tt> instead. @note Not available on GCC < 4.7. Use <tt>%Drawable<3, T></tt> instead.
@see DrawableGroup2D @see DrawableGroup2D
*/ */
template<class T = GLfloat> using DrawableGroup3D = DrawableGroup<3, T>; #ifdef DOXYGEN_GENERATING_OUTPUT
template<class T = GLfloat>
#else
template<class T>
#endif
using DrawableGroup3D = DrawableGroup<3, T>;
#endif #endif
}} }}

14
src/SceneGraph/FeatureGroup.h

@ -118,7 +118,12 @@ AbstractGroupedFeature for more information.
instead. instead.
@see FeatureGroup3D @see FeatureGroup3D
*/ */
template<class Feature, class T = GLfloat> using FeatureGroup2D = FeatureGroup<2, Feature, T>; #ifdef DOXYGEN_GENERATING_OUTPUT
template<class Feature, class T = GLfloat>
#else
template<class Feature, class T>
#endif
using FeatureGroup2D = FeatureGroup<2, Feature, T>;
/** /**
@brief Base for three-dimensional object features @brief Base for three-dimensional object features
@ -129,7 +134,12 @@ AbstractGroupedFeature for more information.
instead. instead.
@see FeatureGroup2D @see FeatureGroup2D
*/ */
template<class Feature, class T = GLfloat> using FeatureGroup3D = FeatureGroup<3, Feature, T>; #ifdef DOXYGEN_GENERATING_OUTPUT
template<class Feature, class T = GLfloat>
#else
template<class Feature, class T>
#endif
using FeatureGroup3D = FeatureGroup<3, Feature, T>;
#endif #endif
}} }}

Loading…
Cancel
Save