[#bsl-pair-0b-2constructor-0db]
= xref:bsl.adoc[bsl]::xref:bsl/pair-0b.adoc[pair]::pair
:relfileprefix: ../../
:mrdocs:

Construct a `pair` from the specified `a` and `b` values&period;

== Synopsis

Declared in `&lt;bslstl&lowbar;pair&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;
    class PARAM&lowbar;1,
    class PARAM&lowbar;2,
    class = void&gt;
requires std&colon;&colon;is&lowbar;constructible&lt;T1, PARAM&lowbar;1&gt;&colon;&colon;value &amp;&amp;
                std&colon;&colon;is&lowbar;constructible&lt;T2, PARAM&lowbar;2&gt;&colon;&colon;value &amp;&amp;
                !(bsl&colon;&colon;is&lowbar;pointer&lt;bsl&colon;&colon;remove&lowbar;reference&lowbar;t&lt;PARAM&lowbar;2&gt;&gt;&colon;&colon;value &amp;&amp;
                  bsl&colon;&colon;is&lowbar;convertible&lt;PARAM&lowbar;2,
                                      BloombergLP&colon;&colon;bslma&colon;&colon;Allocator &ast;&gt;&colon;&colon;value)
constexpr
pair(
    PARAM&lowbar;1&& a,
    PARAM&lowbar;2&& b);
----

== Description

Construct a `pair` with the `first` member initialized to the specified `a` value and the `second` member initialized to the specified `b` value&period;

== Parameters

[cols="1,4"]
|===
| Name| Description
| *a*
| value forwarded to the constructor of `T1`
| *b*
| value forwarded to the constructor of `T2`
|===


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