template notation for high level op RetT

This commit is contained in:
Christian Zimmermann 2020-09-03 13:32:52 +02:00
parent 2010b61006
commit 079b7cfb44
2 changed files with 10 additions and 8 deletions

View file

@ -61,10 +61,10 @@ namespace MultiArrayTools
template <class ROP>
auto HighLevelOpRoot<ROP>::create(const std::shared_ptr<CI> ind1,
const std::shared_ptr<CI> ind2)
-> typename B::RetT<CI,CI>
-> typename B::template RetT<CI,CI>
{
assert(0);
return typename B::RetT<CI,CI>();
return typename B::template RetT<CI,CI>();
}
template <class ROP>
@ -165,9 +165,9 @@ namespace MultiArrayTools
template <class ROP, class OpF, size_t N>
auto HighLevelOp<ROP,OpF,N>::create(const std::shared_ptr<CI> ind1,
const std::shared_ptr<CI> ind2)
-> typename B::RetT<CI,CI>
-> typename B::template RetT<CI,CI>
{
typename B::RetT<CI,CI> res;
typename B::template RetT<CI,CI> res;
Create<N-1>::template cx<CI,CI>::template ccx<ROP,OpF>::template cccx<N>(res,mIn,ind1,ind2);
return res;
}

View file

@ -58,7 +58,8 @@ namespace MultiArrayTools
virtual bool root() const override final;
virtual typename B::RetT<CI,CI> create(const std::shared_ptr<CI> ind1,
virtual typename B::template RetT<CI,CI>
create(const std::shared_ptr<CI> ind1,
const std::shared_ptr<CI> ind2) override final;
virtual const ROP* get() const override final;
@ -89,7 +90,8 @@ namespace MultiArrayTools
virtual const ROP* get() const override final;
virtual typename B::RetT<CI,CI> create(const std::shared_ptr<CI> ind1,
virtual typename B::template RetT<CI,CI>
create(const std::shared_ptr<CI> ind1,
const std::shared_ptr<CI> ind2) override final;
};