PFASST++
pfasst::encap::EncapFactory< time > Class Template Referenceabstract

Abstract interface of factory for creating Encapsulation objects. More...

#include <encapsulation.hpp>

+ Inheritance diagram for pfasst::encap::EncapFactory< time >:
+ Collaboration diagram for pfasst::encap::EncapFactory< time >:

Public Member Functions

virtual shared_ptr< Encapsulation< time > > create (const EncapType type)=0
 Actual method to create Encapsulation object of specific type. More...
 

Detailed Description

template<typename time = time_precision>
class pfasst::encap::EncapFactory< time >

Abstract interface of factory for creating Encapsulation objects.

This factory is intendet to be instantiated once to create multiple Encapsulation objects of the same type and with the same parameters later on through calls to EncapFactory::create().

Implementations may add values and parameters to the constructor of the factory storing these values as an instance member and accessing them within their implementations of create(). For an example see pfasst::encap::VectorFactory.

Template Parameters
timetime precision; defaults to pfasst::time_precision

Definition at line 161 of file encapsulation.hpp.

Member Function Documentation

template<typename time = time_precision>
virtual shared_ptr<Encapsulation<time> > pfasst::encap::EncapFactory< time >::create ( const EncapType  type)
pure virtual

Actual method to create Encapsulation object of specific type.

Parameters
[in]typeencapsulation type of the requested Encapsulation object

Implemented in pfasst::examples::boris::ParticleCloudFactory< precision >, and pfasst::encap::VectorFactory< scalar, time >.


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