Finite Volume Solver  prototype
A framework to build finite volume solvers for the AG Klein at the Freie Universität Berlin.
Public Member Functions | Private Attributes | List of all members
fub::AnyTimeIntegrator< IntegratorContext > Class Template Reference

This is a polymorphic wrapper class for TimeIntegator strategies used by IntegratorContext. More...

#include <HyperbolicMethod.hpp>

Public Member Functions

 AnyTimeIntegrator ()=delete
 
 AnyTimeIntegrator (const AnyTimeIntegrator &other)
 
AnyTimeIntegratoroperator= (const AnyTimeIntegrator &other)
 
 AnyTimeIntegrator (AnyTimeIntegrator &&other) noexcept=default
 
AnyTimeIntegratoroperator= (AnyTimeIntegrator &&other) noexcept=default
 
template<typename R , typename = std::enable_if_t<!decays_to<R, AnyTimeIntegrator>()>>
 AnyTimeIntegrator (R &&r)
 
void UpdateConservatively (IntegratorContext &context, int level, Duration dt, Direction dir)
 
template<typename I , typename >
 AnyTimeIntegrator (I &&integrator)
 

Private Attributes

std::unique_ptr< detail::TimeIntegratorBase< IntegratorContext > > integrator_
 

Detailed Description

template<typename IntegratorContext>
class fub::AnyTimeIntegrator< IntegratorContext >

This is a polymorphic wrapper class for TimeIntegator strategies used by IntegratorContext.

Constructor & Destructor Documentation

◆ AnyTimeIntegrator() [1/5]

template<typename IntegratorContext >
fub::AnyTimeIntegrator< IntegratorContext >::AnyTimeIntegrator ( )
delete

◆ AnyTimeIntegrator() [2/5]

template<typename IntegratorContext >
fub::AnyTimeIntegrator< IntegratorContext >::AnyTimeIntegrator ( const AnyTimeIntegrator< IntegratorContext > &  other)

◆ AnyTimeIntegrator() [3/5]

template<typename IntegratorContext >
fub::AnyTimeIntegrator< IntegratorContext >::AnyTimeIntegrator ( AnyTimeIntegrator< IntegratorContext > &&  other)
defaultnoexcept

◆ AnyTimeIntegrator() [4/5]

template<typename IntegratorContext >
template<typename R , typename = std::enable_if_t<!decays_to<R, AnyTimeIntegrator>()>>
fub::AnyTimeIntegrator< IntegratorContext >::AnyTimeIntegrator ( R &&  r)

◆ AnyTimeIntegrator() [5/5]

template<typename IntegratorContext >
template<typename I , typename >
fub::AnyTimeIntegrator< IntegratorContext >::AnyTimeIntegrator ( I &&  integrator)

Member Function Documentation

◆ operator=() [1/2]

template<typename IntegratorContext >
AnyTimeIntegrator& fub::AnyTimeIntegrator< IntegratorContext >::operator= ( AnyTimeIntegrator< IntegratorContext > &&  other)
defaultnoexcept

◆ operator=() [2/2]

template<typename IntegratorContext >
AnyTimeIntegrator< IntegratorContext > & fub::AnyTimeIntegrator< IntegratorContext >::operator= ( const AnyTimeIntegrator< IntegratorContext > &  other)

◆ UpdateConservatively()

template<typename IntegratorContext >
void fub::AnyTimeIntegrator< IntegratorContext >::UpdateConservatively ( IntegratorContext &  context,
int  level,
Duration  dt,
Direction  dir 
)

Member Data Documentation

◆ integrator_

template<typename IntegratorContext >
std::unique_ptr<detail::TimeIntegratorBase<IntegratorContext> > fub::AnyTimeIntegrator< IntegratorContext >::integrator_
private

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