def __init__(self, iterset, dataset, arity, values=None, name=None,
                 offset=None, parent=None, bt_masks=None):
        base.Map.__init__(self, iterset, dataset, arity, values, name, offset,
                          parent, bt_masks)
        # The base.Map base class allows not passing values. We do not allow
        # that on the device, but want to keep the API consistent. So if the
        # user doesn't pass values, we fail with MapValueError rather than
        # a (confusing) error telling the user the function requires
        # additional parameters
        if len(self.values_with_halo) == 0 and self.iterset.total_size > 0:
            raise MapValueError("Map values must be populated.")
dataset/ETHPy150Open OP2/PyOP2/pyop2/device.py/Map.__init__/original