Many URI schemes include one or more attribute/value pairs as part of the URI value.
For example `scheme://server/path?query=string&is=there` has two attributes – `query=string` and `is=there` – in its query part.
A UriParamsIter structure represents an iterator that can be used to iterate over the attribute/value pairs of a URI query string. UriParamsIter structures are typically allocated on the stack and then initialized with UriParamsIter. See the documentation for UriParamsIter for a usage example.