neoGFX
Cross-platform C++ app/game engine
Loading...
Searching...
No Matches
neolib::pair< T1, T2 > Class Template Reference

#include <pair.hpp>

Inheritance diagram for neolib::pair< T1, T2 >:
neolib::i_pair< abstract_t< T1 >, abstract_t< T2 > > neolib::minmax< T1, T2 >

Public Types

typedef abstract_t< T1first_abstract_type
 
typedef abstract_t< T2second_abstract_type
 
typedef T1 first_type
 
typedef T2 second_type
 
- Public Types inherited from neolib::i_pair< abstract_t< T1 >, abstract_t< T2 > >
typedef self_type abstract_type
 
typedef abstract_t< T1 > first_type
 
typedef abstract_t< T2 > second_type
 

Public Member Functions

 pair ()
 
 pair (const abstract_type &aPair)
 
 pair (const concrete_type &aPair)
 
template<typename T3 , typename T4 >
 pair (T3 &&aFirst, T4 &&aSecond)
 
self_typeoperator= (const self_type &aOther)
 
abstract_typeoperator= (const abstract_type &aOther) final
 
const first_typefirst () const final
 
first_typefirst () final
 
const second_typesecond () const final
 
second_typesecond () final
 
self_typeassign (const abstract_type &aOther)
 
constexpr bool operator== (const self_type &that) const noexcept
 
constexpr std::partial_ordering operator<=> (const self_type &that) const noexcept
 
- Public Member Functions inherited from neolib::i_pair< abstract_t< T1 >, abstract_t< T2 > >
constexpr bool operator== (const self_type &that) const noexcept
 
constexpr std::partial_ordering operator<=> (const self_type &that) const noexcept
 

Friends

void swap (self_type &a, self_type &b)
 

Detailed Description

template<typename T1, typename T2>
class neolib::pair< T1, T2 >

Definition at line 45 of file pair.hpp.

Member Typedef Documentation

◆ first_abstract_type

template<typename T1 , typename T2 >
typedef abstract_t<T1> neolib::pair< T1, T2 >::first_abstract_type

Definition at line 51 of file pair.hpp.

◆ first_type

template<typename T1 , typename T2 >
typedef T1 neolib::pair< T1, T2 >::first_type

Definition at line 53 of file pair.hpp.

◆ second_abstract_type

template<typename T1 , typename T2 >
typedef abstract_t<T2> neolib::pair< T1, T2 >::second_abstract_type

Definition at line 52 of file pair.hpp.

◆ second_type

template<typename T1 , typename T2 >
typedef T2 neolib::pair< T1, T2 >::second_type

Definition at line 54 of file pair.hpp.

Constructor & Destructor Documentation

◆ pair() [1/4]

template<typename T1 , typename T2 >
neolib::pair< T1, T2 >::pair ( )
inline

Definition at line 58 of file pair.hpp.

◆ pair() [2/4]

template<typename T1 , typename T2 >
neolib::pair< T1, T2 >::pair ( const abstract_type aPair)
inline

Definition at line 59 of file pair.hpp.

◆ pair() [3/4]

template<typename T1 , typename T2 >
neolib::pair< T1, T2 >::pair ( const concrete_type &  aPair)
inline

Definition at line 60 of file pair.hpp.

◆ pair() [4/4]

template<typename T1 , typename T2 >
template<typename T3 , typename T4 >
neolib::pair< T1, T2 >::pair ( T3 &&  aFirst,
T4 &&  aSecond 
)
inline

Definition at line 62 of file pair.hpp.

Member Function Documentation

◆ assign()

template<typename T1 , typename T2 >
self_type & neolib::pair< T1, T2 >::assign ( const abstract_type aOther)
inline

Definition at line 72 of file pair.hpp.

◆ first() [1/2]

template<typename T1 , typename T2 >
const first_type & neolib::pair< T1, T2 >::first ( ) const
inlinefinalvirtual

Implements neolib::i_pair< abstract_t< T1 >, abstract_t< T2 > >.

Definition at line 67 of file pair.hpp.

◆ first() [2/2]

template<typename T1 , typename T2 >
first_type & neolib::pair< T1, T2 >::first ( )
inlinefinalvirtual

Implements neolib::i_pair< abstract_t< T1 >, abstract_t< T2 > >.

Definition at line 68 of file pair.hpp.

◆ operator<=>()

template<typename T1 , typename T2 >
constexpr std::partial_ordering neolib::pair< T1, T2 >::operator<=> ( const self_type that) const
inlineconstexprnoexcept

Definition at line 94 of file pair.hpp.

◆ operator=() [1/2]

template<typename T1 , typename T2 >
abstract_type & neolib::pair< T1, T2 >::operator= ( const abstract_type aOther)
inlinefinalvirtual

Implements neolib::i_pair< abstract_t< T1 >, abstract_t< T2 > >.

Definition at line 65 of file pair.hpp.

◆ operator=() [2/2]

template<typename T1 , typename T2 >
self_type & neolib::pair< T1, T2 >::operator= ( const self_type aOther)
inline

Definition at line 64 of file pair.hpp.

◆ operator==()

template<typename T1 , typename T2 >
constexpr bool neolib::pair< T1, T2 >::operator== ( const self_type that) const
inlineconstexprnoexcept

Definition at line 90 of file pair.hpp.

◆ second() [1/2]

template<typename T1 , typename T2 >
const second_type & neolib::pair< T1, T2 >::second ( ) const
inlinefinalvirtual

Implements neolib::i_pair< abstract_t< T1 >, abstract_t< T2 > >.

Definition at line 69 of file pair.hpp.

◆ second() [2/2]

template<typename T1 , typename T2 >
second_type & neolib::pair< T1, T2 >::second ( )
inlinefinalvirtual

Implements neolib::i_pair< abstract_t< T1 >, abstract_t< T2 > >.

Definition at line 70 of file pair.hpp.

Friends And Related Symbol Documentation

◆ swap

template<typename T1 , typename T2 >
void swap ( self_type a,
self_type b 
)
friend

Definition at line 83 of file pair.hpp.


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