Iros
 
Loading...
Searching...
No Matches
get_allocator.h
Go to the documentation of this file.
1#pragma once
2
9#include "di/util/as_const.h"
10
11namespace di::execution {
12namespace detail {
14 template<typename T>
15 constexpr auto operator()(T&& value) const -> concepts::Allocator auto {
17 return function::tag_invoke(*this, util::as_const(value));
18 } else {
20 }
21 }
22
23 constexpr auto operator()() const;
24 };
25}
26
28}
29
30namespace di::meta {
31template<typename T>
33}
Definition allocator.h:9
Definition tag_invoke.h:33
Definition read.h:70
Definition bulk.h:30
constexpr auto get_allocator
Definition get_allocator.h:27
constexpr tag_invoke_detail::TagInvokeFn tag_invoke
Definition tag_invoke.h:22
Definition merge_interfaces.h:6
RemoveCV< RemoveReference< T > > RemoveCVRef
Definition core.h:74
meta::RemoveCVRef< decltype(execution::get_allocator(util::declval< T >()))> AllocatorOf
Definition get_allocator.h:32
container::InfallibleAllocator DefaultAllocator
Definition custom.h:39
Definition forwarding_query.h:8
Definition get_allocator.h:13
constexpr auto operator()() const
Definition read.h:83
constexpr auto operator()(T &&value) const -> concepts::Allocator auto
Definition get_allocator.h:15