Implicit domain representing the cells of a regular mesh. More...
Public Member Functions | |
| implicit_regular_mesh_domain () | |
| Constructs an empty regular mesh domain. | |
| implicit_regular_mesh_domain (tuple_type const &first_elt, tuple_type const &l_sizes, tuple_type const &g_sizes) | |
| implicit_regular_mesh_domain (tuple_type const &l_sizes) | |
| Constructor taking the size of the mesh in each dimension, the coordinates of the origin are set to 0. More... | |
| implicit_regular_mesh_domain (tuple_type const &first_elt, tuple_type const &last_elt, implicit_regular_mesh_domain const &other) | |
| Constructor creating a restricted domain given a first element first_elt, a last element last_elt and another domain other. More... | |
| implicit_regular_mesh_domain (index_type const &first_elt, index_type const &last_elt, implicit_regular_mesh_domain const &other) | |
| size_type | size () const |
| Returns the number of elements in the domain. | |
| tuple_type | get_local_sizes () const |
| Returns a tuple with the number of elements in each dimension. | |
| gid_type | first () const |
| Returns the first index in the domain. | |
| gid_type | last () const |
| Returns the last index in the domain. | |
| gid_type | open_last () const |
| Returns the index after the last one. | |
| bool | contains (gid_type const &idx) const |
| Check if the index idx is in the domain. More... | |
| bool | contains (tuple_type const &pos) const |
| Check if the tuple index pos is in the domain. More... | |
| gid_type | advance (gid_type const &idx, long const &n) const |
| Advance an index idx by n positions in the domain. More... | |
| size_t | distance (gid_type const &i0, gid_type const &i1) const |
| Return the positive distance between two indices based on the domain order. More... | |
| gid_type | linearize (tuple_type const &t1) const |
| Linearize a tuple index based on the domain. More... | |
| tuple_type | reverse_linearize (gid_type const &id) const |
| Reverse linearize an index based on the domain. More... | |
| bool | empty () const |
| Returns true if domain is empty. | |
| bool | is_same_container_domain () const |
| Returns true if domain is the same as the container domain. | |
| implicit_regular_mesh_domain | operator & (implicit_regular_mesh_domain const &other) |
| Intersect the domain with another domain. More... | |
Public Types | |
| typedef COORDINATES | tuple_type |
| typedef size_t | gid_type |
| typedef gid_type | index_type |
| typedef size_t | size_type |
Implicit domain representing the cells of a regular mesh.
| COORDINATES | coordinates type of domain element. |
| TRAVERSAL | traversal type for the linearization of mesh cells. |
| stapl::implicit_regular_mesh_domain< COORDINATES, TRAVERSAL >::implicit_regular_mesh_domain | ( | tuple_type const & | first_elt, |
| tuple_type const & | l_sizes, | ||
| tuple_type const & | g_sizes | ||
| ) |
| first_elt | position of the first cell of the mesh. |
| l_sizes | size in each dimension of the mesh. |
| g_sizes | size in each dimension of the whole mesh if this domain represents a partition. |
| stapl::implicit_regular_mesh_domain< COORDINATES, TRAVERSAL >::implicit_regular_mesh_domain | ( | tuple_type const & | l_sizes | ) |
Constructor taking the size of the mesh in each dimension, the coordinates of the origin are set to 0.
| l_sizes | size in each dimension of the mesh. |
| stapl::implicit_regular_mesh_domain< COORDINATES, TRAVERSAL >::implicit_regular_mesh_domain | ( | tuple_type const & | first_elt, |
| tuple_type const & | last_elt, | ||
| implicit_regular_mesh_domain< COORDINATES, TRAVERSAL > const & | other | ||
| ) |
Constructor creating a restricted domain given a first element first_elt, a last element last_elt and another domain other.
| first_elt | first element. |
| last_elt | last element. |
| other | other domain. |
| bool stapl::implicit_regular_mesh_domain< COORDINATES, TRAVERSAL >::contains | ( | gid_type const & | idx | ) | const |
Check if the index idx is in the domain.
| idx | index. |
| bool stapl::implicit_regular_mesh_domain< COORDINATES, TRAVERSAL >::contains | ( | tuple_type const & | pos | ) | const |
Check if the tuple index pos is in the domain.
| pos | index tuple. |
| gid_type stapl::implicit_regular_mesh_domain< COORDINATES, TRAVERSAL >::advance | ( | gid_type const & | idx, |
| long const & | n | ||
| ) | const |
Advance an index idx by n positions in the domain.
| idx | index. |
| n | number of positions. |
| size_t stapl::implicit_regular_mesh_domain< COORDINATES, TRAVERSAL >::distance | ( | gid_type const & | i0, |
| gid_type const & | i1 | ||
| ) | const |
Return the positive distance between two indices based on the domain order.
| i0 | first index. |
| i1 | second index. |
| gid_type stapl::implicit_regular_mesh_domain< COORDINATES, TRAVERSAL >::linearize | ( | tuple_type const & | t1 | ) | const |
Linearize a tuple index based on the domain.
| t1 | tuple index. |
| tuple_type stapl::implicit_regular_mesh_domain< COORDINATES, TRAVERSAL >::reverse_linearize | ( | gid_type const & | id | ) | const |
Reverse linearize an index based on the domain.
| id | index. |
| implicit_regular_mesh_domain stapl::implicit_regular_mesh_domain< COORDINATES, TRAVERSAL >::operator& | ( | implicit_regular_mesh_domain< COORDINATES, TRAVERSAL > const & | other | ) |
Intersect the domain with another domain.
| other | other domain. |
1.8.13