Open 3D Engine AzCore API Reference  24.09
O3DE is an open-source, fully-featured, high-fidelity, modular 3D engine for building games and simulations, available to every industry.
AZStd::pair< T1, T2 > Struct Template Reference

Public Types

using first_type = T1
 
using second_type = T2
 

Public Member Functions

constexpr pair ()
 Construct from defaults.
 
constexpr pair (const T1 &value1)
 Constructs only the first element, default the second.
 
constexpr pair (const T1 &value1, const T2 &value2)
 Construct from specified values.
 
constexpr pair (const pair &rhs)
 Copy constructor.
 
constexpr pair (pair &&rhs)
 Move constructor.
 
template<class U1 = T1, class U2 = T2, class = enable_if_t<is_constructible_v<T1, U1> && is_constructible_v<T2, U2>>>
constexpr pair (U1 &&value1, U2 &&value2)
 
template<class P , class = enable_if_t<conjunction_v< bool_constant<pair_like<P>> , bool_constant<!Internal::is_subrange<P>> , bool_constant<Internal::is_pair_like_constructible_for_t<pair, P>> >>>
constexpr pair (P &&pairLike)
 
template<class U1 , class U2 , class = enable_if_t<is_constructible_v<T1, const U1&> && is_constructible_v<T2, const U2&>>>
constexpr pair (const pair< U1, U2 > &rhs)
 
template<class U1 , class U2 , class = enable_if_t<is_constructible_v<T1, U1> && is_constructible_v<T2, U2>>>
constexpr pair (pair< U1, U2 > &&rhs)
 
template<class U1 , class U2 , class = enable_if_t<is_constructible_v<T1, U1&> && is_constructible_v<T2, U2&>>>
constexpr pair (pair< U1, U2 > &rhs)
 
template<class U1 , class U2 , class = enable_if_t<is_constructible_v<T1, U1> && is_constructible_v<T2, U2>>>
constexpr pair (const pair< U1, U2 > &&rhs)
 
template<template< class... > class TupleType, class... Args1, class... Args2>
constexpr pair (piecewise_construct_t, TupleType< Args1... > firstArgs, TupleType< Args2... > secondArgs)
 
template<template< class... > class TupleType, class... Args1, class... Args2, size_t... I1, size_t... I2>
constexpr pair (piecewise_construct_t, TupleType< Args1... > &firstArgs, TupleType< Args2... > &secondArgs, index_sequence< I1... >, index_sequence< I2... >)
 
constexpr pairoperator= (const pair &rhs)
 
constexpr const pairoperator= (const pair &rhs) const
 
constexpr pairoperator= (pair &&rhs)
 
constexpr const pairoperator= (pair &&rhs) const
 
template<class U1 , class U2 >
constexpr auto operator= (const pair< U1, U2 > &rhs) -> enable_if_t< is_assignable_v< T1 &, const U1 & > &&is_assignable_v< T2 &, const U2 & >, pair & >
 
template<class U1 , class U2 >
constexpr auto operator= (const pair< U1, U2 > &rhs) const -> enable_if_t< is_assignable_v< const T1 &, const U1 & > &&is_assignable_v< const T2 &, const U2 & >, const pair & >
 
template<class U1 , class U2 >
constexpr auto operator= (pair< U1, U2 > &&rhs) -> enable_if_t< is_assignable_v< T1 &, U1 > &&is_assignable_v< T2 &, U2 >, pair & >
 
template<class U1 , class U2 >
constexpr auto operator= (pair< U1, U2 > &&rhs) const -> enable_if_t< is_assignable_v< const T1 &, U1 > &&is_assignable_v< const T2 &, U2 >, const pair & >
 
template<class P >
constexpr auto operator= (P &&pairLike) -> enable_if_t< conjunction_v< bool_constant< pair_like< P >>, bool_constant<!AZStd::same_as< pair, remove_cvref_t< P >>>, bool_constant<!Internal::is_subrange< P >>, bool_constant< Internal::is_pair_like_assignable_for_t< pair, P >>>, pair & >
 
template<class P >
constexpr auto operator= (P &&pairLike) const -> enable_if_t< conjunction_v< bool_constant< pair_like< P >>, bool_constant<!AZStd::same_as< pair, remove_cvref_t< P >>>, bool_constant<!Internal::is_subrange< P >>, bool_constant< Internal::is_pair_like_assignable_for_t< const pair, P >>>, const pair & >
 
constexpr auto swap (pair &rhs)
 
constexpr auto swap (const pair &rhs) const
 
template<template< class... > class TupleType, class... Args1, class... Args2, size_t... I1, size_t... I2>
constexpr pair (piecewise_construct_t, [[maybe_unused]] TupleType< Args1... > &firstArgs, [[maybe_unused]] TupleType< Args2... > &secondArgs, AZStd::index_sequence< I1... >, AZStd::index_sequence< I2... >)
 

Public Attributes

T1 first
 
T2 second
 

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