The Standard Template Adaptive Parallel Library (STAPL) is a
C++ parallel programming library that provides a collection of distributed
data structures (pContainers) and parallel algorithms (pAlgorithms) and a
generic methodology for extending them to provide customized
STAPL algorithms are written in terms of pViews,
which provide a generic access interface to pContainer data by
abstracting common data structure concepts. Briefly, pViews
allow the same pContainer to present multiple interfaces, e.g.,
enabling the same pMatrix to be `viewed' (or used) as a row-major
or column-major matrix, or even as a vector.
In this paper, we describe the STAPL pView concept and its properties.
pViews generalize the iterator concept
and enable parallelism by providing random access to,
and an ADT for, collections of elements.
We illustrate how pViews provide support for managing the
tradeoff between expressivity and performance
and examine the performance overhead incurred when using pViews.