Browse Source

Clang fixes for templated base classes.

Unlike GCC it does need the `template` keyword on weird places.
pull/7/head
Vladimír Vondruš 13 years ago
parent
commit
3610a80dfd
  1. 2
      src/SceneGraph/AbstractFeature.h
  2. 2
      src/SceneGraph/EuclideanMatrixTransformation2D.h
  3. 2
      src/SceneGraph/MatrixTransformation2D.h
  4. 2
      src/SceneGraph/Object.hpp

2
src/SceneGraph/AbstractFeature.h

@ -133,7 +133,7 @@ template<std::uint8_t dimensions, class T = GLfloat> class AbstractFeature
* @param object %Object holding this feature
*/
inline explicit AbstractFeature(AbstractObject<dimensions, T>* object) {
object->Corrade::Containers::LinkedList<AbstractFeature<dimensions, T>>::insert(this);
object->Corrade::Containers::template LinkedList<AbstractFeature<dimensions, T>>::insert(this);
}
virtual ~AbstractFeature() = 0;

2
src/SceneGraph/EuclideanMatrixTransformation2D.h

@ -128,7 +128,7 @@ class EuclideanMatrixTransformation2D: public AbstractTranslationRotation2D<T> {
* @return Pointer to self (for method chaining)
*/
inline EuclideanMatrixTransformation2D<T>* move(Object<EuclideanMatrixTransformation2D<T>>* under) {
static_cast<Object<EuclideanMatrixTransformation2D>*>(this)->Corrade::Containers::LinkedList<Object<EuclideanMatrixTransformation2D<T>>>::move(this, under);
static_cast<Object<EuclideanMatrixTransformation2D>*>(this)->Corrade::Containers::template LinkedList<Object<EuclideanMatrixTransformation2D<T>>>::move(this, under);
return this;
}

2
src/SceneGraph/MatrixTransformation2D.h

@ -139,7 +139,7 @@ class MatrixTransformation2D: public AbstractTranslationRotationScaling2D<T> {
* @return Pointer to self (for method chaining)
*/
inline MatrixTransformation2D<T>* move(Object<MatrixTransformation2D<T>>* under) {
static_cast<Object<MatrixTransformation2D>*>(this)->Corrade::Containers::LinkedList<Object<MatrixTransformation2D<T>>>::move(this, under);
static_cast<Object<MatrixTransformation2D>*>(this)->Corrade::Containers::template LinkedList<Object<MatrixTransformation2D<T>>>::move(this, under);
return this;
}

2
src/SceneGraph/Object.hpp

@ -69,7 +69,7 @@ template<class Transformation> Object<Transformation>* Object<Transformation>::s
}
/* Remove the object from old parent children list */
if(this->parent()) this->parent()->Corrade::Containers::LinkedList<Object<Transformation>>::cut(this);
if(this->parent()) this->parent()->Corrade::Containers::template LinkedList<Object<Transformation>>::cut(this);
/* Add the object to list of new parent */
if(parent) parent->Corrade::Containers::LinkedList<Object<Transformation>>::insert(this);

Loading…
Cancel
Save