'Iterate over the host entries in this file.
@return: An iterable the elements of which provide L{IKnownHostEntry}.
There is an element for each entry in the file as well as an element
for each added but not yet saved entry.
@rtype: iterable of L{IKnownHostEntry} providers'

def iterentries(self):

    for entry in self._added:
        (yield entry)
    if self._clobber:
        return
    try:
        fp = self._savePath.open()
    except IOError:
        return
    with fp:
        for line in fp:
            try:
                if line.startswith(HashedEntry.MAGIC):
                    entry = HashedEntry.fromString(line)
                else:
                    entry = PlainEntry.fromString(line)
            except (DecodeError, InvalidEntry, BadKeyError):
                entry = UnparsedEntry(line)
            (yield entry)
