|
| template<class T , int i> |
| constexpr auto | Dune::Hybrid::Impl::size (const Dune::FieldVector< T, i > *, const PriorityTag< 5 > &) -> decltype(std::integral_constant< std::size_t, i >()) |
| |
| template<class T , T... t, class Index > |
| constexpr auto | Dune::Hybrid::Impl::size (std::integer_sequence< T, t... >, PriorityTag< 4 >) |
| |
| template<class T > |
| constexpr auto | Dune::Hybrid::Impl::size (const T *, const PriorityTag< 3 > &) -> decltype(std::integral_constant< std::size_t, std::tuple_size< T >::value >()) |
| |
| template<class T > |
| constexpr auto | Dune::Hybrid::Impl::size (const T *, const PriorityTag< 1 > &) -> decltype(std::integral_constant< std::size_t, T::size()>()) |
| |
| template<class T > |
| constexpr auto | Dune::Hybrid::Impl::size (const T *t, const PriorityTag< 0 > &) |
| |
| template<class T > |
| constexpr auto | Dune::Hybrid::size (const T &t) |
| | Size query. More...
|
| |
| template<class Container , class Index , std::enable_if_t< IsTuple< std::decay_t< Container >>::value, int > = 0> |
| decltype(auto) constexpr | Dune::Hybrid::Impl::elementAt (Container &&c, Index &&, PriorityTag< 2 >) |
| |
| template<class T , T... t, class Index > |
| decltype(auto) constexpr | Dune::Hybrid::Impl::elementAt (std::integer_sequence< T, t... > c, Index &&, PriorityTag< 1 >) |
| |
| template<class Container , class Index > |
| decltype(auto) constexpr | Dune::Hybrid::Impl::elementAt (Container &&c, Index &&i, PriorityTag< 0 >) |
| |
| template<class Container , class Index > |
| decltype(auto) constexpr | Dune::Hybrid::elementAt (Container &&c, Index &&i) |
| | Get element at given position from container. More...
|
| |
| template<class Begin , class End , std::enable_if_t< IsIntegralConstant< Begin >::value and IsIntegralConstant< End >::value, int > = 0> |
| constexpr auto | Dune::Hybrid::Impl::integralRange (const Begin &begin, const End &end, const PriorityTag< 1 > &) |
| |
| template<class Begin , class End > |
| auto | Dune::Hybrid::Impl::integralRange (const Begin &begin, const End &end, const PriorityTag< 0 > &) |
| |
| template<class Begin , class End > |
| constexpr auto | Dune::Hybrid::integralRange (const Begin &begin, const End &end) |
| | Create an integral range. More...
|
| |
| template<class End > |
| constexpr auto | Dune::Hybrid::integralRange (const End &end) |
| | Create an integral range starting from 0. More...
|
| |
| template<class T > |
| void | Dune::Hybrid::Impl::evaluateFoldExpression (std::initializer_list< T > &&) |
| |
| template<class Range , class F , class Index , Index... i> |
| constexpr void | Dune::Hybrid::Impl::forEachIndex (Range &&range, F &&f, std::integer_sequence< Index, i... >) |
| |
| template<class F , class Index , Index... i> |
| constexpr void | Dune::Hybrid::Impl::forEach (std::integer_sequence< Index, i... > range, F &&f, PriorityTag< 2 >) |
| |
| template<class Range , class F , std::enable_if_t< IsIntegralConstant< decltype(Hybrid::size(std::declval< Range >()))>::value, int > = 0> |
| constexpr void | Dune::Hybrid::Impl::forEach (Range &&range, F &&f, PriorityTag< 1 >) |
| |
| template<class Range , class F > |
| constexpr void | Dune::Hybrid::Impl::forEach (Range &&range, F &&f, PriorityTag< 0 >) |
| |
| template<class Range , class F > |
| constexpr void | Dune::Hybrid::forEach (Range &&range, F &&f) |
| | Range based for loop. More...
|
| |
| template<class Range , class T , class F > |
| T | Dune::Hybrid::accumulate (Range &&range, T value, F &&f) |
| | Accumulate values. More...
|
| |
| template<class IfFunc , class ElseFunc > |
| decltype(auto) constexpr | Dune::Hybrid::Impl::ifElse (std::true_type, IfFunc &&ifFunc, ElseFunc &&elseFunc) |
| |
| template<class IfFunc , class ElseFunc > |
| decltype(auto) constexpr | Dune::Hybrid::Impl::ifElse (std::false_type, IfFunc &&ifFunc, ElseFunc &&elseFunc) |
| |
| template<class IfFunc , class ElseFunc > |
| decltype(auto) | Dune::Hybrid::Impl::ifElse (const bool &condition, IfFunc &&ifFunc, ElseFunc &&elseFunc) |
| |
| template<class Condition , class IfFunc , class ElseFunc > |
| decltype(auto) | Dune::Hybrid::ifElse (const Condition &condition, IfFunc &&ifFunc, ElseFunc &&elseFunc) |
| | A conditional expression. More...
|
| |
| template<class Condition , class IfFunc > |
| void | Dune::Hybrid::ifElse (const Condition &condition, IfFunc &&ifFunc) |
| | A conditional expression. More...
|
| |
| template<class T1 , class T2 > |
| constexpr auto | Dune::Hybrid::Impl::equals (const T1 &t1, const T2 &t2, PriorityTag< 1 >) -> decltype(T1::value, T2::value, std::integral_constant< bool, T1::value==T2::value >()) |
| |
| template<class T1 , class T2 > |
| constexpr auto | Dune::Hybrid::Impl::equals (const T1 &t1, const T2 &t2, PriorityTag< 0 >) |
| |
| template<class T1 , class T2 > |
| constexpr auto | Dune::Hybrid::equals (T1 &&t1, T2 &&t2) |
| | Equality comparison. More...
|
| |
| template<class Result , class T , class Value , class Branches , class ElseBranch > |
| constexpr Result | Dune::Hybrid::Impl::switchCases (std::integer_sequence< T >, const Value &value, Branches &&branches, ElseBranch &&elseBranch) |
| |
| template<class Result , class T , T t0, T... tt, class Value , class Branches , class ElseBranch > |
| constexpr Result | Dune::Hybrid::Impl::switchCases (std::integer_sequence< T, t0, tt... >, const Value &value, Branches &&branches, ElseBranch &&elseBranch) |
| |
| template<class Cases , class Value , class Branches , class ElseBranch > |
| decltype(auto) constexpr | Dune::Hybrid::switchCases (const Cases &cases, const Value &value, Branches &&branches, ElseBranch &&elseBranch) |
| | Switch statement. More...
|
| |
| template<class Cases , class Value , class Branches > |
| constexpr void | Dune::Hybrid::switchCases (const Cases &cases, const Value &value, Branches &&branches) |
| | Switch statement. More...
|
| |