STAPL API Reference          
Overview   Containers   Algorithms   Views   Skeletons   Run-Time System
Modules     Classes    
List of all members | Public Member Functions | Public Types
stapl::runtime::managed_locations_info Class Reference

Container that associates parent gang to child gang location ids only for locally managed locations. More...

Public Member Functions

template<typename Range >
 managed_locations_info (gang_description const &gd, Range const &r)
 
size_type size (void) const noexcept
 
const_iterator begin (void) const
 
const_iterator end (void) const
 
std::pair< id, size_type > const & find (const id lid) const noexcept
 
auto get_location_ids (void) -> decltype(boost::adaptors::transform(std::declval< ref_counted_range< managed_locations_info >>(), extract_location_id
 
auto get_mapped_location_ids (void) -> decltype(boost::adaptors::transform(std::declval< ref_counted_range< managed_locations_info >>(), extract_mapped_location_id
 
void add_ref (long count=1, std::memory_order order=std::memory_order_relaxed) noexcept
 Increases the reference count by count.
 
long remove_ref (long count=1, std::memory_order order=std::memory_order_relaxed) noexcept
 Decreases the reference count by count. More...
 
bool release (std::memory_order order=std::memory_order_relaxed) noexcept
 Decreases the reference count, destroying the object if it reached 0. More...
 
long use_count (std::memory_order order=std::memory_order_relaxed) const noexcept
 
bool unique (std::memory_order order=std::memory_order_relaxed) const noexcept
 

Public Types

using id = location_md::id
 
using size_type = location_md::size_type
 
using value_type = typename container_type::value_type
 
using const_iterator = typename container_type::const_iterator
 
using iterator = const_iterator
 

Detailed Description

Container that associates parent gang to child gang location ids only for locally managed locations.

Member Function Documentation

◆ remove_ref()

long stapl::runtime::ref_counted< managed_locations_info , std::default_delete<managed_locations_info > >::remove_ref ( long  count = 1,
std::memory_order  order = std::memory_order_relaxed 
)
noexceptinherited

Decreases the reference count by count.

Returns
The new reference count.

◆ release()

bool stapl::runtime::ref_counted< managed_locations_info , std::default_delete<managed_locations_info > >::release ( std::memory_order  order = std::memory_order_relaxed)
noexceptinherited

Decreases the reference count, destroying the object if it reached 0.

Warning
If release() returns true, then the object has been destroyed.
Returns
true if the object was destroyed, otherwise false.

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