1 #ifndef DUNE_FEM_SPACE_FOURIER_CAPABILITIES_HH 2 #define DUNE_FEM_SPACE_FOURIER_CAPABILITIES_HH 3 4 #include <dune/fem/gridpart/common/capabilities.hh> 5 #include <dune/fem/space/common/capabilities.hh> 6 #include <dune/fem/space/fourier/declaration.hh> 7 8 namespace Dune 9 { 10 11 namespace Fem 12 { 13 14 namespace Capabilities 15 { 16 17 template< class FunctionSpace, class GridPart, int Order > 18 struct hasFixedPolynomialOrder< FourierDiscreteFunctionSpace< FunctionSpace, GridPart, Order > > 19 { 20 static const bool v = true; 21 }; 22 23 24 template< class FunctionSpace, class GridPart, int Order > 25 struct hasStaticPolynomialOrder< FourierDiscreteFunctionSpace< FunctionSpace, GridPart, Order > > 26 { 27 static const bool v = false; 28 static const int order = -1; 29 }; 30 31 32 template< class FunctionSpace, class GridPart, int Order > 33 struct isContinuous< FourierDiscreteFunctionSpace< FunctionSpace, GridPart, Order > > 34 { 35 static const bool v = true; 36 }; 37 38 39 template< class FunctionSpace, class GridPart, int Order > 40 struct isLocalized< FourierDiscreteFunctionSpace< FunctionSpace, GridPart, Order > > 41 { 42 static const bool v = false; 43 }; 44 45 46 template< class FunctionSpace, class GridPart, int Order > 47 struct isAdaptive< FourierDiscreteFunctionSpace< FunctionSpace, GridPart, Order > > 48 { 49 static const bool v = true; 50 }; 51 52 53 template< class FunctionSpace, class GridPart, int Order > 54 struct threadSafe< FourierDiscreteFunctionSpace< FunctionSpace, GridPart, Order > > 55 { 56 static const bool v = false; 57 }; 58 59 60 template< class FunctionSpace, class GridPart, int Order > 61 struct viewThreadSafe< FourierDiscreteFunctionSpace< FunctionSpace, GridPart, Order > > 62 { 63 static const bool v = true; 64 }; 65 66 } // namespace Capabilities 67 68 } // namespace Fem 69 70 } // namespace Dune 71 72 #endif // #ifndef DUNE_FEM_SPACE_FOURIER_CAPABILITIES_HH 73