Commit e82994c5 authored by Praetorius, Simon's avatar Praetorius, Simon
Browse files

restrict order to functions

parent 7489f1fb
Pipeline #4548 passed with stage
in 49 minutes and 22 seconds
......@@ -9,7 +9,7 @@ namespace AMDiS
/// polynomial order of functions
template <class F>
auto order(F const& f)
-> decltype(f.order())
-> decltype(&F::operator(), f.order())
{
return f.order();
}
......
#pragma once
#include <cmath>
#include <dune/common/typetraits.hh>
#include <dune/typetree/nodetags.hh>
#include <amdis/Output.hpp>
#include <amdis/common/Math.hpp>
#include <amdis/common/Apply.hpp>
......
......@@ -5,6 +5,7 @@
#include <amdis/common/FieldMatVec.hpp>
#include <amdis/common/Math.hpp>
#include <amdis/functions/NodeIndices.hpp>
#include <amdis/functions/Order.hpp>
#include <amdis/typetree/FiniteElementType.hpp>
#include <amdis/utility/LocalBasisCache.hpp>
#include <amdis/utility/LocalToGlobalAdapter.hpp>
......@@ -133,11 +134,11 @@ public:
}
/// \brief The polynomial degree of the LocalFunctions basis-functions
int order() const
auto order() const
-> decltype(AMDiS::order(std::declval<SubTree>()))
{
using AMDiS::order;
assert( bound_ );
return order(*subTree_);
return AMDiS::order(*subTree_);
}
/// \brief Return the bound element
......@@ -211,11 +212,10 @@ public:
}
auto order() const
-> decltype(order(std::declval<SubTree>()))
-> decltype(AMDiS::order(std::declval<SubTree>()))
{
using AMDiS::order;
assert( bound_ );
return std::max(0, order(*subTree_)-1);
return std::max(0, AMDiS::order(*subTree_)-1);
}
/// Return the bound element
......
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