\exclude More...
Namespaces | |
swap_adl_tests | |
Typedefs | |
template<bool B, class T , class F > | |
using | conditional_t = typename std::conditional< B, T, F >::type |
template<class T > | |
using | decay_t = typename std::decay< T >::type |
template<class T , class... U> | |
using | disable_if_ret_void = enable_if_t<!returns_void< T &&, U... >::value > |
template<class T , class U > | |
using | enable_assign_forward = detail::enable_if_t< !std::is_same< optional< T >, detail::decay_t< U > >::value &&!detail::conjunction< std::is_scalar< T >, std::is_same< T, detail::decay_t< U > >>::value &&std::is_constructible< T, U >::value &&std::is_assignable< T &, U >::value > |
template<class T , class U , class Other > | |
using | enable_assign_from_other = detail::enable_if_t< std::is_constructible< T, Other >::value &&std::is_assignable< T &, Other >::value &&!std::is_constructible< T, optional< U > & >::value &&!std::is_constructible< T, optional< U > && >::value &&!std::is_constructible< T, const optional< U > & >::value &&!std::is_constructible< T, const optional< U > && >::value &&!std::is_convertible< optional< U > &, T >::value &&!std::is_convertible< optional< U > &&, T >::value &&!std::is_convertible< const optional< U > &, T >::value &&!std::is_convertible< const optional< U > &&, T >::value &&!std::is_assignable< T &, optional< U > & >::value &&!std::is_assignable< T &, optional< U > && >::value &&!std::is_assignable< T &, const optional< U > & >::value &&!std::is_assignable< T &, const optional< U > && >::value > |
template<class T , class U > | |
using | enable_forward_value = detail::enable_if_t< std::is_constructible< T, U && >::value &&!std::is_same< detail::decay_t< U >, in_place_t >::value &&!std::is_same< optional< T >, detail::decay_t< U > >::value > |
template<class T , class U , class Other > | |
using | enable_from_other = detail::enable_if_t< std::is_constructible< T, Other >::value &&!std::is_constructible< T, optional< U > & >::value &&!std::is_constructible< T, optional< U > && >::value &&!std::is_constructible< T, const optional< U > & >::value &&!std::is_constructible< T, const optional< U > && >::value &&!std::is_convertible< optional< U > &, T >::value &&!std::is_convertible< optional< U > &&, T >::value &&!std::is_convertible< const optional< U > &, T >::value &&!std::is_convertible< const optional< U > &&, T >::value > |
template<class T , class... U> | |
using | enable_if_ret_void = enable_if_t< returns_void< T &&, U... >::value > |
template<bool E, class T = void> | |
using | enable_if_t = typename std::enable_if< E, T >::type |
template<class U > | |
using | fixup_void = conditional_t< std::is_void< U >::value, monostate, U > |
template<class F , class U , class = invoke_result_t<F, U>> | |
using | get_map_return = optional< fixup_void< invoke_result_t< F, U > >> |
template<class F , class... Us> | |
using | invoke_result = invoke_result_impl< F, void, Us... > |
template<class F , class... Us> | |
using | invoke_result_t = typename invoke_result< F, Us... >::type |
template<class T > | |
using | is_optional = is_optional_impl< decay_t< T > > |
template<class T > | |
using | remove_const_t = typename std::remove_const< T >::type |
template<class T > | |
using | remove_reference_t = typename std::remove_reference< T >::type |
template<class F , class... U> | |
using | returns_void = returns_void_impl< F, void, U... > |
template<class... Ts> | |
using | void_t = typename voider< Ts... >::type |
Functions | |
template<typename Fn , typename... Args, typename = enable_if_t<!std::is_member_pointer<decay_t<Fn>>::value>> | |
constexpr auto | invoke (Fn &&f, Args &&... args) noexcept(noexcept(std::forward< Fn >(f)(std::forward< Args >(args)...))) -> decltype(std::forward< Fn >(f)(std::forward< Args >(args)...)) |
template<typename Fn , typename... Args, typename = enable_if_t<std::is_member_pointer<decay_t<Fn>>::value>, int = 0> | |
constexpr auto | invoke (Fn &&f, Args &&... args) noexcept(noexcept(std::mem_fn(f)(std::forward< Args >(args)...))) -> decltype(std::mem_fn(f)(std::forward< Args >(args)...)) |
template<class Opt , class F , class Ret = decltype(detail::invoke(std::declval<F>(), *std::declval<Opt>())), detail::enable_if_t< std::is_void< Ret >::value > * = nullptr> | |
auto | optional_map_impl (Opt &&opt, F &&f) -> optional< monostate > |
template<class Opt , class F , class Ret = decltype(detail::invoke(std::declval<F>(), *std::declval<Opt>())), detail::enable_if_t<!std::is_void< Ret >::value > * = nullptr> | |
constexpr auto | optional_map_impl (Opt &&opt, F &&f) -> optional< Ret > |
\exclude
using tl::detail::conditional_t = typedef typename std::conditional<B, T, F>::type |
Definition at line 133 of file 3rdparty/tl/optional.hpp.
using tl::detail::decay_t = typedef typename std::decay<T>::type |
Definition at line 129 of file 3rdparty/tl/optional.hpp.
using tl::detail::disable_if_ret_void = typedef enable_if_t<!returns_void<T &&, U...>::value> |
Definition at line 310 of file 3rdparty/tl/optional.hpp.
using tl::detail::enable_assign_forward = typedef detail::enable_if_t< !std::is_same<optional<T>, detail::decay_t<U> >::value && !detail::conjunction<std::is_scalar<T>, std::is_same<T, detail::decay_t<U> >>::value && std::is_constructible<T, U>::value && std::is_assignable<T &, U>::value> |
Definition at line 335 of file 3rdparty/tl/optional.hpp.
using tl::detail::enable_assign_from_other = typedef detail::enable_if_t< std::is_constructible<T, Other>::value && std::is_assignable<T &, Other>::value && !std::is_constructible<T, optional<U> &>::value && !std::is_constructible<T, optional<U> &&>::value && !std::is_constructible<T, const optional<U> &>::value && !std::is_constructible<T, const optional<U> &&>::value && !std::is_convertible<optional<U> &, T>::value && !std::is_convertible<optional<U> &&, T>::value && !std::is_convertible<const optional<U> &, T>::value && !std::is_convertible<const optional<U> &&, T>::value && !std::is_assignable<T &, optional<U> &>::value && !std::is_assignable<T &, optional<U> &&>::value && !std::is_assignable<T &, const optional<U> &>::value && !std::is_assignable<T &, const optional<U> &&>::value> |
Definition at line 352 of file 3rdparty/tl/optional.hpp.
using tl::detail::enable_forward_value = typedef detail::enable_if_t<std::is_constructible<T, U &&>::value && !std::is_same<detail::decay_t<U>, in_place_t>::value && !std::is_same<optional<T>, detail::decay_t<U> >::value> |
Definition at line 316 of file 3rdparty/tl/optional.hpp.
using tl::detail::enable_from_other = typedef detail::enable_if_t< std::is_constructible<T, Other>::value && !std::is_constructible<T, optional<U> &>::value && !std::is_constructible<T, optional<U> &&>::value && !std::is_constructible<T, const optional<U> &>::value && !std::is_constructible<T, const optional<U> &&>::value && !std::is_convertible<optional<U> &, T>::value && !std::is_convertible<optional<U> &&, T>::value && !std::is_convertible<const optional<U> &, T>::value && !std::is_convertible<const optional<U> &&, T>::value> |
Definition at line 328 of file 3rdparty/tl/optional.hpp.
using tl::detail::enable_if_ret_void = typedef enable_if_t<returns_void<T &&, U...>::value> |
Definition at line 307 of file 3rdparty/tl/optional.hpp.
using tl::detail::enable_if_t = typedef typename std::enable_if<E, T>::type |
Definition at line 131 of file 3rdparty/tl/optional.hpp.
using tl::detail::fixup_void = typedef conditional_t<std::is_void<U>::value, monostate, U> |
Definition at line 293 of file 3rdparty/tl/optional.hpp.
using tl::detail::get_map_return = typedef optional<fixup_void<invoke_result_t<F, U> >> |
Definition at line 296 of file 3rdparty/tl/optional.hpp.
using tl::detail::invoke_result = typedef invoke_result_impl<F, void, Us...> |
Definition at line 203 of file 3rdparty/tl/optional.hpp.
using tl::detail::invoke_result_t = typedef typename invoke_result<F, Us...>::type |
Definition at line 206 of file 3rdparty/tl/optional.hpp.
using tl::detail::is_optional = typedef is_optional_impl<decay_t<T> > |
Definition at line 289 of file 3rdparty/tl/optional.hpp.
using tl::detail::remove_const_t = typedef typename std::remove_const<T>::type |
Definition at line 126 of file 3rdparty/tl/optional.hpp.
using tl::detail::remove_reference_t = typedef typename std::remove_reference<T>::type |
Definition at line 128 of file 3rdparty/tl/optional.hpp.
using tl::detail::returns_void = typedef returns_void_impl<F, void, U...> |
Definition at line 304 of file 3rdparty/tl/optional.hpp.
using tl::detail::void_t = typedef typename voider<Ts...>::type |
Definition at line 284 of file 3rdparty/tl/optional.hpp.
|
constexprnoexcept |
Definition at line 186 of file 3rdparty/tl/optional.hpp.
|
constexprnoexcept |
Definition at line 178 of file 3rdparty/tl/optional.hpp.
auto tl::detail::optional_map_impl | ( | Opt && | opt, |
F && | f | ||
) | -> optional<monostate> |
Definition at line 1547 of file 3rdparty/tl/optional.hpp.
|
constexpr |
Definition at line 1536 of file 3rdparty/tl/optional.hpp.