Browse Source

GCC 4.5 compatibility: can't default some functions in class body.

Vladimír Vondruš 13 years ago
parent
commit
23d51c9e36
  1. 3
      src/AbstractFramebuffer.h
  2. 3
      src/Physics/AbstractShape.h
  3. 4
      src/Platform/AbstractContextHandler.h
  4. 4
      src/SceneGraph/AbstractTranslationRotation2D.h
  5. 4
      src/SceneGraph/AbstractTranslationRotation3D.h
  6. 4
      src/SceneGraph/AbstractTranslationRotationScaling2D.h
  7. 4
      src/SceneGraph/AbstractTranslationRotationScaling3D.h
  8. 4
      src/SceneGraph/DualComplexTransformation.h
  9. 4
      src/SceneGraph/DualQuaternionTransformation.h
  10. 4
      src/SceneGraph/FeatureGroup.h
  11. 4
      src/SceneGraph/MatrixTransformation2D.h
  12. 4
      src/SceneGraph/MatrixTransformation3D.h
  13. 4
      src/SceneGraph/RigidMatrixTransformation2D.h
  14. 4
      src/SceneGraph/RigidMatrixTransformation3D.h
  15. 4
      src/SceneGraph/Scene.h

3
src/AbstractFramebuffer.h

@ -184,7 +184,7 @@ class MAGNUM_EXPORT AbstractFramebuffer {
blit(source, destination, rectangle, rectangle, mask, BlitFilter::Nearest); blit(source, destination, rectangle, rectangle, mask, BlitFilter::Nearest);
} }
explicit AbstractFramebuffer() = default; explicit AbstractFramebuffer();
virtual ~AbstractFramebuffer() = 0; virtual ~AbstractFramebuffer() = 0;
/** /**
@ -300,6 +300,7 @@ class MAGNUM_EXPORT AbstractFramebuffer {
#endif #endif
}; };
inline AbstractFramebuffer::AbstractFramebuffer() = default;
inline AbstractFramebuffer::~AbstractFramebuffer() {} inline AbstractFramebuffer::~AbstractFramebuffer() {}
CORRADE_ENUMSET_OPERATORS(AbstractFramebuffer::ClearMask) CORRADE_ENUMSET_OPERATORS(AbstractFramebuffer::ClearMask)

3
src/Physics/AbstractShape.h

@ -105,7 +105,7 @@ template<UnsignedInt dimensions> class MAGNUM_PHYSICS_EXPORT AbstractShape {
typedef typename Implementation::ShapeDimensionTraits<dimensions>::Type Type; typedef typename Implementation::ShapeDimensionTraits<dimensions>::Type Type;
#endif #endif
explicit AbstractShape() = default; explicit AbstractShape();
virtual inline ~AbstractShape() {} virtual inline ~AbstractShape() {}
/** @brief Shape type */ /** @brief Shape type */
@ -130,6 +130,7 @@ template<UnsignedInt dimensions> class MAGNUM_PHYSICS_EXPORT AbstractShape {
virtual bool collides(const AbstractShape<dimensions>* other) const; virtual bool collides(const AbstractShape<dimensions>* other) const;
}; };
template<UnsignedInt dimensions> inline AbstractShape<dimensions>::AbstractShape() = default;
/** @brief Abstract two-dimensional shape */ /** @brief Abstract two-dimensional shape */
typedef AbstractShape<2> AbstractShape2D; typedef AbstractShape<2> AbstractShape2D;

4
src/Platform/AbstractContextHandler.h

@ -46,7 +46,7 @@ template<class Display, class VisualId, class Window> class AbstractContextHandl
*/ */
virtual VisualId getVisualId(Display nativeDisplay) = 0; virtual VisualId getVisualId(Display nativeDisplay) = 0;
explicit AbstractContextHandler() = default; explicit AbstractContextHandler();
/** /**
* @brief Destructor * @brief Destructor
@ -74,6 +74,8 @@ template<class Display, class VisualId, class Window> class AbstractContextHandl
virtual void swapBuffers() = 0; virtual void swapBuffers() = 0;
}; };
template<class Display, class VisualId, class Window> inline AbstractContextHandler<Display, VisualId, Window>::AbstractContextHandler() = default;
}} }}
#endif #endif

4
src/SceneGraph/AbstractTranslationRotation2D.h

@ -44,7 +44,7 @@ template<class T = Float>
#endif #endif
class AbstractTranslationRotation2D: public AbstractTransformation<2, T> { class AbstractTranslationRotation2D: public AbstractTransformation<2, T> {
public: public:
explicit AbstractTranslationRotation2D() = default; explicit AbstractTranslationRotation2D();
/** /**
* @brief Translate object * @brief Translate object
@ -65,6 +65,8 @@ class AbstractTranslationRotation2D: public AbstractTransformation<2, T> {
virtual AbstractTranslationRotation2D<T>* rotate(Math::Rad<T> angle, TransformationType type = TransformationType::Global) = 0; virtual AbstractTranslationRotation2D<T>* rotate(Math::Rad<T> angle, TransformationType type = TransformationType::Global) = 0;
}; };
template<class T> inline AbstractTranslationRotation2D<T>::AbstractTranslationRotation2D() = default;
}} }}
#endif #endif

4
src/SceneGraph/AbstractTranslationRotation3D.h

@ -45,7 +45,7 @@ template<class T = Float>
#endif #endif
class AbstractTranslationRotation3D: public AbstractTransformation<3, T> { class AbstractTranslationRotation3D: public AbstractTransformation<3, T> {
public: public:
explicit AbstractTranslationRotation3D() = default; explicit AbstractTranslationRotation3D();
/** /**
* @brief Translate object * @brief Translate object
@ -109,6 +109,8 @@ class AbstractTranslationRotation3D: public AbstractTransformation<3, T> {
} }
}; };
template<class T> inline AbstractTranslationRotation3D<T>::AbstractTranslationRotation3D() = default;
}} }}
#endif #endif

4
src/SceneGraph/AbstractTranslationRotationScaling2D.h

@ -44,7 +44,7 @@ template<class T = Float>
#endif #endif
class AbstractTranslationRotationScaling2D: public AbstractTranslationRotation2D<T> { class AbstractTranslationRotationScaling2D: public AbstractTranslationRotation2D<T> {
public: public:
explicit AbstractTranslationRotationScaling2D() = default; explicit AbstractTranslationRotationScaling2D();
/** /**
* @brief Scale object * @brief Scale object
@ -57,6 +57,8 @@ class AbstractTranslationRotationScaling2D: public AbstractTranslationRotation2D
virtual AbstractTranslationRotationScaling2D<T>* scale(const Math::Vector2<T>& vector, TransformationType type = TransformationType::Global) = 0; virtual AbstractTranslationRotationScaling2D<T>* scale(const Math::Vector2<T>& vector, TransformationType type = TransformationType::Global) = 0;
}; };
template<class T> inline AbstractTranslationRotationScaling2D<T>::AbstractTranslationRotationScaling2D() = default;
}} }}
#endif #endif

4
src/SceneGraph/AbstractTranslationRotationScaling3D.h

@ -44,7 +44,7 @@ template<class T = Float>
#endif #endif
class AbstractTranslationRotationScaling3D: public AbstractTranslationRotation3D<T> { class AbstractTranslationRotationScaling3D: public AbstractTranslationRotation3D<T> {
public: public:
explicit AbstractTranslationRotationScaling3D() = default; explicit AbstractTranslationRotationScaling3D();
/** /**
* @brief Scale object * @brief Scale object
@ -57,6 +57,8 @@ class AbstractTranslationRotationScaling3D: public AbstractTranslationRotation3D
virtual AbstractTranslationRotationScaling3D<T>* scale(const Math::Vector3<T>& vector, TransformationType type = TransformationType::Global) = 0; virtual AbstractTranslationRotationScaling3D<T>* scale(const Math::Vector3<T>& vector, TransformationType type = TransformationType::Global) = 0;
}; };
template<class T> inline AbstractTranslationRotationScaling3D<T>::AbstractTranslationRotationScaling3D() = default;
}} }}
#endif #endif

4
src/SceneGraph/DualComplexTransformation.h

@ -157,7 +157,7 @@ class DualComplexTransformation: public AbstractTranslationRotation2D<T> {
protected: protected:
/* Allow construction only from Object */ /* Allow construction only from Object */
inline explicit DualComplexTransformation() = default; explicit DualComplexTransformation();
private: private:
/* No assertions fired, for internal use */ /* No assertions fired, for internal use */
@ -180,6 +180,8 @@ class DualComplexTransformation: public AbstractTranslationRotation2D<T> {
Math::DualComplex<T> _transformation; Math::DualComplex<T> _transformation;
}; };
template<class T> inline DualComplexTransformation<T>::DualComplexTransformation() = default;
}} }}
#endif #endif

4
src/SceneGraph/DualQuaternionTransformation.h

@ -166,7 +166,7 @@ class DualQuaternionTransformation: public AbstractTranslationRotation3D<T> {
protected: protected:
/* Allow construction only from Object */ /* Allow construction only from Object */
inline explicit DualQuaternionTransformation() = default; explicit DualQuaternionTransformation();
private: private:
/* No assertions fired, for internal use */ /* No assertions fired, for internal use */
@ -189,6 +189,8 @@ class DualQuaternionTransformation: public AbstractTranslationRotation3D<T> {
Math::DualQuaternion<T> _transformation; Math::DualQuaternion<T> _transformation;
}; };
template<class T> inline DualQuaternionTransformation<T>::DualQuaternionTransformation() = default;
}} }}
#endif #endif

4
src/SceneGraph/FeatureGroup.h

@ -51,7 +51,7 @@ class FeatureGroup {
friend class AbstractGroupedFeature<dimensions, Feature, T>; friend class AbstractGroupedFeature<dimensions, Feature, T>;
public: public:
explicit FeatureGroup() = default; explicit FeatureGroup();
/** /**
* @brief Destructor * @brief Destructor
@ -118,6 +118,8 @@ class FeatureGroup {
std::vector<Feature*> features; std::vector<Feature*> features;
}; };
template<UnsignedInt dimensions, class Feature, class T> inline FeatureGroup<dimensions, Feature, T>::FeatureGroup() = default;
#ifndef CORRADE_GCC46_COMPATIBILITY #ifndef CORRADE_GCC46_COMPATIBILITY
/** /**
@brief Base for two-dimensional object features @brief Base for two-dimensional object features

4
src/SceneGraph/MatrixTransformation2D.h

@ -159,12 +159,14 @@ class MatrixTransformation2D: public AbstractTranslationRotationScaling2D<T> {
protected: protected:
/* Allow construction only from Object */ /* Allow construction only from Object */
inline explicit MatrixTransformation2D() = default; explicit MatrixTransformation2D();
private: private:
Math::Matrix3<T> _transformation; Math::Matrix3<T> _transformation;
}; };
template<class T> inline MatrixTransformation2D<T>::MatrixTransformation2D() = default;
}} }}
#endif #endif

4
src/SceneGraph/MatrixTransformation3D.h

@ -187,12 +187,14 @@ class MatrixTransformation3D: public AbstractTranslationRotationScaling3D<T> {
protected: protected:
/* Allow construction only from Object */ /* Allow construction only from Object */
inline explicit MatrixTransformation3D() = default; explicit MatrixTransformation3D();
private: private:
Math::Matrix4<T> _transformation; Math::Matrix4<T> _transformation;
}; };
template<class T> inline MatrixTransformation3D<T>::MatrixTransformation3D() = default;
}} }}
#endif #endif

4
src/SceneGraph/RigidMatrixTransformation2D.h

@ -176,7 +176,7 @@ class RigidMatrixTransformation2D: public AbstractTranslationRotation2D<T> {
protected: protected:
/* Allow construction only from Object */ /* Allow construction only from Object */
inline explicit RigidMatrixTransformation2D() = default; explicit RigidMatrixTransformation2D();
private: private:
/* No assertions fired, for internal use */ /* No assertions fired, for internal use */
@ -199,6 +199,8 @@ class RigidMatrixTransformation2D: public AbstractTranslationRotation2D<T> {
Math::Matrix3<T> _transformation; Math::Matrix3<T> _transformation;
}; };
template<class T> inline RigidMatrixTransformation2D<T>::RigidMatrixTransformation2D() = default;
}} }}
#endif #endif

4
src/SceneGraph/RigidMatrixTransformation3D.h

@ -209,7 +209,7 @@ class RigidMatrixTransformation3D: public AbstractTranslationRotation3D<T> {
protected: protected:
/* Allow construction only from Object */ /* Allow construction only from Object */
inline explicit RigidMatrixTransformation3D() = default; explicit RigidMatrixTransformation3D();
private: private:
/* No assertions fired, for internal use */ /* No assertions fired, for internal use */
@ -232,6 +232,8 @@ class RigidMatrixTransformation3D: public AbstractTranslationRotation3D<T> {
Math::Matrix4<T> _transformation; Math::Matrix4<T> _transformation;
}; };
template<class T> inline RigidMatrixTransformation3D<T>::RigidMatrixTransformation3D() = default;
}} }}
#endif #endif

4
src/SceneGraph/Scene.h

@ -40,11 +40,13 @@ See @ref scenegraph for introduction.
*/ */
template<class Transformation> class Scene: public Object<Transformation> { template<class Transformation> class Scene: public Object<Transformation> {
public: public:
explicit Scene() = default; explicit Scene();
inline bool isScene() const { return true; } inline bool isScene() const { return true; }
}; };
template<class Transformation> inline Scene<Transformation>::Scene() = default;
}} }}
#endif #endif

Loading…
Cancel
Save