STAPL API Reference          
Overview   Containers   Algorithms   Views   Skeletons   Run-Time System
Modules     Classes    
List of all members | Public Member Functions | Public Types
stapl::implicit_regular_mesh_container< N > Struct Template Reference

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_mdget_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_typedistribution_type
 
typedef implicit_regular_mesh_metadata< this_typeloc_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_typeedge_gen_func_type
 
typedef implicit_vertex< edge_gen_func_typevalue_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_typeaccessor_type
 
typedef container_iterator< this_type, accessor_type, std::random_access_iterator_tag > iterator
 
using size_type = rmi_handle::size_type
 

Detailed Description

template<int N>
struct stapl::implicit_regular_mesh_container< N >

Implicit container representing a regular mesh.

Template Parameters
Nmesh dimension.

Constructor & Destructor Documentation

◆ implicit_regular_mesh_container()

template<int N>
stapl::implicit_regular_mesh_container< N >::implicit_regular_mesh_container ( tuple_type const &  size)
Parameters
sizesize of the mesh in each dimension.

Member Function Documentation

◆ operator[]()

template<int N>
value_type stapl::implicit_regular_mesh_container< N >::operator[] ( gid_type const &  idx) const

Returns cell whose id is idx.

Parameters
idxcell id.
Returns
cell.

◆ advance()

template<int N>
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.

Parameters
idxcell id.
nnumber of positions.
Returns
cell.

◆ begin()

template<int N>
iterator stapl::implicit_regular_mesh_container< N >::begin ( void  )

Returns a cell iterator on the first cell of the mesh.

Returns
cell iterator on the first cell of the mesh.

◆ end()

template<int N>
iterator stapl::implicit_regular_mesh_container< N >::end ( void  )

Returns a cell iterator after the last cell of the mesh.

Returns
cell iterator after the last cell of the mesh.

◆ make_iterator()

template<int N>
iterator stapl::implicit_regular_mesh_container< N >::make_iterator ( gid_type const &  gid)

Returns a cell iterator on cell whose id is gid.

Parameters
gidmesh cell id.
Returns
cell iterator on cell whose id is gid.

◆ get_element()

template<int N>
value_type stapl::implicit_regular_mesh_container< N >::get_element ( gid_type const &  idx) const

Returns cell whose id is idx.

Parameters
idxcell id.
Returns
cell.

◆ size()

template<int N>
size_t stapl::implicit_regular_mesh_container< N >::size ( void  ) const

Returns the number of the vertices of the mesh.

Returns
number of the vertices of the mesh.

◆ get_location_md()

runtime::location_md& stapl::p_object::get_location_md ( void  )
noexceptinherited

Returns the location metadata of the location this object registered in. noexcept

noexcept

◆ advance_epoch()

void stapl::p_object::advance_epoch ( void  )
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.

◆ unlock()

void stapl::p_object::unlock ( void  )
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.

◆ lock()

void stapl::p_object::lock ( void  )
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.

◆ try_lock()

bool stapl::p_object::try_lock ( void  )
inherited

Attempt to maintain atomicity with respect to incoming RMIs.

Mutates counter in the associated runqueue.

Returns
true if the lock was able to be acquired. false if it is already locked.

The documentation for this struct was generated from the following file: