AMDiS 2.10
The Adaptive Multi-Dimensional Simulation Toolbox
NoDataTransfer.hpp
1#pragma once
2
3#include <amdis/DataTransfer.hpp>
4
5namespace AMDiS {
6
12namespace tag {
13
16 {};
17
18} // end namespace tag
19
20
26{
27public:
28 template <class... Args>
29 void preAdapt(Args&&...) { /* do nothing */ }
30
31 template <class Basis, class Container>
32 void adapt(Basis const& basis, Container& container)
33 {
34 container.resize(basis);
35 }
36
37 template <class... Args>
38 void postAdapt(Args&&...) { /* do nothing */ }
39};
40
41template <>
42struct DataTransferFactory<tag::no_datatransfer>
43{
44 template <class Basis, class Container,
45 REQUIRES(Concepts::GlobalBasis<Basis>)>
46 static DataTransfer<Basis,Container> create(Basis const&, Container const&)
47 {
48 return NoDataTransfer{};
49 }
50};
51
53
54} // end namespace AMDiS
The base class for data transfer classes.
Definition: DataTransfer.hpp:68
Implementation of DataTransfer that does not interpolate, but just resizes the containers to the dime...
Definition: NoDataTransfer.hpp:26
Definition: DataTransfer.hpp:133
Base tag type for all data transfer tags.
Definition: DataTransfer.hpp:121
Definition: NoDataTransfer.hpp:16