<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def memory_enumerator(buffer_, *args, **kwargs):
 """Return an enumerator that knows how to read raw memory."""


    _LOGGER.debug("Enumerating through (%d) bytes of archive data.",
                  len(buffer_))

    def opener(archive_res):
        _LOGGER.debug("Opening from (%d) bytes (memory_enumerator).",
                      len(buffer_))

        _archive_read_open_memory(archive_res, buffer_)

    if 'entry_cls' not in kwargs:
        kwargs['entry_cls'] = _ArchiveEntryItReadable

    return _enumerator(opener,
                       *args,
                       **kwargs)