qxLib
Classes | Functions
coalesce.inl File Reference

Go to the source code of this file.

Classes

struct  qx::details::select_reference< T >
 
struct  qx::details::select_reference< T & >
 

Functions

template<class return_t , class... args_t>
constexpr return_t qx::coalesce (args_t &&... args)
 Coalesce function, C# a ?? b analogue. More...
 
template<class... args_t>
 qx::requires (same_variadic_args_v< args_t... >) const expr auto coalesce(args_t &&... args)
 Coalesce function, C# a ?? b analogue. More...
 

Detailed Description

Author
Khrapov
Date
27.09.2025

Definition in file coalesce.inl.

Function Documentation

◆ coalesce()

template<class return_t , class... args_t>
constexpr return_t qx::coalesce ( args_t &&...  args)
constexpr

Coalesce function, C# a ?? b analogue.

Different types version. The result will be cast to return_t.

Template Parameters
return_t- type to cast the result to
args_t- parameters types, can be different
Parameters
args- template parameter pack
Return values
-the first valid object or the last one

Definition at line 31 of file coalesce.inl.

◆ requires()

template<class... args_t>
qx::requires ( same_variadic_args_v< args_t... >  ) const &&

Coalesce function, C# a ?? b analogue.

Template Parameters
args_t- parameters types, must be the same
Parameters
args- template parameter pack
Return values
-the first valid object or the last one

Definition at line 57 of file coalesce.inl.