fennec
Loading...
Searching...
No Matches
utility.h File Reference

Utility More...

Go to the source code of this file.

Detailed Description

Author
Medusa Slockbower

Functions

template<typename T >
constexpr T && fennec::forward (remove_reference_t< T > &x) noexcept
 forwards reference types to extend their lifetime
 
template<typename T >
constexpr remove_reference_t< T > && fennec::move (T &&x) noexcept
 produces an x-value type to indicate x may be "moved"
 
template<typename T >
constexpr const remove_reference_t< T > & fennec::copy (T &&x) noexcept
 produces an r-value type to indicate x may be "copied"
 
template<typename T >
requires is_fundamental_v<T>
constexpr void fennec::swap (T &x, T &y) noexcept
 Swaps x and y.
 
template<typename T >
constexpr void fennec::swap (T &x, T &y) noexcept
 Swaps x and y without invoking destructor.
 

Function Documentation

◆ forward()

template<typename T >
constexpr T && fennec::forward ( remove_reference_t< T > &  x)
constexprnoexcept

forwards reference types to extend their lifetime

Template Parameters
Tbase type of the object
Parameters
xreference to the object
Returns

◆ move()

template<typename T >
constexpr remove_reference_t< T > && fennec::move ( T &&  x)
constexprnoexcept

produces an x-value type to indicate x may be "moved"

Template Parameters
Tbase type of the object
Parameters
xobject to be moved
Returns
static_cast<remove_reference_t<T>&&>(x)

◆ copy()

template<typename T >
constexpr const remove_reference_t< T > & fennec::copy ( T &&  x)
constexprnoexcept

produces an r-value type to indicate x may be "copied"

Template Parameters
Tbase type of the object
Parameters
xobject to be copied
Returns
const r-value

◆ swap() [1/2]

template<typename T >
requires is_fundamental_v<T>
constexpr void fennec::swap ( T &  x,
T &  y 
)
constexprnoexcept
Template Parameters
Tthe fundamental type
Parameters
xfirst value
ysecond value

◆ swap() [2/2]

template<typename T >
constexpr void fennec::swap ( T &  x,
T &  y 
)
constexprnoexcept
Template Parameters
Tthe type
Parameters
xfirst value
ysecond value