This converts a param which may contain unvalidated percent-escapes into a param whose key and value are guaranteed to contain strings with no invalid percent-escapes, otherwise an exception is thrown.
The new key and value reference the same corresponding underlying character buffers. Ownership of the buffers is not transferred; the caller is responsible for ensuring that the assigned buffers remain valid until they are no longer referenced.
param_pct_view qp( param_view( "key", "value" ) );
Linear in key.size() + value.size()
.
Exceptions thrown on invalid input.
Name | Thrown on |
---|---|
system_error |
key or value contains an invalid percent escape. |
Name | Description |
---|---|
p | The param to construct from. |