#include <qx/algo/predicates.h>
#include <qx/meta/type_traits.h>
#include <optional>
#include <type_traits>
#include <qx/coalesce.inl>
Go to the source code of this file.
|
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...
|
|
- Author
- Khrapov
- Date
- 10.06.2025
- Copyright
- © Nick Khrapov, 2025. All right reserved.
Definition in file coalesce.h.
◆ 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.