proxsuite 0.6.7
The Advanced Proximal Optimization Toolbox
|
#include <proxsuite/helpers/tl-optional.hpp>
Public Types | |
using | value_type = T& |
Public Member Functions | |
template<class F > | |
TL_OPTIONAL_11_CONSTEXPR detail::invoke_result_t< F, T & > | and_then (F &&f) & |
template<class F > | |
TL_OPTIONAL_11_CONSTEXPR detail::invoke_result_t< F, T & > | and_then (F &&f) && |
template<class F > | |
constexpr detail::invoke_result_t< F, const T & > | and_then (F &&f) const & |
template<class F > | |
constexpr detail::invoke_result_t< F, const T & > | and_then (F &&f) const && |
template<class F > | |
TL_OPTIONAL_11_CONSTEXPR decltype(detail::optional_map_impl(std::declval< optional & >(), std::declval< F && >())) | map (F &&f) & |
Carries out some operation on the stored object if there is one. | |
template<class F > | |
TL_OPTIONAL_11_CONSTEXPR decltype(detail::optional_map_impl(std::declval< optional && >(), std::declval< F && >())) | map (F &&f) && |
template<class F > | |
constexpr decltype(detail::optional_map_impl(std::declval< const optional & >(), std::declval< F && >())) | map (F &&f) const & |
template<class F > | |
constexpr decltype(detail::optional_map_impl(std::declval< const optional && >(), std::declval< F && >())) | map (F &&f) const && |
template<class F > | |
TL_OPTIONAL_11_CONSTEXPR decltype(detail::optional_map_impl(std::declval< optional & >(), std::declval< F && >())) | transform (F &&f) & |
Carries out some operation on the stored object if there is one. | |
template<class F > | |
TL_OPTIONAL_11_CONSTEXPR decltype(detail::optional_map_impl(std::declval< optional && >(), std::declval< F && >())) | transform (F &&f) && |
template<class F > | |
constexpr decltype(detail::optional_map_impl(std::declval< const optional & >(), std::declval< F && >())) | transform (F &&f) const & |
template<class F > | |
constexpr decltype(detail::optional_map_impl(std::declval< const optional && >(), std::declval< F && >())) | transform (F &&f) const && |
template<class F , detail::enable_if_ret_void< F > * = nullptr> | |
optional< T > TL_OPTIONAL_11_CONSTEXPR | or_else (F &&f) & |
Calls f if the optional is empty. | |
template<class F , detail::disable_if_ret_void< F > * = nullptr> | |
optional< T > TL_OPTIONAL_11_CONSTEXPR | or_else (F &&f) & |
template<class F , detail::enable_if_ret_void< F > * = nullptr> | |
optional< T > | or_else (F &&f) && |
template<class F , detail::disable_if_ret_void< F > * = nullptr> | |
optional< T > TL_OPTIONAL_11_CONSTEXPR | or_else (F &&f) && |
template<class F , detail::enable_if_ret_void< F > * = nullptr> | |
optional< T > | or_else (F &&f) const & |
template<class F , detail::disable_if_ret_void< F > * = nullptr> | |
optional< T > TL_OPTIONAL_11_CONSTEXPR | or_else (F &&f) const & |
template<class F , detail::enable_if_ret_void< F > * = nullptr> | |
optional< T > | or_else (F &&f) const && |
template<class F , detail::disable_if_ret_void< F > * = nullptr> | |
optional< T > | or_else (F &&f) const && |
template<class F , class U > | |
U | map_or (F &&f, U &&u) & |
Maps the stored value with f if there is one, otherwise returns u | |
template<class F , class U > | |
U | map_or (F &&f, U &&u) && |
template<class F , class U > | |
U | map_or (F &&f, U &&u) const & |
template<class F , class U > | |
U | map_or (F &&f, U &&u) const && |
template<class F , class U > | |
detail::invoke_result_t< U > | map_or_else (F &&f, U &&u) & |
template<class F , class U > | |
detail::invoke_result_t< U > | map_or_else (F &&f, U &&u) && |
template<class F , class U > | |
detail::invoke_result_t< U > | map_or_else (F &&f, U &&u) const & |
template<class F , class U > | |
detail::invoke_result_t< U > | map_or_else (F &&f, U &&u) const && |
template<class U > | |
constexpr optional< typename std::decay< U >::type > | conjunction (U &&u) const |
Returns u if *this has a value, otherwise an empty optional. | |
TL_OPTIONAL_11_CONSTEXPR optional | disjunction (const optional &rhs) & |
Returns rhs if *this is empty, otherwise the current value. | |
constexpr optional | disjunction (const optional &rhs) const & |
TL_OPTIONAL_11_CONSTEXPR optional | disjunction (const optional &rhs) && |
constexpr optional | disjunction (const optional &rhs) const && |
TL_OPTIONAL_11_CONSTEXPR optional | disjunction (optional &&rhs) & |
constexpr optional | disjunction (optional &&rhs) const & |
TL_OPTIONAL_11_CONSTEXPR optional | disjunction (optional &&rhs) && |
constexpr optional | disjunction (optional &&rhs) const && |
optional | take () |
Takes the value out of the optional, leaving it empty. | |
constexpr | optional () noexcept |
Constructs an optional that does not contain a value. | |
constexpr | optional (nullopt_t) noexcept |
TL_OPTIONAL_11_CONSTEXPR | optional (const optional &rhs) noexcept=default |
TL_OPTIONAL_11_CONSTEXPR | optional (optional &&rhs)=default |
template<class U = T, detail::enable_if_t< !detail::is_optional< detail::decay_t< U > >::value > * = nullptr> | |
constexpr | optional (U &&u) noexcept |
Constructs the stored value with u . | |
template<class U > | |
constexpr | optional (const optional< U > &rhs) noexcept |
~optional ()=default | |
No-op. | |
optional & | operator= (nullopt_t) noexcept |
optional & | operator= (const optional &rhs)=default |
template<class U = T, detail::enable_if_t< !detail::is_optional< detail::decay_t< U > >::value > * = nullptr> | |
optional & | operator= (U &&u) |
Rebinds this optional to u . | |
template<class U > | |
optional & | operator= (const optional< U > &rhs) noexcept |
template<class U = T, detail::enable_if_t< !detail::is_optional< detail::decay_t< U > >::value > * = nullptr> | |
optional & | emplace (U &&u) noexcept |
Rebinds this optional to u . | |
void | swap (optional &rhs) noexcept |
constexpr const T * | operator-> () const noexcept |
Returns a pointer to the stored value. | |
TL_OPTIONAL_11_CONSTEXPR T * | operator-> () noexcept |
TL_OPTIONAL_11_CONSTEXPR T & | operator* () noexcept |
Returns the stored value. | |
constexpr const T & | operator* () const noexcept |
constexpr bool | has_value () const noexcept |
constexpr | operator bool () const noexcept |
TL_OPTIONAL_11_CONSTEXPR T & | value () |
TL_OPTIONAL_11_CONSTEXPR const T & | value () const |
template<class U > | |
constexpr T | value_or (U &&u) const &noexcept |
Returns the stored value if there is one, otherwise returns u | |
template<class U > | |
TL_OPTIONAL_11_CONSTEXPR T | value_or (U &&u) &&noexcept |
\group value_or | |
void | reset () noexcept |
Destroys the stored value if one exists, making the optional empty. | |
Specialization for when T
is a reference. optional<T&>
acts similarly to a T*
, but provides more operations and shows intent more clearly.
Definition at line 1874 of file tl-optional.hpp.
using tl::optional< T & >::value_type = T& |
Definition at line 2304 of file tl-optional.hpp.
|
inlineconstexprnoexcept |
Constructs an optional that does not contain a value.
Definition at line 2307 of file tl-optional.hpp.
|
inlineconstexprnoexcept |
Definition at line 2312 of file tl-optional.hpp.
|
defaultnoexcept |
Copy constructor
If rhs
contains a value, the stored value is direct-initialized with it. Otherwise, the constructed optional is empty.
|
default |
Move constructor
If rhs
contains a value, the stored value is direct-initialized with it. Otherwise, the constructed optional is empty.
|
inlineconstexprnoexcept |
Constructs the stored value with u
.
Definition at line 2333 of file tl-optional.hpp.
|
inlineexplicitconstexprnoexcept |
Definition at line 2340 of file tl-optional.hpp.
|
default |
No-op.
|
inline |
Carries out some operation which returns an optional on the stored object if there is one.
Definition at line 1935 of file tl-optional.hpp.
|
inline |
Definition at line 1946 of file tl-optional.hpp.
|
inlineconstexpr |
Definition at line 1957 of file tl-optional.hpp.
|
inlineconstexpr |
Definition at line 1969 of file tl-optional.hpp.
|
inline |
Carries out some operation on the stored object if there is one.
Definition at line 2013 of file tl-optional.hpp.
|
inline |
Definition at line 2022 of file tl-optional.hpp.
|
inlineconstexpr |
Definition at line 2030 of file tl-optional.hpp.
|
inlineconstexpr |
Definition at line 2039 of file tl-optional.hpp.
|
inline |
Carries out some operation on the stored object if there is one.
Definition at line 2078 of file tl-optional.hpp.
|
inline |
\group map \synopsis template <class F> auto transform(F &&f) &&;
Definition at line 2089 of file tl-optional.hpp.
|
inlineconstexpr |
Definition at line 2097 of file tl-optional.hpp.
|
inlineconstexpr |
Definition at line 2106 of file tl-optional.hpp.
|
inline |
Calls f
if the optional is empty.
Definition at line 2115 of file tl-optional.hpp.
|
inline |
Definition at line 2125 of file tl-optional.hpp.
|
inline |
Definition at line 2131 of file tl-optional.hpp.
|
inline |
Definition at line 2141 of file tl-optional.hpp.
|
inline |
Definition at line 2147 of file tl-optional.hpp.
|
inline |
Definition at line 2157 of file tl-optional.hpp.
|
inline |
Definition at line 2164 of file tl-optional.hpp.
|
inline |
Definition at line 2174 of file tl-optional.hpp.
|
inline |
Maps the stored value with f
if there is one, otherwise returns u
Definition at line 2182 of file tl-optional.hpp.
|
inline |
Definition at line 2189 of file tl-optional.hpp.
|
inline |
Definition at line 2196 of file tl-optional.hpp.
|
inline |
Definition at line 2204 of file tl-optional.hpp.
|
inline |
Maps the stored value with f
if there is one, otherwise calls u
and returns the result.
Definition at line 2214 of file tl-optional.hpp.
|
inline |
Definition at line 2221 of file tl-optional.hpp.
|
inline |
Definition at line 2228 of file tl-optional.hpp.
|
inline |
Definition at line 2236 of file tl-optional.hpp.
|
inlineconstexpr |
Returns u
if *this
has a value, otherwise an empty optional.
Definition at line 2245 of file tl-optional.hpp.
|
inline |
Returns rhs
if *this
is empty, otherwise the current value.
Definition at line 2252 of file tl-optional.hpp.
|
inlineconstexpr |
Definition at line 2257 of file tl-optional.hpp.
|
inline |
Definition at line 2262 of file tl-optional.hpp.
|
inlineconstexpr |
Definition at line 2268 of file tl-optional.hpp.
|
inline |
Definition at line 2274 of file tl-optional.hpp.
|
inlineconstexpr |
Definition at line 2279 of file tl-optional.hpp.
|
inline |
Definition at line 2284 of file tl-optional.hpp.
|
inlineconstexpr |
Definition at line 2290 of file tl-optional.hpp.
|
inline |
Takes the value out of the optional, leaving it empty.
Definition at line 2297 of file tl-optional.hpp.
|
inlinenoexcept |
Assignment to empty.
Destroys the current value if there is one.
Definition at line 2351 of file tl-optional.hpp.
|
default |
Copy assignment.
Rebinds this optional to the referee of rhs
if there is one. Otherwise resets the stored value in *this
.
|
inline |
Rebinds this optional to u
.
Definition at line 2367 of file tl-optional.hpp.
|
inlinenoexcept |
Converting copy assignment operator.
Rebinds this optional to the referee of rhs
if there is one. Otherwise resets the stored value in *this
.
Definition at line 2379 of file tl-optional.hpp.
|
inlinenoexcept |
Rebinds this optional to u
.
Definition at line 2389 of file tl-optional.hpp.
|
inlinenoexcept |
Definition at line 2394 of file tl-optional.hpp.
|
inlineconstexprnoexcept |
Returns a pointer to the stored value.
Definition at line 2397 of file tl-optional.hpp.
|
inlinenoexcept |
Definition at line 2399 of file tl-optional.hpp.
|
inlinenoexcept |
Returns the stored value.
Definition at line 2402 of file tl-optional.hpp.
|
inlineconstexprnoexcept |
Definition at line 2404 of file tl-optional.hpp.
|
inlineconstexprnoexcept |
Definition at line 2406 of file tl-optional.hpp.
|
inlineexplicitconstexprnoexcept |
Definition at line 2408 of file tl-optional.hpp.
|
inline |
Returns the contained value if there is one, otherwise throws bad_optional_access
Definition at line 2415 of file tl-optional.hpp.
|
inline |
Definition at line 2421 of file tl-optional.hpp.
|
inlineconstexprnoexcept |
Returns the stored value if there is one, otherwise returns u
Definition at line 2430 of file tl-optional.hpp.
|
inlinenoexcept |
\group value_or
Definition at line 2440 of file tl-optional.hpp.
|
inlinenoexcept |
Destroys the stored value if one exists, making the optional empty.
Definition at line 2449 of file tl-optional.hpp.