[#bsl-Pair_First-00]
= xref:bsl.adoc[bsl]::Pair&lowbar;First
:relfileprefix: ../
:mrdocs:

Component&hyphen;private base holding and constructing a pair&apos;s `first` member&period;

== Synopsis

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

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;class TYPE&gt;
struct Pair&lowbar;First;
----

== Description

This component&hyphen;private `class` holds the `first` data member of a `pair` and constructs it appropriately&period; Note the partial specializations below for the cases that (template parameter) &apos;TYPE&apos; is a reference&period;

== Protected Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:bsl/Pair_First-00/2constructor-0a7.adoc[`Pair&lowbar;First`]         [.small]#[constructor]#
| Constructors
|===


== Protected Data Members

[cols="1,4"]
|===
| Name| Description
| xref:bsl/Pair_First-00/first.adoc[`first`] 
| First element of the pair&period;
|===


== Specializations

[cols="1,4"]
|===
| Name| Description
| xref:bsl/Pair_First-02.adoc[`Pair&lowbar;First&lt;TYPE&&gt;`] 
| Component&hyphen;private base holding a pair&apos;s `first` member by lvalue reference&period;
| xref:bsl/Pair_First-09.adoc[`Pair&lowbar;First&lt;TYPE&&&gt;`] 
| Component&hyphen;private base holding a pair&apos;s `first` member by rvalue reference&period;
|===


== Derived Classes

[cols="1,4"]
|===
| Name| Description
| xref:bsl/pair-0b.adoc[`pair`] 
| A pair of public data members, `first` and `second`, that supports `bslma` allocators&period;
|===


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