'Return a generator of objects for the given container.
:param container: Container instance
:type container: :class:`Container`
:keyword ex_prefix: Only return objects starting with ex_prefix
:type ex_prefix: ``str``
:return: A generator of Object instances.
:rtype: ``generator`` of :class:`Object`'

def iterate_container_objects(self, container, ex_prefix=None):

    params = {}
    if ex_prefix:
        params['prefix'] = ex_prefix
    last_key = None
    exhausted = False
    while (not exhausted):
        if last_key:
            params['marker'] = last_key
        response = self.connection.request('/', params=params, container=container)
        if (response.status != httplib.OK):
            raise LibcloudError(('Unexpected    status    code:    %s' % response.status), driver=self)
        objects = self._to_objs(obj=response.object, xpath='Contents', container=container)
        is_truncated = response.object.findtext(fixxpath(xpath='IsTruncated', namespace=self.namespace)).lower()
        exhausted = (is_truncated == 'false')
        last_key = None
        for obj in objects:
            last_key = obj.name
            (yield obj)
