|
BSLS_KEYWORD_CONSTEXPR | pair () |
|
| pair (BloombergLP::bslma::Allocator *basicAllocator) |
|
| pair (const pair &original, BloombergLP::bslma::Allocator *basicAllocator) |
|
BSLS_KEYWORD_CONSTEXPR | pair (BloombergLP::bslmf::MovableRef< pair > original) |
|
| pair (BloombergLP::bslmf::MovableRef< pair > original, BloombergLP::bslma::Allocator *basicAllocator) |
|
BSLS_KEYWORD_CONSTEXPR | pair (typename bsl::add_lvalue_reference< const T1 >::type a, typename bsl::add_lvalue_reference< const T2 >::type b) |
|
| pair (typename bsl::add_lvalue_reference< const T1 >::type a, typename bsl::add_lvalue_reference< const T2 >::type b, BloombergLP::bslma::Allocator *basicAllocator) |
|
template<class PARAM_1 , class PARAM_2 > |
BSLS_KEYWORD_CONSTEXPR | pair (const PARAM_1 &a, const PARAM_2 &b, typename bsl::enable_if< bsl::is_convertible< PARAM_1, T1 >::value &&bsl::is_convertible< PARAM_2, T2 >::value &&!(bsl::is_pointer< typename bsl::remove_reference< PARAM_2 >::type >::value &&bsl::is_convertible< PARAM_2, BloombergLP::bslma::Allocator * >::value), SfinaeEnable >::type=SfinaeEnable()) |
|
template<class PARAM_1 , class PARAM_2 > |
| pair (const PARAM_1 &a, const PARAM_2 &b, BloombergLP::bslma::Allocator *basicAllocator) |
|
template<class PARAM_1 , class PARAM_2 > |
BSLS_KEYWORD_CONSTEXPR | pair (PARAM_1 &a, const PARAM_2 &b, typename bsl::enable_if< bsl::is_convertible< PARAM_1, T1 >::value &&bsl::is_convertible< PARAM_2, T2 >::value &&!(bsl::is_pointer< typename bsl::remove_reference< PARAM_2 >::type >::value &&bsl::is_convertible< PARAM_2, BloombergLP::bslma::Allocator * >::value), SfinaeEnable >::type=SfinaeEnable()) |
|
template<class PARAM_1 , class PARAM_2 > |
| pair (PARAM_1 &a, const PARAM_2 &b, BloombergLP::bslma::Allocator *basicAllocator) |
|
template<class PARAM_1 , class PARAM_2 > |
BSLS_KEYWORD_CONSTEXPR | pair (const PARAM_1 &a, PARAM_2 &b, typename bsl::enable_if< bsl::is_convertible< PARAM_1, T1 >::value &&bsl::is_convertible< PARAM_2, T2 >::value &&!(bsl::is_pointer< typename bsl::remove_reference< PARAM_2 >::type >::value &&bsl::is_convertible< PARAM_2, BloombergLP::bslma::Allocator * >::value), SfinaeEnable >::type=SfinaeEnable()) |
|
template<class PARAM_1 , class PARAM_2 > |
| pair (const PARAM_1 &a, PARAM_2 &b, BloombergLP::bslma::Allocator *basicAllocator) |
|
template<class PARAM_1 , class PARAM_2 > |
BSLS_KEYWORD_CONSTEXPR | pair (PARAM_1 &a, PARAM_2 &b, typename bsl::enable_if< bsl::is_convertible< PARAM_1, T1 >::value &&bsl::is_convertible< PARAM_2, T2 >::value &&!(bsl::is_pointer< typename bsl::remove_reference< PARAM_2 >::type >::value &&bsl::is_convertible< PARAM_2, BloombergLP::bslma::Allocator * >::value), SfinaeEnable >::type=SfinaeEnable()) |
|
template<class PARAM_1 , class PARAM_2 > |
| pair (PARAM_1 &a, PARAM_2 &b, BloombergLP::bslma::Allocator *basicAllocator) |
|
template<class PARAM_1 , class PARAM_2 > |
BSLS_KEYWORD_CONSTEXPR | pair (const pair< PARAM_1, PARAM_2 > &other, typename bsl::enable_if< std::is_constructible< T1, const PARAM_1 & >::value &&std::is_constructible< T2, const PARAM_2 & >::value, SfinaeEnable >::type=SfinaeEnable()) |
|
template<class PARAM_1 , class PARAM_2 > |
BSLS_KEYWORD_CONSTEXPR | pair (const std::pair< PARAM_1, PARAM_2 > &other, typename bsl::enable_if< std::is_constructible< T1, const PARAM_1 & >::value &&std::is_constructible< T2, const PARAM_2 & >::value, SfinaeEnable >::type=SfinaeEnable()) |
|
template<class PARAM_1 , class PARAM_2 > |
| pair (const pair< PARAM_1, PARAM_2 > &other, BloombergLP::bslma::Allocator *basicAllocator) |
|
template<class PARAM_1 , class PARAM_2 > |
| pair (const std::pair< PARAM_1, PARAM_2 > &other, BloombergLP::bslma::Allocator *basicAllocator) |
|
template<class PARAM_1 , class PARAM_2 > |
BSLS_KEYWORD_CONSTEXPR | pair (BloombergLP::bslmf::MovableRef< pair< PARAM_1, PARAM_2 > > other, typename bsl::enable_if< bsl::is_convertible< PARAM_1, T1 >::value &&bsl::is_convertible< PARAM_2, T2 >::value, SfinaeEnable >::type=SfinaeEnable()) |
|
template<class PARAM_1 , class PARAM_2 > |
BSLS_KEYWORD_CONSTEXPR | pair (BloombergLP::bslmf::MovableRef< std::pair< PARAM_1, PARAM_2 > > other, typename bsl::enable_if< bsl::is_convertible< PARAM_1, T1 >::value &&bsl::is_convertible< PARAM_2, T2 >::value, SfinaeEnable >::type=SfinaeEnable()) |
|
template<class PARAM_1 , class PARAM_2 > |
| pair (BloombergLP::bslmf::MovableRef< pair< PARAM_1, PARAM_2 > > other, BloombergLP::bslma::Allocator *basicAllocator) |
|
template<class PARAM_1 , class PARAM_2 > |
| pair (BloombergLP::bslmf::MovableRef< std::pair< PARAM_1, PARAM_2 > > other, BloombergLP::bslma::Allocator *basicAllocator) |
|
template<class PARAM_1 , class PARAM_2 > |
BSLS_KEYWORD_CONSTEXPR | pair (const BloombergLP::bslma::ManagedPtr_PairProxy< PARAM_1, PARAM_2 > &rhs) |
|
| ~pair ()=default |
|
template<class PARAM_1 , class PARAM_2 > |
pair & | operator= (const pair< PARAM_1, PARAM_2 > &rhs) |
|
pair & | operator= (BloombergLP::bslmf::MovableRef< pair > rhs) BSLS_KEYWORD_NOEXCEPT_SPECIFICATION(false) |
|
template<class PARAM_1 , class PARAM_2 > |
pair & | operator= (BloombergLP::bslmf::MovableRef< pair< PARAM_1, PARAM_2 > > rhs) |
|
template<class PARAM_1 , class PARAM_2 > |
pair & | operator= (const std::pair< PARAM_1, PARAM_2 > &rhs) |
|
template<class PARAM_1 , class PARAM_2 > |
pair< T1, T2 > & | operator= (const pair< PARAM_1, PARAM_2 > &rhs) |
|
template<class PARAM_1 , class PARAM_2 > |
pair< T1, T2 > & | operator= (BloombergLP::bslmf::MovableRef< pair< PARAM_1, PARAM_2 > > rhs) |
|
template<class PARAM_1 , class PARAM_2 > |
pair< T1, T2 > & | operator= (const std::pair< PARAM_1, PARAM_2 > &rhs) |
|
BSLS_KEYWORD_CONSTEXPR | Pair_First () |
|
| Pair_First (BloombergLP::bslma::Allocator *basicAllocator, Pair_BslmaIdiomNone) |
|
| Pair_First (BloombergLP::bslma::Allocator *basicAllocator, Pair_BslmaIdiomAtEnd) |
|
| Pair_First (BloombergLP::bslma::Allocator *basicAllocator, Pair_BslmaIdiomAllocatorArgT) |
|
BSLS_KEYWORD_CONSTEXPR | Pair_First (typename bsl::add_lvalue_reference< const T1 >::type value) |
|
BSLS_KEYWORD_CONSTEXPR | Pair_First (const PARAM &value) |
|
BSLS_KEYWORD_CONSTEXPR | Pair_First (PARAM &value) |
|
| Pair_First (const PARAM &value, BloombergLP::bslma::Allocator *basicAllocator, Pair_BslmaIdiomNone) |
|
| Pair_First (PARAM &value, BloombergLP::bslma::Allocator *basicAllocator, Pair_BslmaIdiomNone) |
|
| Pair_First (const PARAM &value, BloombergLP::bslma::Allocator *basicAllocator, Pair_BslmaIdiomAtEnd) |
|
| Pair_First (PARAM &value, BloombergLP::bslma::Allocator *basicAllocator, Pair_BslmaIdiomAtEnd) |
|
| Pair_First (const PARAM &value, BloombergLP::bslma::Allocator *basicAllocator, Pair_BslmaIdiomAllocatorArgT) |
|
| Pair_First (PARAM &value, BloombergLP::bslma::Allocator *basicAllocator, Pair_BslmaIdiomAllocatorArgT) |
|
| Pair_First (const Pair_First &)=default |
|
| Pair_First (Pair_First &&)=default |
|
Pair_First & | operator= (Pair_First &&)=default |
|
| ~Pair_First ()=default |
|
template<class T1, class T2>
class bsl::pair< T1, T2 >
The class template pair
provides a pair of public data members, first
and second
, of type T1
and T2
respectively. If either T1
or T2
uses bslma::Allocator
for memory management, then provide an optional bslma::Allocator
argument for each constructor, to be passed through to the constructors of first
and/or second
as appropriate. The interface to this class is identical to the standard std::pair
except for the addition of the allocators. Note that the implementation of this class provides first
and second
through multiple base classes in order to simplify construction of each member when allowing for the various rules for passing allocators in C++11.
See bslstl_pair