Implicit container representing a regular mesh. More...
Public Member Functions | |
implicit_regular_mesh_container (tuple_type const &size) | |
distribution_type & | distribution (void) |
value_type | operator[] (gid_type const &idx) const |
Returns cell whose id is idx. More... | |
value_type | advance (gid_type const &idx, long const &n) |
Returns cell located n positions after cell id idx in the domain. More... | |
iterator | begin (void) |
Returns a cell iterator on the first cell of the mesh. More... | |
iterator | end (void) |
Returns a cell iterator after the last cell of the mesh. More... | |
iterator | make_iterator (gid_type const &gid) |
Returns a cell iterator on cell whose id is gid. More... | |
value_type | get_element (gid_type const &idx) const |
Returns cell whose id is idx. More... | |
size_t | size (void) const |
Returns the number of the vertices of the mesh. More... | |
domain_type | domain (void) const |
Returns the cell domain. | |
runtime::location_md const & | get_location_md (void) const noexcept |
Returns the location metadata of the location this object registered in. | |
runtime::location_md & | get_location_md (void) noexcept |
Returns the location metadata of the location this object registered in. noexcept More... | |
Distributed Object Management | |
rmi_handle::const_reference const & | get_rmi_handle (void) const noexcept |
Returns the associated rmi_handle. | |
rmi_handle::reference const & | get_rmi_handle (void) noexcept |
Returns the associated rmi_handle. | |
size_type | get_location_id (void) const noexcept |
Returns the location id of the local sub-object. | |
size_type | get_num_locations (void) const noexcept |
Returns the number of locations of the gang of this p_object. | |
void | advance_epoch (void) |
Advances the epoch of the object. More... | |
void | unlock (void) |
Used by lock_guard functionality in method of derived classes to request atomicity with respect to incoming RMIs. More... | |
void | lock (void) |
Used by lock_guard functionality in method of derived classes to request atomicity with respect to incoming RMIs. More... | |
bool | try_lock (void) |
Attempt to maintain atomicity with respect to incoming RMIs. More... | |
Public Types | |
typedef implicit_regular_mesh_container< N > | this_type |
typedef implicit_regular_mesh_distribution< this_type > | distribution_type |
typedef implicit_regular_mesh_metadata< this_type > | loc_dist_metadata |
typedef size_tuple< N >::type | tuple_type |
typedef implicit_regular_mesh_domain< tuple_type > | domain_type |
typedef domain_type | closed_domain_type |
typedef regular_mesh_edge_func< domain_type > | edge_gen_func_type |
typedef implicit_vertex< edge_gen_func_type > | value_type |
typedef value_type | reference |
typedef const value_type | const_reference |
typedef reference | vertex_reference |
typedef vertex_reference::adj_edge_iterator | adj_edge_iterator |
typedef vertex_reference::const_adj_edge_iterator | const_adj_edge_iterator |
typedef vertex_reference::property_type | vertex_property |
typedef vertex_reference::edge_property | edge_property |
typedef vertex_reference::edge_descriptor | edge_descriptor |
typedef vertex_reference::vertex_descriptor | vertex_descriptor |
typedef size_t | gid_type |
typedef container_accessor< this_type > | accessor_type |
typedef container_iterator< this_type, accessor_type, std::random_access_iterator_tag > | iterator |
using | size_type = rmi_handle::size_type |
Implicit container representing a regular mesh.
N | mesh dimension. |
stapl::implicit_regular_mesh_container< N >::implicit_regular_mesh_container | ( | tuple_type const & | size | ) |
size | size of the mesh in each dimension. |
value_type stapl::implicit_regular_mesh_container< N >::operator[] | ( | gid_type const & | idx | ) | const |
Returns cell whose id is idx.
idx | cell id. |
value_type stapl::implicit_regular_mesh_container< N >::advance | ( | gid_type const & | idx, |
long const & | n | ||
) |
Returns cell located n positions after cell id idx in the domain.
idx | cell id. |
n | number of positions. |
iterator stapl::implicit_regular_mesh_container< N >::begin | ( | void | ) |
Returns a cell iterator on the first cell of the mesh.
iterator stapl::implicit_regular_mesh_container< N >::end | ( | void | ) |
Returns a cell iterator after the last cell of the mesh.
iterator stapl::implicit_regular_mesh_container< N >::make_iterator | ( | gid_type const & | gid | ) |
Returns a cell iterator on cell whose id is gid.
gid | mesh cell id. |
value_type stapl::implicit_regular_mesh_container< N >::get_element | ( | gid_type const & | idx | ) | const |
Returns cell whose id is idx.
idx | cell id. |
size_t stapl::implicit_regular_mesh_container< N >::size | ( | void | ) | const |
Returns the number of the vertices of the mesh.
|
noexceptinherited |
Returns the location metadata of the location this object registered in. noexcept
noexcept
|
inherited |
Advances the epoch of the object.
Advancing the epoch will flush any pending RMIs. It will also increase the epoch of the current gang if the object is not a named object.
|
inherited |
Used by lock_guard
functionality in method of derived classes to request atomicity with respect to incoming RMIs.
Mutates counter in the associated runqueue.
|
inherited |
Used by lock_guard
functionality in method of derived classes to request atomicity with respect to incoming RMIs.
Mutates counter in the associated runqueue.
|
inherited |
Attempt to maintain atomicity with respect to incoming RMIs.
Mutates counter in the associated runqueue.
true
if the lock was able to be acquired. false
if it is already locked.