atlas
Classes | Namespaces | Macros | Typedefs | Functions
Connectivity.h File Reference
#include <array>
#include <cstring>
#include <initializer_list>
#include "atlas/array.h"
#include "atlas/array/ArrayView.h"
#include "atlas/array/DataType.h"
#include "atlas/array/IndexView.h"
#include "atlas/array/SVector.h"
#include "atlas/array/Vector.h"
#include "atlas/array_fwd.h"
#include "atlas/library/config.h"
#include "atlas/util/Object.h"
Include dependency graph for Connectivity.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  atlas::mesh::ConnectivityInterface< ConnectivityImpl >
 
class  atlas::mesh::detail::ConnectivityIndex
 
class  atlas::mesh::ConnectivityRow
 
class  atlas::mesh::IrregularConnectivityImpl
 
class  atlas::mesh::MultiBlockConnectivityImpl
 Connectivity contiguously composed of multiple BlockConnectivityImpl. More...
 
class  atlas::mesh::BlockConnectivityImpl
 Block Connectivity table. More...
 

Namespaces

 eckit
 
 atlas
 Contains all atlas classes and methods.
 
 atlas::mesh::detail
 Irregular Connectivity Table.
 
 atlas::array
 Contains classes to operate with multidimensional arrays.
 

Macros

#define INDEX_DEREF   *
 
#define INDEX_REF   idx_t&
 
#define FROM_FORTRAN
 
#define TO_FORTRAN
 

Typedefs

using atlas::mesh::IrregularConnectivity = ConnectivityInterface< IrregularConnectivityImpl >
 
using atlas::mesh::MultiBlockConnectivity = ConnectivityInterface< MultiBlockConnectivityImpl >
 
using atlas::mesh::BlockConnectivity = BlockConnectivityImpl
 
using atlas::mesh::Connectivity = IrregularConnectivity
 

Functions

constexpr size_t atlas::mesh::MAX_STRING_SIZE ()
 
Connectivity * atlas::mesh::atlas__Connectivity__create ()
 
MultiBlockConnectivity * atlas::mesh::atlas__MultiBlockConnectivity__create ()
 
const char * atlas::mesh::atlas__Connectivity__name (Connectivity *This)
 
void atlas::mesh::atlas__Connectivity__rename (Connectivity *This, const char *name)
 
void atlas::mesh::atlas__Connectivity__delete (Connectivity *This)
 
void atlas::mesh::atlas__Connectivity__displs (Connectivity *This, idx_t *&displs, idx_t &size)
 
void atlas::mesh::atlas__Connectivity__counts (Connectivity *This, idx_t *&counts, idx_t &size)
 
void atlas::mesh::atlas__Connectivity__values (Connectivity *This, idx_t *&values, idx_t &size)
 
idx_t atlas::mesh::atlas__Connectivity__rows (const Connectivity *This)
 
void atlas::mesh::atlas__Connectivity__add_values (Connectivity *This, idx_t rows, idx_t cols, idx_t values[])
 
void atlas::mesh::atlas__Connectivity__add_missing (Connectivity *This, idx_t rows, idx_t cols)
 
idx_t atlas::mesh::atlas__Connectivity__missing_value (const Connectivity *This)
 
idx_t atlas::mesh::atlas__MultiBlockConnectivity__blocks (const MultiBlockConnectivity *This)
 
BlockConnectivityImpl * atlas::mesh::atlas__MultiBlockConnectivity__block (MultiBlockConnectivity *This, idx_t block_idx)
 
idx_t atlas::mesh::atlas__BlockConnectivity__rows (const BlockConnectivityImpl *This)
 
idx_t atlas::mesh::atlas__BlockConnectivity__cols (const BlockConnectivityImpl *This)
 
idx_t atlas::mesh::atlas__BlockConnectivity__missing_value (const BlockConnectivityImpl *This)
 
void atlas::mesh::atlas__BlockConnectivity__data (BlockConnectivityImpl *This, idx_t *&data, idx_t &rows, idx_t &cols)
 
void atlas::mesh::atlas__BlockConnectivity__delete (BlockConnectivityImpl *This)
 

Detailed Description

Author
Willem Deconinck
Date
October 2015

This file contains Connectivity classes

It is important to note that connectivity access functions are inlined for optimal performance. The connectivity itself is internally stored with base 1, to be compatible with Fortran access. C++ access operators however convert the resulting connectivity to base 0.