15 #include "atlas/library/config.h" 16 #include "atlas/util/ObjectHandle.h" 26 namespace functionspace {
27 class FunctionSpaceImpl;
30 class PartitionPolygon;
31 class PartitionPolygons;
39 class FunctionSpace : DOXYGEN_HIDE( public util::ObjectHandle<functionspace::FunctionSpaceImpl> ) {
44 std::string type()
const;
45 operator bool()
const;
46 size_t footprint()
const;
47 std::string distribution()
const;
49 Field createField(
const eckit::Configuration& )
const;
52 Field createField(
const Field&,
const eckit::Configuration& )
const;
54 template <
typename DATATYPE>
55 Field createField(
const eckit::Configuration& )
const;
57 template <
typename DATATYPE>
58 Field createField()
const;
60 void haloExchange(
const FieldSet&,
bool on_device =
false )
const;
61 void haloExchange(
const Field&,
bool on_device =
false )
const;
63 void adjointHaloExchange(
const FieldSet&,
bool on_device =
false )
const;
64 void adjointHaloExchange(
const Field&,
bool on_device =
false )
const;
72 idx_t nb_partitions()
const;
83 extern template Field FunctionSpace::createField<float>()
const;
84 extern template Field FunctionSpace::createField<double>()
const;
85 extern template Field FunctionSpace::createField<int>()
const;
86 extern template Field FunctionSpace::createField<long>()
const;
87 extern template Field FunctionSpace::createField<float>(
const eckit::Configuration& )
const;
88 extern template Field FunctionSpace::createField<double>(
const eckit::Configuration& )
const;
89 extern template Field FunctionSpace::createField<int>(
const eckit::Configuration& )
const;
90 extern template Field FunctionSpace::createField<long>(
const eckit::Configuration& )
const;
A Field contains an Array, Metadata, and a reference to a FunctionSpace.
Definition: Field.h:59
Definition: Polygon.h:155
Definition: Projection.h:49
Represents a set of fields, where order is preserved.
Definition: FieldSet.h:146
Contains all atlas classes and methods.
Definition: atlas-grids.cc:33
long idx_t
Integer type for indices in connectivity tables.
Definition: config.h:42
Definition: FunctionSpace.h:39