code: def describe(self, name=str(), **options):
          
          metadata = super().describe(name, **options)
          metadata['class'] = self.__class__.__name__
          metadata['name'] = name if name else self.__class__.__name__
          metadata['type'] = Pointer.item_type.name
          if is_any(self._data) and get_nested(options):
              metadata['member'] = list()
              metadata['member'].append(self._data.describe('data', **options))
          return metadata
docs: Returns the **metadata** of a `Pointer` as an
          :class:`ordered dictionary <collections.OrderedDict>`.
  
          .. code-block:: python
  
              metadata = {
                  'address': self.index.address,
                  'alignment': [self.alignment.byte_size, self.alignment.bit_offset],
                  'class': self.__class__.__name__,
                  'index': [self.index.byte, self.index.bit],
                  'max': self.max(),
                  'min': self.min(),
                  'name': name if name else self.__class__.__name__,
                  'order': self.byte_order.value,
                  'size': self.bit_size,
                  'type': Pointer.item_type.name,
                  'value': self.value,
                  'member': [self.data.describe()]
              }
  
          :param str name: optional name for the `Pointer` field.
              Fallback is the class name.
          :keyword bool nested: if ``True`` a :class:`Pointer` field lists its
              referenced :attr:`data` object fields as well (chained method call).
              Default is ``True``.