[#BloombergLP-bslfmt-FormatterTestUtil-05-testParseVFormat]
= xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bslfmt.adoc[bslfmt]::xref:BloombergLP/bslfmt/FormatterTestUtil-05.adoc[FormatterTestUtil&lt;char&gt;]::testParseVFormat
:relfileprefix: ../../../
:mrdocs:

Verify that parsing the specified runtime `fmt` succeeds without throwing&period;

== Synopsis

Declared in `&lt;bslfmt&lowbar;formattertestutil&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;class t&lowbar;TYPE&gt;
static
bool
testParseVFormat(
    xref:bsl/string.adoc[bsl::string]* message,
    bool alsoTestOracle,
    bsl::basic&lowbar;string&lowbar;view&lt;char&gt; fmt);
----

== Description

Verify that the specified `fmt` has a valid structure and, if so, parse it using a `bslfmt&colon;&colon;formatter` specialization for the (template parameter) `t&lowbar;TYPE`&period; If the specified `alsoTestOracle` is `true`, also parse the `fmt` using a standard library implementation&period; Return `true` if the `fmt` is valid and the exception is _NOT_ thrown during the parsing, and return `false` otherwise&period; Note that `fmt` can be determined at runtime&period;

== Return Value

`true` if parsing succeeds without throwing, else `false`&period;

== Parameters

[cols="1,4"]
|===
| Name| Description
| *message*
| Output parameter for an error description on failure&period;
| *alsoTestOracle*
| If `true`, also parse with the standard library&period;
| *fmt*
| Runtime format string to parse&period;
|===


[.small]#Created with https://www.mrdocs.com[MrDocs]#
