class
#include <atlas/mesh/Connectivity.h>
IrregularConnectivityImpl
Derived classes
- class MultiBlockConnectivityImpl
- Connectivity contiguously composed of multiple BlockConnectivityImpl.
Public types
- using Row = ConnectivityRow
- using ctxt_t = void*
- using callback_t = void(*)(ctxt_t)
Constructors, destructors, conversion operators
-
IrregularConnectivityImpl(const std::
string& name = "") - Construct connectivity table that needs resizing a-posteriori Data is owned.
-
IrregularConnectivityImpl(idx_
t values[], idx_ t rows, idx_ t displs[], idx_ t counts[]) - Construct connectivity table wrapping existing raw data. No resizing can be performed as data is not owned.
-
IrregularConnectivityImpl(eckit::
Stream&) explicit - Construct a mesh from a Stream (serialization)
- ~IrregularConnectivityImpl() virtual
Public functions
-
auto name() const -> const std::
string - Name associated to this Connetivity.
-
void rename(const std::
string& name) - Rename this Connectivity.
-
auto rows() const -> idx_
t - Number of rows in the connectivity table.
-
auto cols(idx_
t row_idx) const -> idx_ t - Number of columns for specified row in the connectivity table.
-
auto maxcols() const -> idx_
t - Maximum value for number of columns over all rows.
-
auto mincols() const -> idx_
t - Minimum value for number of columns over all rows.
-
auto operator()(idx_
t row_idx, idx_ t col_idx) const -> idx_ t - Access to connectivity table elements for given row and column The returned index has base 0 regardless if ATLAS_HAVE_FORTRAN is defined.
-
auto size() const -> idx_
t -
auto missing_value() const -> idx_
t -
auto row(idx_
t row_idx) const -> Row -
void set(idx_
t row_idx, const idx_ t column_values[]) - Modify row with given values. Values must be given with base 0.
-
void set(idx_
t row_idx, idx_ t col_idx, const idx_ t value) - Modify (row,col) with given value. Value must be given with base 0.
-
void resize(idx_
t old_size, idx_ t size, bool initialize, const idx_ t values[], bool fortran_array) virtual - Resize connectivity.
-
void add(idx_
t rows, idx_ t cols, const idx_ t values[], bool fortran_array = false) virtual - Resize connectivity, and add given rows.
-
void add(idx_
t rows, idx_ t cols) virtual - Resize connectivity, and add given rows with missing values.
-
void add(idx_
t rows, const idx_ t cols[]) virtual - Resize connectivity, and add given rows with missing values.
- void add(const BlockConnectivityImpl& block) virtual
- Resize connectivity, and copy from a BlockConnectivity.
-
void insert(idx_
t position, idx_ t rows, idx_ t cols, const idx_ t values[], bool fortran_array = false) virtual - Resize connectivity, and insert given rows.
-
void insert(idx_
t position, idx_ t rows, idx_ t cols) virtual - Resize connectivity, and insert given rows with missing values.
-
void insert(idx_
t position, idx_ t rows, const idx_ t cols[]) virtual - Resize connectivity, and insert given rows with missing values.
- void clear() virtual
- auto footprint() const -> size_t virtual
-
auto displs(const idx_
t row) const -> idx_ t -
void dump(std::
ostream& os) const -
void encode(eckit::
Stream& s) const virtual -
void decode(eckit::
Stream& s) virtual
Friends
-
auto operator<<(std::
ostream& os, const IrregularConnectivityImpl& p) -> std:: ostream& -
auto operator<<(eckit::
Stream& s, const IrregularConnectivityImpl& x) -> eckit:: Stream& -
auto operator>>(eckit::
Stream& s, IrregularConnectivityImpl& x) -> eckit:: Stream&