![]() |
Dune-Functions 2.12-git
|
Loading...
Searching...
No Matches
indexaccess.hh
Go to the documentation of this file.
219 ShiftedDynamicMultiIndex<Index, offset+oldOffset> shiftedDynamicMultiIndex(const ShiftedDynamicMultiIndex<Index, oldOffset>& index)
301 constexpr decltype(auto) resolveDynamicMultiIndex(C&& c, const MultiIndex& multiIndex, const IsFinal& isFinal)
312 // If c is an l-value reference, then C is of the form C=RawC& and we return an l-value reference.
313 // If c is an r-value reference, then C is of the form C=RawC and we return a copy of c by value.
315 // The former would bind a returned r-value reference to an r-value reference (which is an l-value!).
316 // The latter would deduce C&& as return value and thus return an r-value reference to the temporary
352 // Cf. resolveDynamicMultiIndex() for the explanation of the static_cast used in the first branch.
386constexpr decltype(auto) resolveDynamicMultiIndex(C&& c, const MultiIndex& multiIndex, const IsFinal& isFinal)
410 auto hasNoIndexAccess = [](auto&& cc ) { return std::bool_constant<not requires { cc[Dune::Indices::_0]; }>{}; };
auto hybridIndexAccess(C &&c, const I &i, F &&f) -> decltype(f(c[i]))
Provide operator[] index-access for containers.
Definition indexaccess.hh:67
constexpr decltype(auto) resolveStaticMultiIndex(C &&c, const MultiIndex &multiIndex)
Provide multi-index access by chaining operator[].
Definition indexaccess.hh:430
constexpr decltype(auto) resolveDynamicMultiIndex(C &&c, const MultiIndex &multiIndex, const IsFinal &isFinal)
Provide multi-index access by chaining operator[].
Definition indexaccess.hh:386
Result hybridMultiIndexAccess(C &&c, const MultiIndex &index)
Provide multi-index access by chaining operator[].
Definition indexaccess.hh:286
reference operator[](size_type i)
static constexpr IntegralRange< std::decay_t< T > > range(T &&from, U &&to) noexcept
constexpr auto size(const T &t)
constexpr decltype(auto) switchCases(const Cases &cases, const Value &value, Branches &&branches, ElseBranch &&elseBranch)
void pop()
std::ptrdiff_t index() const
virtual void operator()()=0
constexpr std::integer_sequence< T, II... > tail(std::integer_sequence< T, I0, II... >)
constexpr index_constant< 0 > _0
