dune-functions  2.5-dev
Classes | Namespaces | Functions
indexaccess.hh File Reference
#include <dune/common/concept.hh>
#include <dune/common/hybridutilities.hh>

Go to the source code of this file.

Classes

struct  Dune::Functions::Imp::Concept::HasDynamicIndexAccess< size_type >
 
class  Dune::Functions::ShiftedMultiIndex< Index, offset >
 Class representing a shifted multi index. More...
 
struct  Dune::Functions::Imp::MultiIndexResolver< Result, Index >
 

Namespaces

 Dune
 
 Dune::Functions
 
 Dune::Functions::Imp
 
 Dune::Functions::Imp::Concept
 

Functions

template<class C , class I , class F , typename std::enable_if< Dune::models< Imp::Concept::HasDynamicIndexAccess< I >, C >(), int >::type = 0>
auto Dune::Functions::hybridIndexAccess (C &&c, const I &i, F &&f) -> decltype(f(c[i]))
 Provide operator[] index-access for containers. More...
 
template<class C , class I , class F , typename std::enable_if< not Dune::models< Imp::Concept::HasDynamicIndexAccess< I >, C >(), int >::type = 0>
decltype(auto) Dune::Functions::hybridIndexAccess (C &&c, const I &i, F &&f)
 Provide operator[] index-access for containers. More...
 
template<std::size_t offset, class Index >
ShiftedMultiIndex< Index, offset > Dune::Functions::shiftedMultiIndex (const Index &index)
 Create a ShiftedMultiIndex. More...
 
template<class Index >
ShiftedMultiIndex< Index, 1 > Dune::Functions::shiftedMultiIndex (const Index &index)
 Create a ShiftedMultiIndex with one position truncated. More...
 
template<class Result , class C , class MultiIndex >
Result Dune::Functions::hybridMultiIndexAccess (C &&c, const MultiIndex &index)
 Provide multi-index access by chaining operator[]. More...