def scan_iter(self, match=None, count=None):
core = self.core()<EOL>for i in range(<NUM_LIT:0>, self.shard_count - <NUM_LIT:1>):<EOL><INDENT>cursor = <NUM_LIT:0><EOL>while True:<EOL><INDENT>res = core.hscan(i, cursor=cursor, match=match, count=count)<EOL>cursor, elements = res<EOL>if elements:<EOL><INDENT>for k, v in elements.items():<EOL><INDENT>yield k, v<EOL><DEDENT><DEDENT>if cursor == <NUM_LIT:0>:<EOL><INDENT>break<EOL><DEDENT><DEDENT><DEDENT>
Make an iterator using the hscan command so that the client doesn't
need to remember the cursor position.

``match`` allows for filtering the keys by pattern

``count`` allows for hint the minimum number of returns