OPM/opm-core — pull request #640 by bska (2014-08-27 19:29:27+00:00)
Title: Add Facility for Accessing Active Subset of Global Data Array

This change-set introduces a fairly general mechanism for accessing the active subset of a global grid (property) array. Essentially, this takes on the role of translating the active cell index through the `global_cell` mapping when accessing, e.g., the net-to-gross data value. The class understands that `global_cell==0` implies "all cells active".

The primary component is class template
```
Opm::GridPropertyAccess::Compressed
```
which implements a read-only
```
value_type operator[](const int c)
```
that encapsulates and performs the compressed-to-global cell index translation. Template parameter `DataArray` is intended as a policy parameter that for instance wraps access to a [`GridProperty`](https://github.com/OPM/opm-parser/blob/master/opm/parser/eclipse/EclipseState/Grid/GridProperty.hpp) from module opm-parser (with a fall-back default value if the data is not specified on input). The `Tag` parameter is a provision for type safety--e.g., to prevent passing a region ID into a function that requires a porosity value.

While here, also heed @atgeirr's [remark](https://github.com/OPM/opm-core/pull/635#issuecomment-53484088) on the opacity of the `permeability_[]` assignment index expression and add a commont on why it's written that way.