16 #include "atlas/library/config.h" 17 #include "atlas/util/Config.h" 18 #include "atlas/util/Object.h" 22 class Parametrisation;
31 namespace partitioner {
48 virtual int partition(
const gidx_t gidx )
const = 0;
49 virtual bool functional()
const = 0;
50 virtual idx_t nb_partitions()
const = 0;
51 virtual gidx_t size()
const = 0;
53 virtual const std::vector<idx_t>& nb_pts()
const = 0;
55 virtual idx_t max_pts()
const = 0;
56 virtual idx_t min_pts()
const = 0;
58 virtual const std::string& type()
const = 0;
60 virtual void print( std::ostream& )
const = 0;
62 virtual size_t footprint()
const = 0;
64 virtual void hash( eckit::Hash& )
const = 0;
66 virtual void partition(
gidx_t begin,
gidx_t end,
int partitions[] )
const = 0;
73 const eckit::Parametrisation* config );
76 int atlas__GridDistribution__partition_int32(
DistributionImpl* dist,
int i );
77 int atlas__GridDistribution__partition_int64(
DistributionImpl* dist,
long i );
Most general grid container.
Definition: Grid.h:64
Definition: Partitioner.h:33
Definition: DistributionImpl.h:44
long gidx_t
Integer type for global indices.
Definition: config.h:34
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
Configuration class used to construct various atlas components.
Definition: Config.h:27