version 0.4.1
Ikarus::AssemblerManipulator< A, ScalarAss, VectorAss > Class Template Reference

#include <ikarus/assembler/assemblermanipulatorfuser.hh>

Inheritance diagram for Ikarus::AssemblerManipulator< A, ScalarAss, VectorAss >:
[legend]

Public Types

using WrappedAssembler = A
 
using CallBackTypes = std::tuple< typename ScalarAssemblerImpl::FunctionType, typename VectorAssemblerImpl::FunctionType >
 

Public Member Functions

template<typename... Args>
requires (not std::is_same_v<std::remove_cvref_t<std::tuple_element_t<0, std::tuple<Args...>>>, AssemblerManipulator>)
 AssemblerManipulator (Args &&... args)
 Constructor that forwards arguments to the base assembler. More...
 

Protected Types

using ScalarAssemblerImpl = ScalarAss::template Implementation< AssemblerManipulator, WrappedAssembler >
 
using VectorAssemblerImpl = VectorAss::template Implementation< AssemblerManipulator, WrappedAssembler >
 
using ScalarAssemblerInterface = ScalarAss::template Interface< AssemblerManipulator, A, typename A::ScalarType >
 
using VectorAssemblerInterface = VectorAss::template Interface< AssemblerManipulator, A, typename A::VectorType >
 

Protected Attributes

friend ScalarAssemblerImpl
 
friend VectorAssemblerImpl
 
friend ScalarAssemblerInterface
 
friend VectorAssemblerInterface
 

Member Typedef Documentation

◆ CallBackTypes

template<Concepts::FlatAssembler A, typename ScalarAss , typename VectorAss >
using Ikarus::AssemblerManipulator< A, ScalarAss, VectorAss >::CallBackTypes = std::tuple<typename ScalarAssemblerImpl::FunctionType, typename VectorAssemblerImpl::FunctionType>

◆ ScalarAssemblerImpl

template<Concepts::FlatAssembler A, typename ScalarAss , typename VectorAss >
using Ikarus::AssemblerManipulator< A, ScalarAss, VectorAss >::ScalarAssemblerImpl = ScalarAss::template Implementation<AssemblerManipulator, WrappedAssembler>
protected

◆ ScalarAssemblerInterface

template<Concepts::FlatAssembler A, typename ScalarAss , typename VectorAss >
using Ikarus::AssemblerManipulator< A, ScalarAss, VectorAss >::ScalarAssemblerInterface = ScalarAss::template Interface<AssemblerManipulator, A, typename A::ScalarType>
protected

◆ VectorAssemblerImpl

template<Concepts::FlatAssembler A, typename ScalarAss , typename VectorAss >
using Ikarus::AssemblerManipulator< A, ScalarAss, VectorAss >::VectorAssemblerImpl = VectorAss::template Implementation<AssemblerManipulator, WrappedAssembler>
protected

◆ VectorAssemblerInterface

template<Concepts::FlatAssembler A, typename ScalarAss , typename VectorAss >
using Ikarus::AssemblerManipulator< A, ScalarAss, VectorAss >::VectorAssemblerInterface = VectorAss::template Interface<AssemblerManipulator, A, typename A::VectorType>
protected

◆ WrappedAssembler

template<Concepts::FlatAssembler A, typename ScalarAss , typename VectorAss >
using Ikarus::AssemblerManipulator< A, ScalarAss, VectorAss >::WrappedAssembler = A

Constructor & Destructor Documentation

◆ AssemblerManipulator()

template<Concepts::FlatAssembler A, typename ScalarAss , typename VectorAss >
template<typename... Args>
requires (not std::is_same_v<std::remove_cvref_t<std::tuple_element_t<0, std::tuple<Args...>>>, AssemblerManipulator>)
Ikarus::AssemblerManipulator< A, ScalarAss, VectorAss >::AssemblerManipulator ( Args &&...  args)
inlineexplicit
Template Parameters
ArgsVariadic template parameter for constructor arguments
Parameters
argsArguments to be forwarded to the base assembler

Member Data Documentation

◆ ScalarAssemblerImpl

template<Concepts::FlatAssembler A, typename ScalarAss , typename VectorAss >
friend Ikarus::AssemblerManipulator< A, ScalarAss, VectorAss >::ScalarAssemblerImpl
protected

◆ ScalarAssemblerInterface

template<Concepts::FlatAssembler A, typename ScalarAss , typename VectorAss >
friend Ikarus::AssemblerManipulator< A, ScalarAss, VectorAss >::ScalarAssemblerInterface
protected

◆ VectorAssemblerImpl

template<Concepts::FlatAssembler A, typename ScalarAss , typename VectorAss >
friend Ikarus::AssemblerManipulator< A, ScalarAss, VectorAss >::VectorAssemblerImpl
protected

◆ VectorAssemblerInterface

template<Concepts::FlatAssembler A, typename ScalarAss , typename VectorAss >
friend Ikarus::AssemblerManipulator< A, ScalarAss, VectorAss >::VectorAssemblerInterface
protected

The documentation for this class was generated from the following file: