|
template<typename F, typename VT = meta::Decay<F>>
requires (!concepts::SameAs<meta::RemoveCVRef<F>, Function> && !concepts::InstanceOf<meta::RemoveCVRef<F>, InPlaceType> && Function::template is_callable_from<VT>) |
constexpr auto | operator() (F &&object) const -> meta::AllocatorResult< Alloc, Function > |
|
template<auto f, typename T, typename VT = meta::Decay<T>>
requires (concepts::ConstructibleFrom<VT, T> && Function::template is_callable_as_if_from<f, VT>) |
constexpr auto | operator() (Constexpr< f >, T &&object) const -> meta::AllocatorResult< Alloc, Function > |
|
template<typename T, typename... Ts, typename VT = meta::Decay<T>>
requires (concepts::ConstructibleFrom<T, Ts...> && Function::template is_callable_from<VT>) |
constexpr auto | operator() (InPlaceType< T >, Ts &&... args) const -> meta::AllocatorResult< Alloc, Function > |
|
template<typename T, typename U, typename... Ts, typename VT = meta::Decay<T>>
requires (concepts::ConstructibleFrom<T, std::initializer_list<U>&, Ts...> && Function::template is_callable_from<VT>) |
constexpr auto | operator() (InPlaceType< T >, std::initializer_list< U > list, Ts &&... args) const -> meta::AllocatorResult< Alloc, Function > |
|
template<auto f, typename T, typename... Ts, typename VT = meta::Decay<T>>
requires (concepts::ConstructibleFrom<T, Ts...> && Function::template is_callable_from<VT>) |
constexpr auto | operator() (Constexpr< f >, InPlaceType< T >, Ts &&... args) const -> meta::AllocatorResult< Alloc, Function > |
|
template<auto f, typename T, typename U, typename... Ts, typename VT = meta::Decay<T>>
requires (concepts::ConstructibleFrom<T, std::initializer_list<U>&, Ts...> && Function::template is_callable_from<VT> && StoredInline<VT>) |
constexpr auto | operator() (Constexpr< f >, InPlaceType< T >, std::initializer_list< U > list, Ts &&... args) const -> meta::AllocatorResult< Alloc, Function > |
|