DASH  0.3.0
Container Concept

Concept of a distributed container. More...

Collaboration diagram for Container Concept:

Modules

 Array Concept
 
 Coarray Concept
 
 List Concept
 Concept of a distributed one-dimensional list container.
 
 Matrix Concept
 Concept for a distributed n-dimensional matrix.
 
 Unordered Map Concept
 Concept of a distributed unordered map container.
 

Detailed Description

Concept of a distributed container.

See also
Array Concept
DashMapConcept
Matrix Concept
Multidimensional View Concept
Multidimensional Range Concept
Multidimensional Iterator Concept
Description

A container in DASH is a set of elements of a the same type that is distributed to units in a team according to a specified distribution pattern. Container elements can be iterated canonically in global and local memory.

Types
Type name Description
value_type Type of the container elements.
difference_type Integer type denoting a distance in cartesian index space.
index_type Integer type denoting an offset/coordinate in cartesian index space.
size_type Integer type denoting an extent in cartesian index space.
iterator Iterator on container elements in global index space.
const_iterator Iterator on const container elements in global index space.
reverse_iterator Reverse iterator on container elements in global index space.
const_reverse_iterator Reverse iterator on const container elements in global index space.
reference Reference on container elements in global index space.
const_reference Reference on const container elements in global index space.
local_pointer Native pointer on local container elements.
const_local_pointer Native pointer on const local container elements.
view_type View specifier on container elements, model of DashViewConcept.
local_type Reference to local element range, allows range-based iteration.
pattern_type Concrete model of the Pattern concept that specifies the container's data distribution and cartesian access pattern.
Member Functions
Return Type Method Parameters Description
local_type local   Container proxy object representing a view specifier on the container's local elements.
pattern_type pattern   Object implementing the Pattern concept specifying the container's data distribution and iteration pattern.
iterator begin   Iterator referencing the first container element.
iterator end   Iterator referencing the element past the last container element.
Element * lbegin   Native pointer referencing the first local container element, same as local().begin().
Element * lend   Native pointer referencing the element past the last local container element, same as local().end().
size_type size   Number of elements in the container.
size_type local_size   Number of local elements in the container, same as local().size().
bool is_local index_type gi Whether the element at the given linear offset in global index space gi is local.
bool allocate size_type n, DistributionSpec<DD> ds, Team t Allocation of n container elements distributed in Team t as specified by distribution spec ds
void deallocate   Deallocation of the container and its elements.
Non-member Functions
Return Type Method Parameters Description
C::size_type dash::size const C & container Returns the size of a container
bool dash::empty const C & container Checks whether a container is empty