|
template<class T0 , class T1 , class Sign0 , class E0 , class Pos0 , class Sign1 , class F1 , class Node10 , class Node11 , class Tag1 , class Sign , class F , class OuterTag > |
constexpr decltype(auto) | Dune::ACFem::Expressions::Sums::getOperand (T0 &&t0, T1 &&t1, OperationPair< Sign, F, TreeData< Sign0, E0, Pos0 >, OperationPair< Sign1, F1, Node10, Node11, Tag1 >, OuterTag >) |
|
template<class T0 , class T1 , class Sign0 , class F0 , class Node00 , class Node01 , class Tag0 , class Sign1 , class E1 , class Pos1 , class Sign , class F , class OuterTag > |
constexpr decltype(auto) | Dune::ACFem::Expressions::Sums::getOperand (T0 &&t0, T1 &&t1, OperationPair< Sign, F, OperationPair< Sign0, F0, Node00, Node01, Tag0 >, TreeData< Sign1, E1, Pos1 >, OuterTag >) |
|
template<class T0 , class T1 , class Sign , class Functor , class... LeftNode, class RightNode , class Tag > |
constexpr decltype(auto) | Dune::ACFem::Expressions::Sums::getOperand (T0 &&t0, T1 &&t1, OperationPair< Sign, Functor, MPL::TypeTuple< LeftNode... >, RightNode, Tag >) |
|
template<class T0 , class T1 , class Sign , class Functor , class LeftNode , class... RightNode, class Tag > |
constexpr decltype(auto) | Dune::ACFem::Expressions::Sums::getOperand (T0 &&t0, T1 &&t1, OperationPair< Sign, Functor, LeftNode, MPL::TypeTuple< RightNode... >, Tag >) |
|
template<class T0 , class T1 , class Arg , std::size_t I0, std::size_t... I, class F > |
constexpr decltype(auto) | Dune::ACFem::Expressions::Sums::getOperand (T0 &&t0, T1 &&t1, TreeData< F, Arg, TreePosition< I0, I... > >) |
|
template<class T0 , class T1 , class F0 , class E0 , class Pos0 , class F1 , class E1 , class Pos1 , class Sign , class F , class OptimizeTag > |
constexpr decltype(auto) | Dune::ACFem::Expressions::Sums::getOperand (T0 &&t0, T1 &&t1, OperationPair< Sign, F, TreeData< F0, E0, Pos0 >, TreeData< F1, E1, Pos1 >, OptimizeTag >) |
|
template<class T0 , class T1 , class Sign0 , class F0 , class Node00 , class Node01 , class Tag0 , class Sign1 , class F1 , class Node10 , class Node11 , class Tag1 , class Sign , class F , class OuterTag > |
constexpr decltype(auto) | Dune::ACFem::Expressions::Sums::getOperand (T0 &&t0, T1 &&t1, OperationPair< Sign, F, OperationPair< Sign0, F0, Node00, Node01, Tag0 >, OperationPair< Sign1, F1, Node10, Node11, Tag1 >, OuterTag >) |
|
template<class T0 , class T1 , class LeftSum , class Last , class F , class Tag > |
constexpr auto | Dune::ACFem::Expressions::Sums::sumUpRecursion (T0 &&t0, T1 &&t1, LeftSum &&leftSum, MPL::TypeTuple< Last >, F &&f, Tag tag) |
|
template<class T0 , class T1 , class LeftSum , class Tail0 , class Tail1 , class... Tail, class F , class Tag > |
constexpr decltype(auto) | Dune::ACFem::Expressions::Sums::sumUpRecursion (T0 &&t0, T1 &&t1, LeftSum &&leftSum, MPL::TypeTuple< Tail0, Tail1, Tail... >, F &&f, Tag tag) |
|
template<class T0 , class T1 , class Arg0 , class Arg1 , class... ArgRest, class F = JustForward, class Tag = DontOptimize> |
constexpr auto | Dune::ACFem::Expressions::Sums::sumUp (T0 &&t0, T1 &&t1, MPL::TypeTuple< Arg0, Arg1, ArgRest... >, Tag tag=Tag{}, F &&f=F{}) |
|
template<class T0 , class T1 , class Last , class F = JustForward, class Tag = OptimizeGeneric> |
constexpr auto | Dune::ACFem::Expressions::Sums::sumUp (T0 &&t0, T1 &&t1, MPL::TypeTuple< Last >, Tag=Tag{}, F &&f=F{}) |
|
template<class TreeData , class OptPair , ptrdiff_t OldDelta, class... Head, class Undo > |
constexpr decltype(auto) | Dune::ACFem::Expressions::Sums::tryAddSumOperand (MPL::TypeTuple<>, MPL::TypeTuple< Head... >, Undo) |
|
template<class TreeData , class OptPair , ptrdiff_t OldDelta, class Tail0 , class... Tail, class... Head, class... UndoHead> |
constexpr decltype(auto) | Dune::ACFem::Expressions::Sums::tryAddSumOperand (MPL::TypeTuple< Tail0, Tail... >, MPL::TypeTuple< Head... >, MPL::TypeTuple< UndoHead... >) |
|
template<class TreeData , class Tail0 , class... Tail, class... Head> |
constexpr decltype(auto) | Dune::ACFem::Expressions::Sums::tryAddSumOperand (MPL::TypeTuple< Tail0, Tail... >, MPL::TypeTuple< Head... >) |
|