Quick Links:

bal | bbl | bdl | bsl

Public Member Functions | Public Attributes

bsl::Pair_First< TYPE > Struct Template Reference
[Component bslstl_pair]

#include <bslstl_pair.h>

List of all members.

Public Member Functions

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 TYPE >::type value)
template<class PARAM >
BSLS_KEYWORD_CONSTEXPR Pair_First (const PARAM &value)
template<class PARAM >
BSLS_KEYWORD_CONSTEXPR Pair_First (PARAM &value)
template<class PARAM >
 Pair_First (const PARAM &value, BloombergLP::bslma::Allocator *basicAllocator, Pair_BslmaIdiomNone)
template<class PARAM >
 Pair_First (PARAM &value, BloombergLP::bslma::Allocator *basicAllocator, Pair_BslmaIdiomNone)
template<class PARAM >
 Pair_First (const PARAM &value, BloombergLP::bslma::Allocator *basicAllocator, Pair_BslmaIdiomAtEnd)
template<class PARAM >
 Pair_First (PARAM &value, BloombergLP::bslma::Allocator *basicAllocator, Pair_BslmaIdiomAtEnd)
template<class PARAM >
 Pair_First (const PARAM &value, BloombergLP::bslma::Allocator *basicAllocator, Pair_BslmaIdiomAllocatorArgT)
template<class PARAM >
 Pair_First (PARAM &value, BloombergLP::bslma::Allocator *basicAllocator, Pair_BslmaIdiomAllocatorArgT)
 Pair_First (const Pair_First &)
 Pair_First (Pair_First &&)
Pair_Firstoperator= (Pair_First &&)
 ~Pair_First ()

Public Attributes

TYPE first

Detailed Description

template<class TYPE>
struct bsl::Pair_First< TYPE >

This component-private class holds the first data member of a pair and constructs it appropriately.

See Component bslstl_pair


Constructor & Destructor Documentation

template<class TYPE>
bsl::Pair_First< TYPE >::Pair_First ( BloombergLP::bslma::Allocator *  basicAllocator,
Pair_BslmaIdiomAtEnd   
)
template<class TYPE>
bsl::Pair_First< TYPE >::Pair_First ( BloombergLP::bslma::Allocator *  basicAllocator,
Pair_BslmaIdiomAllocatorArgT   
)

Construct the first member of a pair, using the specified basicAllocator to supply memory. Note that exactly one of these three constructors is enabled at compile-time for (template parameter) type TYPE based on the following respective criteria: 1) TYPE does not support bslma-style allocators, 2) TYPE takes a bslma-style allocator as the last constructor argument, and 3) TYPE takes a bslma-style allocator as the second constructor argument preceded by bsl::allocator_arg.

template<class TYPE>
template<class PARAM >
bsl::Pair_First< TYPE >::Pair_First ( const PARAM &  value,
BloombergLP::bslma::Allocator *  basicAllocator,
Pair_BslmaIdiomAtEnd   
)
template<class TYPE>
template<class PARAM >
bsl::Pair_First< TYPE >::Pair_First ( PARAM &  value,
BloombergLP::bslma::Allocator *  basicAllocator,
Pair_BslmaIdiomAtEnd   
)
template<class TYPE>
template<class PARAM >
bsl::Pair_First< TYPE >::Pair_First ( const PARAM &  value,
BloombergLP::bslma::Allocator *  basicAllocator,
Pair_BslmaIdiomAllocatorArgT   
)
template<class TYPE>
template<class PARAM >
bsl::Pair_First< TYPE >::Pair_First ( PARAM &  value,
BloombergLP::bslma::Allocator *  basicAllocator,
Pair_BslmaIdiomAllocatorArgT   
)

Construct the first member of a pair from the specified value, using the specified basicAllocator to supply memory. This function (perfectly) forwards value to the constructor of (template parameter) TYPE. Note that exactly one of these three constructors is enabled at compile-time for (template parameter) type TYPE based on the following respective criteria: 1) TYPE does not support bslma-style allocators, 2) TYPE takes a bslma-style allocator as the last constructor argument, and 3) TYPE takes a bslma-style allocator as the second constructor argument preceded by bsl::allocator_arg.


The documentation for this struct was generated from the following file: