ORIGINAL
Loading...
Searching...
No Matches
couple.h File Reference

Generic pair container implementation. More...

#include "printable.h"
#include "comparable.h"
#include "types.h"
#include "error.h"
Include dependency graph for couple.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  original::couple< F_TYPE, S_TYPE >
 Container for two heterogeneous elements. More...
 
struct  std::tuple_size< original::couple< F, S > >
 Specialization of tuple_size for couple to enable structured bindings. More...
 
struct  std::tuple_element< I, original::couple< F, S > >
 Specialization of tuple_element for couple to enable structured bindings. More...
 

Namespaces

namespace  original
 Main namespace for the project Original.
 

Functions

template<std::size_t I, typename F, typename S>
constexpr auto & std::get (original::couple< F, S > &c) noexcept
 Structured binding support - get for non-const lvalue reference.
 
template<std::size_t I, typename F, typename S>
constexpr const auto & std::get (const original::couple< F, S > &c) noexcept
 Structured binding support - get for const lvalue reference.
 
template<std::size_t I, typename F, typename S>
constexpr auto && std::get (original::couple< F, S > &&c) noexcept
 Structured binding support - get for rvalue reference.
 

Detailed Description

Generic pair container implementation.

Provides a template class for storing two elements of different types with printing capabilities. Supports equality comparison, formatted output, move semantics, and structured binding support.

Function Documentation

◆ get() [1/3]

template<std::size_t I, typename F, typename S>
const auto & std::get ( const original::couple< F, S > & c)
constexprnoexcept

Structured binding support - get for const lvalue reference.

Template Parameters
IIndex of element (0 or 1)
FType of first element
SType of second element
Parameters
ccouple to get element from
Returns
Const reference to the requested element
Note
noexcept qualified

◆ get() [2/3]

template<std::size_t I, typename F, typename S>
auto && std::get ( original::couple< F, S > && c)
constexprnoexcept

Structured binding support - get for rvalue reference.

Template Parameters
IIndex of element (0 or 1)
FType of first element
SType of second element
Parameters
ccouple to get element from
Returns
Rvalue reference to the requested element
Note
noexcept qualified

◆ get() [3/3]

template<std::size_t I, typename F, typename S>
auto & std::get ( original::couple< F, S > & c)
constexprnoexcept

Structured binding support - get for non-const lvalue reference.

Template Parameters
IIndex of element (0 or 1)
FType of first element
SType of second element
Parameters
ccouple to get element from
Returns
Reference to the requested element
Note
noexcept qualified
Examples
D:/FrozenLemonTee/Arbeit/PracticeProject/original/src/core/tuple.h.