tetl 0.1.0
Embedded Template Library
Loading...
Searching...
No Matches
pair.hpp File Reference

Go to the source code of this file.

Classes

struct  basic_common_reference< pair< T1, T2 >, pair< U1, U2 >, TQual, UQual >
 
struct  pair< T1, T2 >
 etl::pair is a class template that provides a way to store two heterogeneous objects as a single unit. A pair is a specific case of a etl::tuple with two elements. If neither T1 nor T2 is a possibly cv-qualified class type with non-trivial destructor, or array thereof, the destructor of pair is trivial. More...
 
struct  tuple_element< I, pair< T1, T2 > >
 The partial specializations of tuple_element for pairs provide compile-time access to the types of the pair's elements, using tuple-like syntax. The program is ill-formed if I >= 2. More...
 
struct  tuple_size< pair< T1, T2 > >
 The partial specialization of tuple_size for pairs provides a compile-time way to obtain the number of elements in a pair, which is always 2, using tuple-like syntax. More...
 

Namespaces

namespace  etl
 

Functions

template<size_t I, typename T1, typename T2>
constexpr auto get (pair< T1, T2 > &&p) noexcept -> tuple_element_t< I, pair< T1, T2 > > &&
 Extracts an element from the pair using tuple-like interface.
 
template<size_t I, typename T1, typename T2>
constexpr auto get (pair< T1, T2 > &p) noexcept -> tuple_element_t< I, pair< T1, T2 > > &
 Extracts an element from the pair using tuple-like interface.
 
template<size_t I, typename T1, typename T2>
constexpr auto get (pair< T1, T2 > const &&p) noexcept -> tuple_element_t< I, pair< T1, T2 > > const &&
 Extracts an element from the pair using tuple-like interface.
 
template<size_t I, typename T1, typename T2>
constexpr auto get (pair< T1, T2 > const &p) noexcept -> tuple_element_t< I, pair< T1, T2 > > const &
 Extracts an element from the pair using tuple-like interface.
 
template<typename T1, typename T2>
constexpr auto make_pair (T1 &&t, T2 &&u) -> pair< decay_t< T1 >, decay_t< T2 > >
 Creates a etl::pair object, deducing the target type from the types of arguments.
 
template<typename T1, typename T2>
constexpr auto operator< (pair< T1, T2 > const &lhs, pair< T1, T2 > const &rhs) -> bool
 Compares lhs and rhs lexicographically by operator<, that is, compares the first elements and only if they are equivalent, compares the second elements.
 
template<typename T1, typename T2>
constexpr auto operator<= (pair< T1, T2 > const &lhs, pair< T1, T2 > const &rhs) -> bool
 Compares lhs and rhs lexicographically by operator<, that is, compares the first elements and only if they are equivalent, compares the second elements.
 
template<typename T1, typename T2>
constexpr auto operator== (pair< T1, T2 > const &lhs, pair< T1, T2 > const &rhs) -> bool
 Tests if both elements of lhs and rhs are equal, that is, compares lhs.first with rhs.first and lhs.second with rhs.second.
 
template<typename T1, typename T2>
constexpr auto operator> (pair< T1, T2 > const &lhs, pair< T1, T2 > const &rhs) -> bool
 Compares lhs and rhs lexicographically by operator<, that is, compares the first elements and only if they are equivalent, compares the second elements.
 
template<typename T1, typename T2>
constexpr auto operator>= (pair< T1, T2 > const &lhs, pair< T1, T2 > const &rhs) -> bool
 Compares lhs and rhs lexicographically by operator<, that is, compares the first elements and only if they are equivalent, compares the second elements.
 
template<typename T1, typename T2>
 pair (T1, T2) -> pair< T1, T2 >
 
template<typename T1, typename T2>
constexpr auto swap (pair< T1, T2 > &lhs, pair< T1, T2 > &rhs) noexcept(noexcept(lhs.swap(rhs))) -> void
 Swaps the contents of x and y. Equivalent to x.swap(y).
 

Variables

template<typename T, typename U>
constexpr auto is_tuple_like< etl::pair< T, U > > = true