Simple-Utility v2.3.1
|
Classes | |
class | adapter |
A adapter class, mimic the behaviour of nullable types. More... | |
struct | adapter_null_t |
Dedicated null type for adapters. More... | |
class | Algorithm |
The core algorithm helper, which executes the held operation when used as the right-hand-side of operator | expressions, when the left-hand-side is a valid nullable type. More... | |
struct | in_place_null_t |
Tag type for adapters, which can be used to disambiguate the construction with just a null-object. More... | |
struct | traits |
The main trait, which may be specialized from. More... | |
struct | traits< adapter< TNull, TAdapted > > |
Specialization for raw pointers. More... | |
struct | traits< std::optional< TArgs... > > |
Specialization for std::optional. More... | |
struct | traits< std::shared_ptr< TArgs... > > |
Specialization for std::shared_ptr. More... | |
struct | traits< std::unique_ptr< TArgs... > > |
Specialization for std::unique_ptr. More... | |
struct | traits< T > |
Specialization for raw pointers. More... | |
struct | traits< unique_handle< T, TDeleteAction > > |
Specialization for unique_handle types. More... | |
Concepts | |
concept | adaptable_with |
Determines whether the given adapted and null type satisfy the requirements to be used within a adapter. | |
concept | input_nullable |
Checks whether a type is an input_nullable. | |
concept | nullable |
Checks whether a type is nullable. | |
Typedefs | |
template<class T > | |
using | adapted_value_t = std::remove_cvref_t< decltype(unwrap_adapted(std::declval< T >()))> |
template<class T > | |
using | value_t = typename traits< std::remove_cvref_t< T > >::value_type |
Convenience alias retrieving the value type of a nullable type. | |
Variables | |
constexpr detail::unwrap_adapted_fn | unwrap_adapted {} |
constexpr auto | and_then |
Passes the value of the input_nullable to the function if it's not equal to its null -object. Returns the null -object otherwise. | |
template<class T > | |
static constexpr auto | null_v {traits<std::remove_cvref_t<T>>::null} |
Convenience constant retrieving the null object of a nullable type. | |
constexpr detail::unwrap_fn | unwrap {} |
Retrieves the value of the given input_nullable. | |
constexpr auto | fwd_value |
Passes the value of the input_nullable to the function if it's not equal to its null -object. | |
constexpr auto | or_else |
Returns the nullable if it's not equal to its ''null''-object. Executes the passed function otherwise. | |
constexpr auto | value_or |
Retrieves the value of a input_nullable if it's not equal to its ''null''-object. Returns the alternative otherwise. | |
|
inlineconstexpr |