Commit 6fc41d35 authored by Thery Sylvain's avatar Thery Sylvain

compilation template problem with clang

parent d19ee728
......@@ -29,19 +29,19 @@ AttributeHandler<T, ORBIT, typename PFP::MAP::IMPL> MapHandler<PFP>::getAttribut
if(onlyRegistered)
{
if(m_attribs[ORBIT].contains(nameAttr))
return static_cast<MAP*>(m_map)->getAttribute<T, ORBIT>(nameAttr.toStdString());
return static_cast<MAP*>(m_map)->template getAttribute<T, ORBIT>(nameAttr.toStdString());
else
return AttributeHandler<T, ORBIT, MAP_IMPL>();
}
else
return static_cast<MAP*>(m_map)->getAttribute<T, ORBIT>(nameAttr.toStdString());
return static_cast<MAP*>(m_map)->template getAttribute<T, ORBIT>(nameAttr.toStdString());
}
template <typename PFP>
template <typename T, unsigned int ORBIT>
AttributeHandler<T, ORBIT, typename PFP::MAP::IMPL> MapHandler<PFP>::addAttribute(const QString& nameAttr, bool registerAttr)
{
AttributeHandler<T, ORBIT, MAP_IMPL> ah = static_cast<MAP*>(m_map)->addAttribute<T, ORBIT>(nameAttr.toStdString());
AttributeHandler<T, ORBIT, MAP_IMPL> ah = static_cast<MAP*>(m_map)->template addAttribute<T, ORBIT>(nameAttr.toStdString());
if(ah.isValid() && registerAttr)
{
registerAttribute(ah);
......
......@@ -307,7 +307,7 @@ inline AttributeHandler<T, ORBIT, MAP_IMPL> MapCommon<MAP_IMPL>::addAttribute(co
{
if(!this->template isOrbitEmbedded<ORBIT>())
this->template addEmbedding<ORBIT>() ;
AttributeMultiVector<T>* amv = this->m_attribs[ORBIT].addAttribute<T>(nameAttr) ;
AttributeMultiVector<T>* amv = this->m_attribs[ORBIT].template addAttribute<T>(nameAttr) ;
return AttributeHandler<T, ORBIT, MAP_IMPL>(this, amv) ;
}
......@@ -405,7 +405,7 @@ inline void MapCommon<MAP_IMPL>::enableQuickTraversal()
{
if(!this->template isOrbitEmbedded<ORBIT>())
this->template addEmbedding<ORBIT>() ;
this->m_quickTraversal[ORBIT] = this->m_attribs[ORBIT].addAttribute<Dart>("quick_traversal") ;
this->m_quickTraversal[ORBIT] = this->m_attribs[ORBIT].template addAttribute<Dart>("quick_traversal") ;
}
updateQuickTraversal<ORBIT>() ;
}
......@@ -440,7 +440,7 @@ inline void MapCommon<MAP_IMPL>::disableQuickTraversal()
{
if(this->m_quickTraversal[ORBIT] != NULL)
{
this->m_attribs[ORBIT].removeAttribute<Dart>(this->m_quickTraversal[ORBIT]->getIndex()) ;
this->m_attribs[ORBIT].template removeAttribute<Dart>(this->m_quickTraversal[ORBIT]->getIndex()) ;
this->m_quickTraversal[ORBIT] = NULL ;
}
}
......@@ -455,7 +455,7 @@ inline void MapCommon<MAP_IMPL>::enableQuickIncidentTraversal()
this->template addEmbedding<ORBIT>() ;
std::stringstream ss;
ss << "quickLocalIncidentTraversal_" << INCI;
this->m_quickLocalIncidentTraversal[ORBIT][INCI] = this->m_attribs[ORBIT].addAttribute<NoTypeNameAttribute<std::vector<Dart> > >(ss.str()) ;
this->m_quickLocalIncidentTraversal[ORBIT][INCI] = this->m_attribs[ORBIT].template addAttribute<NoTypeNameAttribute<std::vector<Dart> > >(ss.str()) ;
}
updateQuickIncidentTraversal<ORBIT,INCI>() ;
}
......@@ -517,7 +517,7 @@ inline void MapCommon<MAP_IMPL>::enableQuickAdjacentTraversal()
this->template addEmbedding<ORBIT>() ;
std::stringstream ss;
ss << "quickLocalAdjacentTraversal" << ADJ;
this->m_quickLocalAdjacentTraversal[ORBIT][ADJ] = this->m_attribs[ORBIT].addAttribute<NoTypeNameAttribute<std::vector<Dart> > >(ss.str()) ;
this->m_quickLocalAdjacentTraversal[ORBIT][ADJ] = this->m_attribs[ORBIT].template addAttribute<NoTypeNameAttribute<std::vector<Dart> > >(ss.str()) ;
}
updateQuickAdjacentTraversal<ORBIT, ADJ>() ;
}
......@@ -564,7 +564,7 @@ inline void MapCommon<MAP_IMPL>::disableQuickAdjacentTraversal()
{
if(this->m_quickLocalAdjacentTraversal[ORBIT][ADJ] != NULL)
{
this->m_attribs[ORBIT].removeAttribute<Dart>(this->m_quickLocalAdjacentTraversal[ORBIT][ADJ]->getIndex()) ;
this->m_attribs[ORBIT].template removeAttribute<Dart>(this->m_quickLocalAdjacentTraversal[ORBIT][ADJ]->getIndex()) ;
this->m_quickLocalAdjacentTraversal[ORBIT][ADJ] = NULL ;
}
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment