3 #ifndef DUNE_FUNCTIONS_FUNCTIONSPACEBASES_FLATVECTORBACKEND_HH 4 #define DUNE_FUNCTIONS_FUNCTIONSPACEBASES_FLATVECTORBACKEND_HH 7 #include <dune/common/concept.hh> 23 template<
class VV,
class Index,
24 typename std::enable_if< models<Concept::HasIndexAccess, VV, Index>(),
int>::type = 0>
31 template<
class VV,
class Index,
32 typename std::enable_if< not models<Concept::HasIndexAccess, VV, Index>(),
int>::type = 0>
36 return std::forward<VV>(v);
40 typename std::enable_if< models<Concept::HasSizeMethod, VV>(),
int>::type = 0>
48 typename std::enable_if< not models<Concept::HasSizeMethod, VV>(),
int>::type = 0>
49 static std::size_t
size(VV&& v)
60 template<
class K,
int n,
int m>
64 template<
class VV,
class Index>
65 static auto getEntry(VV&& v,
const Index& i) -> decltype(v[i/m][i%m])
82 #endif // DUNE_FUNCTIONS_FUNCTIONSPACEBASES_FLATVECTORBACKEND_HH static int size(VV &&v)
Definition: flatvectorbackend.hh:71
static auto size(VV &&v) -> decltype(v.size())
Definition: flatvectorbackend.hh:41
Definition: flatvectorbackend.hh:20
static auto getEntry(VV &&v, const Index &i) -> decltype(v[i/m][i%m])
Definition: flatvectorbackend.hh:65
static auto getEntry(VV &&v, const Index &i) -> decltype(v[i])
Definition: flatvectorbackend.hh:25
Definition: polynomial.hh:7
static auto getEntry(VV &&v, const Index &i) -> decltype(v)
Definition: flatvectorbackend.hh:33
static std::size_t size(VV &&v)
Definition: flatvectorbackend.hh:49